c32tob: prefer https: URLs
[gnulib.git] / ChangeLog
blob63f579963e12ab2f7ed5702e2292627eea23a2a3
1 2020-01-03  Bruno Haible  <bruno@clisp.org>
3         mbrtoc32: Add tests.
4         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
5         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
6         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
7         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
8         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
9         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
10         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
11         * tests/test-mbrtoc32-w32-1.sh: New file, based on
12         tests/test-mbrtowc-w32-1.sh.
13         * tests/test-mbrtoc32-w32-2.sh: New file, based on
14         tests/test-mbrtowc-w32-2.sh.
15         * tests/test-mbrtoc32-w32-3.sh: New file, based on
16         tests/test-mbrtowc-w32-3.sh.
17         * tests/test-mbrtoc32-w32-4.sh: New file, based on
18         tests/test-mbrtowc-w32-4.sh.
19         * tests/test-mbrtoc32-w32-5.sh: New file, based on
20         tests/test-mbrtowc-w32-5.sh.
21         * tests/test-mbrtoc32-w32-6.sh: New file, based on
22         tests/test-mbrtowc-w32-6.sh.
23         * tests/test-mbrtoc32-w32-7.sh: New file, based on
24         tests/test-mbrtowc-w32-7.sh.
25         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
27         mbrtoc32: New module.
28         * lib/uchar.in.h (mbrtoc32): New declaration.
29         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
30         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
31         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
32         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
33         REPLACE_MBRTOC32.
34         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
35         HAVE_MBRTOC32, REPLACE_MBRTOC32.
36         * modules/mbrtoc32: New file, based on modules/mbrtowc.
37         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
38         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
39         $(LIB_MBRTOWC).
40         * doc/posix-functions/mbrtoc32.texi: Document the new module.
41         * doc/posix-functions/mbrtowc.texi: Mention the new module.
43 2020-01-03  Bruno Haible  <bruno@clisp.org>
45         mbrtowc: Refactor to share code with mbrtoc32.
46         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
47         * lib/mbrtowc-impl-utf8.h: Likewise.
48         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
49         mbrtowc-impl.h.
50         * modules/mbrtowc (Files): Add the new files.
52 2020-01-03  Jim Meyering  <meyering@fb.com>
54         doc: fix time.texi wording
55         * doc/posix-headers/time.texi (time.h): Typo.
57 2020-01-03  Bruno Haible  <bruno@clisp.org>
59         mbrtowc: Refactor locale charset dispatching.
60         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
61         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
62         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
63         localcharset.h, streq.h.
64         (enc_t): Remove type.
65         (locale_enc): Remove function.
66         (cached_locale_enc): Remove variable.
67         (locale_enc_cached): Remove function.
68         (mbrtowc): Invoke locale_encoding_classification.
69         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
70         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
71         lc-charset-dispatch.c.
72         (configure.ac): Arrange to compile lc-charset-dispatch.c.
74 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
76         doc: mention 32-bit time_t issue
77         * doc/posix-headers/sys_stat.texi (sys/stat.h):
78         * doc/posix-headers/time.texi (time.h): Mention 2038.
80 2020-01-03  Bruno Haible  <bruno@clisp.org>
82         mbrtowc: Ensure the mbtowc_lock is unique.
83         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
84         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
85         lib/setlocale_null.c.
86         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
87         glthread/lock.h. Include mbtowc-lock.h.
88         (mbtowc_lock): Remove declaration.
89         (mbrtowc): Use mbtowc_with_lock.
90         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
91         threads.h. Set LIB_MBRTOWC.
92         (gl_PREREQ_MBTOWC_LOCK): New macro.
93         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
94         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
95         (Depends-on): Remove lock.
96         (configure.ac): Arrange to compile mbtowc-lock.c.
97         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
98         * modules/acl (Link): Likewise.
99         * modules/argmatch (Link): Likewise.
100         * modules/backup-rename (Link): Likewise.
101         * modules/backupfile (Link): Likewise.
102         * modules/closein (Link): Likewise.
103         * modules/closeout (Link): Likewise.
104         * modules/copy-file (Link): Likewise.
105         * modules/csharpcomp (Link): Likewise.
106         * modules/csharpexec (Link): Likewise.
107         * modules/dfa (Link): Likewise.
108         * modules/exclude (Link): Likewise.
109         * modules/fnmatch (Link): Likewise.
110         * modules/fnmatch-gnu (Link): Likewise.
111         * modules/fnmatch-posix (Link): Likewise.
112         * modules/glob (Link): Likewise.
113         * modules/human (Link): Likewise.
114         * modules/javacomp (Link): Likewise.
115         * modules/javaexec (Link): Likewise.
116         * modules/javaversion (Link): Likewise.
117         * modules/mbfile (Link): Likewise.
118         * modules/mbiter (Link): Likewise.
119         * modules/mbmemcasecmp (Link): Likewise.
120         * modules/mbmemcasecoll (Link): Likewise.
121         * modules/mbrlen (Link): Likewise.
122         * modules/mbscasecmp (Link): Likewise.
123         * modules/mbscasestr (Link): Likewise.
124         * modules/mbschr (Link): Likewise.
125         * modules/mbscspn (Link): Likewise.
126         * modules/mbsinit (Link): Likewise.
127         * modules/mbslen (Link): Likewise.
128         * modules/mbsncasecmp (Link): Likewise.
129         * modules/mbsnlen (Link): Likewise.
130         * modules/mbsnrtowcs (Link): Likewise.
131         * modules/mbspbrk (Link): Likewise.
132         * modules/mbspcasecmp (Link): Likewise.
133         * modules/mbsrchr (Link): Likewise.
134         * modules/mbsrtowcs (Link): Likewise.
135         * modules/mbssep (Link): Likewise.
136         * modules/mbsspn (Link): Likewise.
137         * modules/mbsstr (Link): Likewise.
138         * modules/mbstok_r (Link): Likewise.
139         * modules/mbswidth (Link): Likewise.
140         * modules/mbuiter (Link): Likewise.
141         * modules/mkdir-p (Link): Likewise.
142         * modules/propername (Link): Likewise.
143         * modules/quote (Link): Likewise.
144         * modules/quotearg (Link): Likewise.
145         * modules/quotearg-simple (Link): Likewise.
146         * modules/regex-quote (Link): Likewise.
147         * modules/rpmatch (Link): Likewise.
148         * modules/sh-quote (Link): Likewise.
149         * modules/system-quote (Link): Likewise.
150         * modules/trim (Link): Likewise.
151         * modules/unistdio/ulc-asnprintf (Link): Likewise.
152         * modules/unistdio/ulc-fprintf (Link): Likewise.
153         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
154         * modules/unistdio/ulc-vasprintf (Link): Likewise.
155         * modules/unistdio/ulc-vfprintf (Link): Likewise.
156         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
157         * modules/unistdio/ulc-vsprintf (Link): Likewise.
158         * modules/xfreopen (Link): Likewise.
159         * modules/xmemcoll (Link): Likewise.
160         * modules/yesno (Link): Likewise.
161         * modules/regex (Link): Add $(LIB_MBRTOWC).
162         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
163         instead of $(LIBTHREAD).
164         * modules/argmatch-tests (Makefile.am): Likewise.
165         * modules/closein-tests (Makefile.am): Likewise.
166         * modules/copy-file-tests (Makefile.am): Likewise.
167         * modules/dfa-tests (Makefile.am): Likewise.
168         * modules/fnmatch-tests (Makefile.am): Likewise.
169         * modules/glob-tests (Makefile.am): Likewise.
170         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
171         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
172         * modules/mbrtowc-tests (Makefile.am): Likewise.
173         * modules/mbscasecmp-tests (Makefile.am): Likewise.
174         * modules/mbscasestr-tests (Makefile.am): Likewise.
175         * modules/mbschr-tests (Makefile.am): Likewise.
176         * modules/mbscspn-tests (Makefile.am): Likewise.
177         * modules/mbsinit-tests (Makefile.am): Likewise.
178         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
179         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
180         * modules/mbspbrk-tests (Makefile.am): Likewise.
181         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
182         * modules/mbsrchr-tests (Makefile.am): Likewise.
183         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
184         * modules/mbsspn-tests (Makefile.am): Likewise.
185         * modules/mbsstr-tests (Makefile.am): Likewise.
186         * modules/quotearg-simple-tests (Makefile.am): Likewise.
187         * modules/quotearg-tests (Makefile.am): Likewise.
188         * modules/readtokens-tests (Makefile.am): Likewise.
189         * modules/sh-quote-tests (Makefile.am): Likewise.
190         * modules/system-quote-tests (Makefile.am): Likewise.
191         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
192         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
193         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
194         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
195         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
196         * modules/yesno-tests (Makefile.am): Likewise.
197         * modules/exclude-tests (Makefile.am): Link the programs with
198         $(LIB_MBRTOWC).
199         * modules/regex-tests (Makefile.am): Likewise.
200         * modules/regex-quote-tests (Makefile.am): Likewise.
202 2020-01-03  Bruno Haible  <bruno@clisp.org>
204         getopt-posix: Fix compilation failure in testdirs.
205         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
206         when the gnulib module 'getopt-posix' is enabled.
207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
208         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
209         module indicator.
210         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
212 2020-01-03  Bruno Haible  <bruno@clisp.org>
214         doc: Mention the 64-bit inode number problem.
215         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
216         64-bit inode number problem.
217         * doc/posix-functions/stat.texi: Mention that this module fixes the
218         64-bit inode number problem.
219         * doc/posix-functions/lstat.texi: Likewise.
220         * doc/posix-functions/fstat.texi: Likewise.
221         * doc/posix-functions/readdir.texi: Add more details.
222         * doc/posix-functions/readdir_r.texi: Likewise.
224 2020-01-02  Bruno Haible  <bruno@clisp.org>
226         wcrtomb: Add more tests.
227         * tests/test-wcrtomb-w32.c: Include localcharset.h.
228         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
229         locale_charset() returns the expected value; otherwise, skip the test.
230         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
231         * tests/test-wcrtomb-w32-7.sh: Likewise.
232         * modules/wcrtomb-tests (Files): Add these files.
233         (Depends-on): Add localcharset.
234         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
236 2020-01-02  Bruno Haible  <bruno@clisp.org>
238         mbrtowc: Add more tests.
239         * tests/test-mbrtowc-w32.c: Include localcharset.h.
240         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
241         locale_charset() returns the expected value; otherwise, skip the test.
242         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
243         * tests/test-mbrtowc-w32-7.sh: Likewise.
244         * modules/mbrtowc-tests (Files): Add these files.
245         (Depends-on): Add localcharset.
246         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
248 2020-01-02  Bruno Haible  <bruno@clisp.org>
250         mbrtowc: Fix test failures on MSVC (regression by previous commit).
251         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
252         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
253         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
254         MBRTOWC_STORES_INCOMPLETE_BUG.
255         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
257 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
259         doc: mention glibc bug 24269
260         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
261         Reformat slightly so that it looks nicer in the Grep manual.
263 2020-01-02  Bruno Haible  <bruno@clisp.org>
265         mbrtowc: Don't replace mbstate_t on MSVC.
266         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
267         a missing mbsinit function on native Windows.
268         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
269         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
270         MSVC bug.
271         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
273 2020-01-02  Bruno Haible  <bruno@clisp.org>
275         setlocale-null: Avoid crashing the MSVC linker.
276         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
277         MSVC.
279 2020-01-02  Bruno Haible  <bruno@clisp.org>
281         wchar: Make the HP-UX workaround work on HP-UX 11.31.
282         * modules/wchar (Depends-on): Add inttypes-incomplete.
283         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
284         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
285         of strtoimax.
287 2020-01-02  Bruno Haible  <bruno@clisp.org>
289         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
290         * lib/mbrtowc.c: Include <stdint.h>.
291         * modules/mbrtowc (Depends-on): Add stdint.
293 2020-01-01  Pádraig Brady  <P@draigBrady.com>
295         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
296         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
297         which will auto enable use of openssl, only for >= version 3,
298         which is newly licensed under the Apache Software License.
300 2020-01-01  Bruno Haible  <bruno@clisp.org>
302         mbrtowc: Include function name in macro names.
303         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
304         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
305         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
306         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
307         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
308         C_LOCALE_MAYBE_EILSEQ.
310 2020-01-01  Bruno Haible  <bruno@clisp.org>
312         c32tob: New module.
313         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
314         (c32tob): New declaration.
315         * lib/c32tob.c: New file.
316         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
317         macros.
318         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
319         * modules/uchar (Depends-on): Add snippet/c++defs.
320         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
321         uchar.h.
322         * modules/c32tob: New file.
323         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
324         defined.
325         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
326         c32tob.
327         * modules/uchar-c++-tests (Files): Add tests/signature.h.
328         * doc/posix-functions/wctob.texi: Mention the new module.
330 2020-01-01  Bruno Haible  <bruno@clisp.org>
332         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
333         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
334         $(LIB_SETLOCALE).
336 2020-01-01  Bruno Haible  <bruno@clisp.org>
338         hard-locale tests: Fix a conflict with the C++ tests.
339         * modules/hard-locale-tests (Makefile.am): Build a program named
340         'current-locale', not 'locale'.
342 2020-01-01  Bruno Haible  <bruno@clisp.org>
344         doc: Update documentation about wchar_t.
345         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
346         wchar_t type.
348 2020-01-01  Bruno Haible  <bruno@clisp.org>
350         mbrtowc tests: Fix typos.
351         * tests/test-mbrtowc.c (main): Fix typo.
352         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
354 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
356         maint: update copyright notices
357         Before doing the following changes done by hand, I also ran ‘make
358         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
359         to do most of the copyright years automatically.  A few upstream
360         sources are still in 2019 but these should eventually be changed
361         automatically too.
362         * build-aux/declared.sh (func_version):
363         * build-aux/libtool-next-version (func_version):
364         * build-aux/run-test (func_version):
365         Update these notices by hand.  Put just the last year
366         in output of programs, as per GNU coding standards.
368 2019-12-31  Bruno Haible  <bruno@clisp.org>
370         uchar: Add C++ tests.
371         * tests/test-uchar-c++.cc: New file.
372         * tests/test-uchar-c++2.cc: New file.
373         * modules/uchar-c++-tests: New file.
375         uchar: Add tests.
376         * tests/test-uchar.c: New file.
377         * modules/uchar-tests: New file.
379         uchar: New module.
380         * lib/uchar.in.h: New file.
381         * m4/uchar.m4: New file.
382         * modules/uchar: New file.
383         * doc/posix-headers/uchar.texi: Mention the new module.
385 2019-12-30  Jim Meyering  <meyering@fb.com>
387         localeinfo: ->simple would be wrong for LC_ALL=C
388         That would lead to using unnecessary and expensive code paths in dfa.c.
389         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
390         error that would have made grep many times slower in the C locale.
391         With this change, and a file created like this:
392           yes 00 | head -10000000 > in
393         Running grep as follows becomes more than 40 times faster:
394           LC_ALL=C grep -Fw 0 in
396 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
398         doc: document trouble with back-references
399         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
401 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
403         doc: use “back-reference” for \1 etc.
404         * doc/regex.texi: Consistently spell “back-reference” with
405         a hyphen, since that’s how POSIX does it.
407 2019-12-26  Jim Meyering  <meyering@fb.com>
409         test-framework-sh: tighten an internal grep regexp
410         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
411         that helps test for a working printf.
413 2019-12-26  Bruno Haible  <bruno@clisp.org>
415         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
416         Reported by Paul Eggert in
417         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
418         Simplification by Jim Meyering.
419         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
420         octal escape sequence in a UTF-8 locale.
422 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
424         mbrtowc: port better to narrow-wchar_t platforms
425         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
426         wchar_t is too narrow to represent all the Unicode characters,
427         consider a byte sequence for an out-of-wchar_t-range character to
428         be an encoding error.  This fixes grep’s surrogate-pair test
429         failure on AIX 7.2.
431 2019-12-24  Bruno Haible  <bruno@clisp.org>
433         localcharset: Avoid referencing rpl_setlocale on native Windows.
434         * lib/localcharset.c (setlocale): Undefine.
436 2019-12-24  Bruno Haible  <bruno@clisp.org>
438         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
439         * m4/semaphore.m4: New file.
440         * modules/lock-tests (Files): Add it.
441         (configure.ac): Require gl_SEMAPHORE.
442         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
444 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
446         strptime: fix typo in previous patch
447         Problem and fix reported by Bruno Haible in:
448         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
449         * lib/strptime.c (day_of_the_week): Fix paren bug.
451 2019-12-24  Bruno Haible  <bruno@clisp.org>
453         setlocale-null: Make it easy to rely on the lock in another library.
454         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
455         defined.
457 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
459         gethrxtime, mktime, nstrftime, strptime: tweak division performance
460         Performanced analyzed by Bruno Haible in:
461         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
462         * config/srclist.txt: Do not sync mktime.c for now.
463         * lib/mktime.c (shr, ydhms_diff):
464         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
465         * lib/strptime.c (day_of_the_week):
466         * lib/xtime.h (xtime_sec):
467         Redo with neither ‘%’ nor conditional branches.
469 2019-12-23  Bruno Haible  <bruno@clisp.org>
471         setlocale-null: Export the lock function also on non-Windows platforms.
472         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
473         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
474         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
475         * modules/setlocale-null (configure.ac): Invoke it.
476         (Files): Add m4/visibility.m4.
478 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
480         gethrxtime: fix rounding bug with negative args
481         Problem reported by Bruno Haible in:
482         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
483         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
484         with negative rounding.  Common platforms can compute / and % with
485         a single instruction, so the simplified code should be shorter and
486         faster on these platforms anyway.
488 2019-12-22  Bruno Haible  <bruno@clisp.org>
490         gethrxtime: remove incorrect overflow detection
491         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
492         integer overflow, as it didn’t suffice.  This reverts the xtime.h
493         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
494         cannot now see the need for anyway (even in cases where it works),
495         as the patch is helpful only when the signs of S and NS disagree,
496         and all callers pass nonnegative values for S and NS.
498 2019-12-22  Bruno Haible  <bruno@clisp.org>
500         setlocale-null: Add standalone include file.
501         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
502         * lib/locale.in.h: Include setlocale_null.h.
503         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
504         setlocale_null): Remove declarations.
505         * lib/setlocale_null.c: Include setlocale_null.h.
506         * lib/localename.c: Likewise.
507         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
508         (Depends-on): Add snippet/arg-nonnull.
509         (Include): Allow either "setlocale_null.h" or <locale.h>.
511 2019-12-22  Bruno Haible  <bruno@clisp.org>
513         strfmon_l: Fix test failures on FreeBSD and Cygwin.
514         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
515         AC_RUN_IFELSE test.
516         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
517         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
518         problem.
520 2019-12-22  Bruno Haible  <bruno@clisp.org>
522         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
523         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
524         unconditional AC_LIBOBJ.
525         * modules/selinux-at: Likewise.
526         * modules/xmemdup0: Likewise.
527         * modules/xstrtoll: Likewise.
529 2019-12-22  Bruno Haible  <bruno@clisp.org>
531         longlong: Mark module obsolete.
532         * modules/longlong (Status, Notice): New sections.
534         stdint: Assume that the compiler supports 'long long'.
535         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
536         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
537         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
538         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
539         AC_TYPE_UNSIGNED_LONG_LONG_INT.
540         * modules/stdint (Files): Remove longlong.m4.
541         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
542         HAVE_UNSIGNED_LONG_LONG_INT.
544         inttypes-incomplete: Assume that the compiler supports 'long long'.
545         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
546         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
547         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
548         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
549         HAVE_LONG_LONG_INT to be 1.
550         * modules/inttypes-incomplete (Makefile.am): Don't substitute
551         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
553         malloca: Assume that the compiler supports 'long long'.
554         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
555         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
556         * modules/malloca (Files): Remove longlong.m4.
557         * modules/relocatable-prog-wrapper (Files): Likewise.
559         atoll: Assume that the compiler supports 'long long'.
560         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
561         * modules/atoll (Files): Remove longlong.m4.
563         strtoll: Assume that the compiler supports 'long long'.
564         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
565         * modules/strtoll (Files): Remove longlong.m4.
567         strtoull: Assume that the compiler supports 'long long'.
568         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
569         AC_TYPE_UNSIGNED_LONG_LONG_INT.
570         * modules/strtoull (Files): Remove longlong.m4.
572         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
573         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
574         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
575         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
576         AC_TYPE_LONG_LONG_INT.
577         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
578         AC_TYPE_UNSIGNED_LONG_LONG_INT.
579         * modules/strtoimax (Files): Remove longlong.m4.
580         * modules/strtoumax (Files): Likewise.
582         xstrtoll: Assume that the compiler supports 'long long'.
583         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
584         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
586         vasnprintf: Assume that the compiler supports 'long long'.
587         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
588         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
589         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
590         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
591         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
592         require AC_TYPE_LONG_LONG_INT.
593         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
594         gl_PREREQ_VASNPRINTF): Likewise.
595         * modules/vasnprintf (Files): Remove longlong.m4.
596         * modules/c-vasnprintf (Files): Likewise.
597         * modules/unistdio/u8-vasnprintf (Files): Likewise.
598         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
599         * modules/unistdio/u16-vasnprintf (Files): Likewise.
600         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
601         * modules/unistdio/u32-vasnprintf (Files): Likewise.
602         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
603         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
605         gethrxtime: Assume that the compiler supports 'long long'.
606         * lib/xtime.h (xtime_t): Define to 'long long int' always.
607         (XTIME_PRECISION): Define to 1000000000 always.
608         (xtime_make, xtime_sec): Optimize accordingly.
609         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
610         * modules/gethrxtime (Files): Remove longlong.m4.
612         integer_length*: Assume that the compiler supports 'long long'.
613         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
614         * modules/integer_length (Files): Remove longlong.m4.
615         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
616         * modules/integer_length_l (Files): Remove longlong.m4.
617         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
618         * modules/integer_length_ll (Files): Remove longlong.m4.
619         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
621         count-one-bits: Assume that the compiler supports 'long long'.
622         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
623         * m4/count-one-bits.m4: Remove file.
624         * modules/count-one-bits (Files): Remove it.
625         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
626         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
627         unconditionally.
629         count-trailing-zeros: Assume that the compiler supports 'long long'.
630         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
631         unconditionally.
632         * m4/count-trailing-zeros.m4: Remove file.
633         * modules/count-trailing-zeros (Files): Remove it.
634         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
635         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
636         unconditionally.
638         count-leading-zeros: Assume that the compiler supports 'long long'.
639         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
640         unconditionally.
641         * m4/count-leading-zeros.m4: Remove file.
642         * modules/count-leading-zeros (Files): Remove it.
643         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
644         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
645         unconditionally.
647 2019-12-22  Bruno Haible  <bruno@clisp.org>
649         localcharset: Update support for OpenBSD.
650         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
652 2019-12-21  Bruno Haible  <bruno@clisp.org>
654         pthread_sigmask: Avoid test failure on NetBSD 8.0.
655         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
656         NetBSD.
657         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
659 2019-12-21  Bruno Haible  <bruno@clisp.org>
661         threadlib: Improve code structure.
662         * m4/threadlib.m4: Reorder macros. Add comments.
664 2019-12-21  Bruno Haible  <bruno@clisp.org>
666         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
667         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
668         here from m4/threads.m4).
669         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
670         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
671         (gl_STDTHREADLIB): New macro.
672         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
673         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
675 2019-12-21  Bruno Haible  <bruno@clisp.org>
677         sched_yield: Don't depend on threadlib and yield.
678         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
679         LIB_SCHED_YIELD.
680         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
681         m4/yield.m4).
682         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
683         gl_THREADLIB and gl_YIELD.
684         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
685         based on $(LIB_SCHED_YIELD).
686         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
687         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
688         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
689         (Depends-on): Remove threadlib.
690         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
691         * modules/threads-h (Files): Remove m4/yield.m4.
692         * modules/pthread-cond-tests (Makefile.am): Link the programs against
693         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
694         * modules/pthread-mutex-tests (Makefile.am): Likewise.
695         * modules/pthread-once-tests (Makefile.am): Likewise.
696         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
697         * modules/pthread-tss-tests (Makefile.am): Likewise.
699 2019-12-21  Bruno Haible  <bruno@clisp.org>
701         threads-h: Don't depend on threadlib.
702         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
703         not gl_THREADLIB_EARLY.
705 2019-12-21  Bruno Haible  <bruno@clisp.org>
707         nl_langinfo tests: Fix link error (regression from 2019-12-18).
708         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
709         with $(LIB_SETLOCALE).
711 2019-12-21  Bruno Haible  <bruno@clisp.org>
713         threadlib: Remove unused dependency (left over from 2019-07-06).
714         * modules/threadlib (Depends-on): Remove havelib.
716 2019-12-21  Bruno Haible  <bruno@clisp.org>
718         New convention for multithread-safety tests.
719         * tests/test-setlocale_null-mt-one.c: Renamed from
720         tests/test-setlocale_null-one.c.
721         * tests/test-setlocale_null-mt-all.c: Renamed from
722         tests/test-setlocale_null-all.c.
723         * modules/setlocale-null-tests (Files, Makefile.am): Update.
725 2019-12-21  Bruno Haible  <bruno@clisp.org>
727         quotearg tests: Fix conflict with hard-locale tests.
728         * tests/testlocale: Renamed from tests/locale.
729         * modules/quotearg-tests (Files): Update.
730         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
732 2019-12-21  Bruno Haible  <bruno@clisp.org>
734         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
735         Reported by Daniel Richard G. in
736         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
737         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
738         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
739         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
740         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
741         alternative to PTHREAD_RWLOCK_INITIALIZER.
742         * lib/glthread/lock.c: Likewise.
744 2019-12-21  Bruno Haible  <bruno@clisp.org>
746         memcmp tests: Work around the clang bug.
747         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
748         the clang optimization.
750 2019-12-20  Bruno Haible  <bruno@clisp.org>
752         localcharset: Add support for z/OS encoding names.
753         * lib/localcharset.h: Mention which encodings are used as locale
754         encodings on z/OS.
756 2019-12-20  Bruno Haible  <bruno@clisp.org>
758         iconv_open: Add support for z/OS encoding names.
759         Reported by Daniel Richard G. in
760         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
761         * lib/iconv_open-zos.gperf: New file.
762         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
763         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
764         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
765         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
766         * doc/posix-functions/iconv_open.texi: Mention z/OS.
768 2019-12-20  Bruno Haible  <bruno@clisp.org>
770         doc: Document the problem of the per-thread locale functions on z/OS.
771         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
772         * doc/posix-functions/newlocale.texi: Likewise.
773         * doc/posix-functions/duplocale.texi: Likewise.
774         * doc/posix-functions/freelocale.texi: Likewise.
776 2019-12-20  Bruno Haible  <bruno@clisp.org>
778         localename, gettext: Fix host_os value for z/OS.
779         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
780         cross-configuration code.
782 2019-12-19  Jim Meyering  <meyering@fb.com>
784         nstrftime: avoid a shadowing warning
785         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
786         to avoid shadowing an "i" declared hundreds of lines above.
788 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
790         dfa: struct dfamust now uses flexible array
791         * lib/dfa.c: Include flexmember.h.
792         (dfamust, dfamustfree): Adjust to struct dfamust change.
793         This saves a call to malloc+free.
794         * lib/dfa.h (struct dfamust): Make the final member a
795         flexible array member.
796         * modules/dfa (Depends-on): Add flexmember.
798         dfa: fast->small for array elements
799         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
800         since this type is used in arrays.  This change is more for
801         documentation than for any practical effect, since the two types
802         are the same on all known platforms.
804 2019-12-19  Bruno Haible  <bruno@clisp.org>
806         iconv tests: Test canonicalized, not system-dependent, encoding names.
807         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
808         * modules/iconv-tests (Depends-on): Add iconv_open.
810 2019-12-18  Bruno Haible  <bruno@clisp.org>
812         localename: Fix test failure on AIX 7.2.
813         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
814         locales on AIX.
815         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
816         locales on AIX.
818 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
820         Improve port of AC_C_RESTRICT to Oracle C++
821         Problem reported by Christian Biesinger in:
822         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
823         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
824         Oracle Developer Studio C++ 12.5 or later.
826 2019-12-18  Bruno Haible  <bruno@clisp.org>
828         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
829         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
831 2019-12-18  Bruno Haible  <bruno@clisp.org>
833         localename: Ensure multithread-safety in future changes.
834         * lib/localename.c (setlocale): Reference the system's setlocale().
835         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
836         (gl_locale_name_posix): Likewise.
837         * modules/localename (Depends-on): Add setlocale-null.
839 2019-12-18  Bruno Haible  <bruno@clisp.org>
841         setlocale-null: Make API more useful.
842         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
843         callers changed.
844         (setlocale_null): New declaration.
845         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
846         extracted from setlocale_null_unlocked.
847         (setlocale_null_unlocked): Invoke it.
848         (setlocale_null_r): Renamed from setlocale_null.
849         (setlocale_null): New function, extracted from setlocale_mtsafe in
850         setlocale.c.
851         * lib/setlocale.c: Don't include <errno.h>.
852         (setlocale_mtsafe): Invoke setlocale_null.
853         * lib/setlocale-lock.c: Update comments.
854         * doc/posix-functions/setlocale.texi: Mention both functions.
856 2019-12-18  Bruno Haible  <bruno@clisp.org>
858         localename: Optimize code for native Windows.
859         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
860         category (not allowed here).
862 2019-12-18  Bruno Haible  <bruno@clisp.org>
864         setlocale: Make calls with NULL argument multithread-safe.
865         * lib/setlocale.c: Include <errno.h>.
866         (setlocale_mtsafe): New function.
867         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
868         (setlocale_improved): Renamed from rpl_setlocale.
869         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
870         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
871         LIB_SETLOCALE.
872         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
873         (Link): New section.
874         * tests/locale.c: Undefine setlocale.
875         * tests/test-setlocale_null-one.c: Likewise.
876         * tests/test-setlocale_null-all.c: Likewise.
877         * modules/setlocale-tests (Makefile.am): Link the test programs with
878         $(LIB_SETLOCALE).
879         * modules/astrxfrm-tests (Makefile.am): Likewise.
880         * modules/btowc-tests (Makefile.am): Likewise.
881         * modules/c-ctype-tests (Makefile.am): Likewise.
882         * modules/c-snprintf-tests (Makefile.am): Likewise.
883         * modules/c-strcase-tests (Makefile.am): Likewise.
884         * modules/c-vasprintf-tests (Makefile.am): Likewise.
885         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
886         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
887         * modules/dfa-tests (Makefile.am): Likewise.
888         * modules/duplocale-tests (Makefile.am): Likewise.
889         * modules/hard-locale-tests (Makefile.am): Likewise.
890         * modules/localcharset-tests (Makefile.am): Likewise.
891         * modules/localename-tests (Makefile.am): Likewise.
892         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
893         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
894         * modules/mbrtowc-tests (Makefile.am): Likewise.
895         * modules/mbscasecmp-tests (Makefile.am): Likewise.
896         * modules/mbscasestr-tests (Makefile.am): Likewise.
897         * modules/mbschr-tests (Makefile.am): Likewise.
898         * modules/mbscspn-tests (Makefile.am): Likewise.
899         * modules/mbsinit-tests (Makefile.am): Likewise.
900         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
901         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
902         * modules/mbspbrk-tests (Makefile.am): Likewise.
903         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
904         * modules/mbsrchr-tests (Makefile.am): Likewise.
905         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
906         * modules/mbsspn-tests (Makefile.am): Likewise.
907         * modules/mbsstr-tests (Makefile.am): Likewise.
908         * modules/nl_langinfo-tests (Makefile.am): Likewise.
909         * modules/quotearg-tests (Makefile.am): Likewise.
910         * modules/regex-tests (Makefile.am): Likewise.
911         * modules/strfmon_l-tests (Makefile.am): Likewise.
912         * modules/strtod-tests (Makefile.am): Likewise.
913         * modules/strtold-tests (Makefile.am): Likewise.
914         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
915         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
916         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
917         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
918         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
919         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
920         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
921         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
922         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
923         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
924         * modules/wcrtomb-tests (Makefile.am): Likewise.
925         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
926         * modules/wcsrtombs-tests (Makefile.am): Likewise.
927         * modules/wcwidth-tests (Makefile.am): Likewise.
928         * doc/posix-functions/setlocale.texi: Mention that the multithread-
929         safety fix is also available in module 'setlocale'.
931 2019-12-18  Bruno Haible  <bruno@clisp.org>
933         hard-locale: Make multithread-safe.
934         * lib/hard-locale.h (hard_locale): Move documentation to here.
935         * lib/hard-locale.c: Don't include <stdlib.h>.
936         (GLIBC_VERSION): Remove macro.
937         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
938         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
939         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
940         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
941         (Link): New section.
942         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
943         $(LIB_HARD_LOCALE).
945 2019-12-18  Bruno Haible  <bruno@clisp.org>
947         hard-locale: Avoid test failure on Haiku.
948         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
950 2019-12-18  Bruno Haible  <bruno@clisp.org>
952         setlocale-null: Handle NULL result from setlocale.
953         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
954         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
955         from setlocale or _wsetlocale.
957 2019-12-18  Bruno Haible  <bruno@clisp.org>
959         hard-locale: Add test.
960         * tests/test-hard-locale.c: New file.
961         * tests/locale.c: New file.
962         * modules/hard-locale-tests: New file.
964 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
966         dfa: do not match invalid UTF-8
967         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
968         from 5 to 9 tokens; this is needed due to the changes to
969         add_utf8_anychar.
970         (charclass_index): 2nd arg is now pointer-to-const.
971         (add_utf8_anychar): Match only valid UTF-8 byte sequences
972         instead of allowing overlong encodings or surrogate halves.
974         dfa: simplify charclass by assuming C99
975         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
976         (charclass_word): Now always uint_fast64_t.
977         (CHARCLASS_PAIR): Remove.
978         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
980         fts: tune via calloc
981         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
983         dfa: tune via xzalloc
984         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
986 2019-12-17  Bruno Haible  <bruno@clisp.org>
988         localcharset: Fix multithread-safety bug on Windows and OS/2.
989         * lib/localcharset.h (locale_charset): Clarify when the result becomes
990         invalid.
991         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
992         assemble the result.
994 2019-12-17  Bruno Haible  <bruno@clisp.org>
996         localcharset: Optimize code for native Windows.
997         * lib/localcharset.c (locale_charset): Don't bother calling
998         setlocale (LC_ALL, NULL) since we're not interested in its result.
1000 2019-12-17  Bruno Haible  <bruno@clisp.org>
1002         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
1003         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
1004         setlocale.
1005         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
1006         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
1007         * modules/nl_langinfo (Depends-on): Add setlocale-null.
1009 2019-12-17  Bruno Haible  <bruno@clisp.org>
1011         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
1012         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
1013         stack-allocated buffer to assemble each result and different static
1014         buffers to return it.
1015         * tests/test-nl_langinfo-mt.c: New file.
1016         * modules/nl_langinfo-tests (Files): Add it.
1017         (Depends-on): Add thread, nanosleep.
1018         (Makefile.am): Build test-nl_langinfo-mt test.
1020 2019-12-17  Bruno Haible  <bruno@clisp.org>
1022         langinfo: Document more details.
1023         * doc/posix-headers/langinfo.texi: List platform details.
1024         * doc/posix-functions/nl_langinfo.texi: Likewise.
1026 2019-12-17  Bruno Haible  <bruno@clisp.org>
1028         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
1029         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
1030         and Martin Storsjö <martin@martin.st>
1031         in <https://savannah.gnu.org/bugs/?57406>.
1032         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
1033         mingw.
1035 2019-12-17  Bruno Haible  <bruno@clisp.org>
1037         glob: Avoid warning on mingw.
1038         Reported by Christian Biesinger <cbiesinger@google.com> in
1039         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
1040         * lib/glob.c (__stat64): Undefine first.
1042 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1044         xalloc: tune xzalloc for fresh allocations
1045         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
1046         because when the memory is freshly allocated from the OS via sbrk
1047         or mmap, calloc can avoid doing the memset.
1049         dfa: new function dfacopysyntax
1050         * lib/dfa.c (struct dfa): Move syntax member later so
1051         that dfacopysyntax can easily clear earlier members.
1052         (dfacopysyntax): New function, used by Gawk.
1054 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
1056         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
1057         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
1058         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
1059         if not already defined.
1061         dfa: remove one dependency on MB_CUR_MAX
1062         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
1064         dfa: remove struct lexer_state.cur_mb_len
1065         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
1066         as it’s not needed and the code is simpler without it.
1067         All uses removed.
1069 2019-12-16  Bruno Haible  <bruno@clisp.org>
1071         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
1072         Reported by Arnold Robbins <arnold@skeeve.com>.
1073         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
1074         copied from lib/glthread/lock.h.
1075         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
1076         (setlocale_null_with_lock): If pthread_in_use() is false, use
1077         setlocale_null_unlocked directly.
1078         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
1079         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
1080         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
1081         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
1082         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
1083         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
1085 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
1087         dfa: make dfasyntax thread-safe
1088         Problem reported by Bruno Haible in:
1089         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
1090         * lib/dfa.c: Do not include locale.h.
1091         (struct dfa): Remove simple_locale member.
1092         All uses replaced by localeinfo.simple.
1093         (using_simple_locale): Remove; now present (with some
1094         changes) in localeinfo.c.
1095         (dfasyntax): No need to initialize removed member.
1097         localeinfo: record whether locale is simple
1098         * lib/localeinfo.c (using_simple_locale): New function,
1099         copied here from lib/dfa.c but with a change: it uses
1100         strcoll for its heuristic, instead of using setlocale.
1101         This lets it be thread-safe.
1102         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
1104 2019-12-15  Bruno Haible  <bruno@clisp.org>
1106         duplocale: Fix multithread-safety bug on AIX.
1107         * lib/duplocale.c: Don't include <stdlib.h>.
1108         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
1109         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
1110         Set LIB_DUPLOCALE.
1111         * modules/duplocale (Depends-on): Add setlocale-null.
1112         (Link): New section.
1113         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
1114         $(LIB_DUPLOCALE).
1116 2019-12-15  Bruno Haible  <bruno@clisp.org>
1118         setlocale-null: Add tests.
1119         * tests/test-setlocale_null.c: New file.
1120         * tests/test-setlocale_null-one.c: New file.
1121         * tests/test-setlocale_null-all.c: New file.
1122         * modules/setlocale-null-tests: New file.
1124         setlocale-null: New module.
1125         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
1126         setlocale_null): New declarations.
1127         * lib/setlocale_null.c: New file.
1128         * lib/setlocale-lock.c: New file.
1129         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
1130         * m4/setlocale_null.m4: New file.
1131         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
1132         GNULIB_SETLOCALE_NULL.
1133         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
1134         * modules/setlocale-null: New file.
1135         * doc/posix-functions/setlocale.texi: Mention the new module.
1137 2019-12-15  Bruno Haible  <bruno@clisp.org>
1139         lock tests: Skip test when no multithreading is enabled.
1140         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
1142 2019-12-14  Bruno Haible  <bruno@clisp.org>
1144         locale, duplocale, localename: Fix last patch.
1145         Reported by Daniel Richard G. in
1146         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
1147         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
1148         Don't define if locale_t does not exist.
1150 2019-12-13  Bruno Haible  <bruno@clisp.org>
1152         locale, duplocale, localename: Fix errors if locale_t does not exist.
1153         Reported by Daniel Richard G. in
1154         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
1155         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
1156         macros.
1157         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
1158         HAVE_NEWLOCALE.
1159         * tests/test-localename.c: Likewise.
1160         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
1161         HAVE_DUPLOCALE.
1162         * tests/test-locale-c++.cc: Likewise.
1164 2019-12-13  Bruno Haible  <bruno@clisp.org>
1166         wcstok: Fix test failure on HP-UX.
1167         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
1168         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
1170 2019-12-12  Bruno Haible  <bruno@clisp.org>
1172         strtod, strtold tests: Avoid test failure on AIX 7.2.
1173         * tests/test-strtod1.c (main): Allow implementations in which ',' and
1174         '.' both are radix characters.
1175         * tests/test-strtold1.c (main): Likewise.
1177 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
1179         dfa: prefer ptrdiff_t for API, too
1180         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
1181         but do this only for internal use for now.
1182         * NEWS: Mention the API change.
1183         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
1184         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
1185         values known to be nonnegative.
1186         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
1187         Prefer idx_t or ptrdiff_t to size_t for API.
1188         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
1189         Prefer ptrdiff_t to size_t for API.
1191         stdalign: port to xlclang 16.01
1192         Problem reportd by Bruno Haible in:
1193         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
1194         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
1195         ((__aligned__ (...))) with xlclang, as a top-level
1196         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
1197         xlclang version 16.01.0000.0001; the alignment directive is ignored.
1199 2019-12-12  Bruno Haible  <bruno@clisp.org>
1201         duplocale: Fix test failure on AIX 7.2 with xlclang.
1202         * lib/duplocale.c: Include <stdlib.h>.
1203         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
1204         value.
1206 2019-12-12  Bruno Haible  <bruno@clisp.org>
1208         stddef: Document the AIX xlc issue.
1209         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
1211 2019-12-12  Bruno Haible  <bruno@clisp.org>
1213         duplocale: Don't attempt to override if locale_t does not exist.
1214         Reported by Daniel Richard G. in
1215         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
1216         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
1217         HAVE_DUPLOCALE to 0.
1219 2019-12-12  Bruno Haible  <bruno@clisp.org>
1221         wcwidth: Avoid test failure on AIX 7.2.
1222         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
1223         negative.
1224         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
1226 2019-12-12  Bruno Haible  <bruno@clisp.org>
1228         ilogbl: Work around Cygwin bug.
1229         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
1230         correct.
1231         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
1233 2019-12-12  Bruno Haible  <bruno@clisp.org>
1235         strtold: Work around Cygwin bug.
1236         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
1237         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
1238         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
1239         STRTOLD_HAS_UNDERFLOW_BUG is defined.
1240         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
1242 2019-12-12  Bruno Haible  <bruno@clisp.org>
1244         strtold: Fix autoconf test.
1245         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
1247 2019-12-11  Bruno Haible  <bruno@clisp.org>
1249         fsync tests: Skip test that is known to fail.
1250         * doc/posix-functions/fsync.texi: Update list of platforms.
1251         * tests/test-fsync.c (main): Skip test with read-only file descriptors
1252         that is known to fail on AIX and Cygwin.
1254 2019-12-11  Bruno Haible  <bruno@clisp.org>
1256         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
1257         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
1258         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
1259         HAVE_GETADDRINFO as a C macro.
1260         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
1261         declare as replacement functions.
1262         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
1263         define as no-op overrides.
1264         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
1265         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
1266         * modules/getaddrinfo (Depends-on, configure.ac): Test
1267         REPLACE_GETADDRINFO.
1268         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
1269         problem.
1270         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
1271         convention problems.
1273 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1275         dfa: prefer signed integers for internals
1276         Signed integers can be checked more easily for integer overflow.
1277         * lib/dfa.c (position, struct lexer_state, struct parser_state)
1278         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
1279         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
1280         (nsubtoks, copytoks, closure, alloc_position_set, delete)
1281         (replace, state_index, epsclosure, charclass_context)
1282         (state_separate_contexts, merge_nfa_state, dfaoptimize)
1283         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
1284         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
1285         (comsubs, inboth, allocmust):
1286         Prefer a signed to an unsigned integer when calculating indexes,
1287         unless the integer is part of the external API (a bigger deal,
1288         and to be done later).
1290         dfa: fix index overflow
1291         * lib/dfa.c (compare): Avoid integer overflow when analyzing
1292         very large regular expressions.
1294         dfa: update commentary for previous change
1295         * NEWS: Mention the change.
1296         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
1298 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
1300         dfa: separate parse and compile phase
1301         ‘dfamust’ must be called after parsing and before tokens are
1302         reordered, but both are executed in the compilation phase.
1303         Token reordering was introduced in Gnulib commit
1304         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
1305         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
1306         * lib/dfa.c (dfaparse): Change it to global function.
1307         (dfacomp): If first argument is NULL, skip parse.
1308         * lib/dfa.h: (dfaparse): Add a prototype.
1310 2019-12-11  Bruno Haible  <bruno@clisp.org>
1312         unistd tests: Fix link error on MSVC.
1313         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
1314         $(LIB_GETLOGIN).
1316 2019-12-11  Bruno Haible  <bruno@clisp.org>
1318         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
1319         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
1320         and POSIX substitutes are supported in C++ mode.
1321         * NEWS: Likewise.
1323 2019-12-11  Bruno Haible  <bruno@clisp.org>
1325         stddef: Fix compilation error in C++ mode on MSVC.
1326         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
1327         instead, include <cstddef>.
1329 2019-12-11  Bruno Haible  <bruno@clisp.org>
1331         unistd: Fix compilation error in C++ mode on MSVC.
1332         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
1333         does not have <unistd.h>.
1335 2019-12-11  Bruno Haible  <bruno@clisp.org>
1337         locale: Fix compilation error in C++ mode on MSVC.
1338         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
1339         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
1340         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
1341         int_n_sep_by_space): Define as macros on MSVC.
1343 2019-12-11  Bruno Haible  <bruno@clisp.org>
1345         wchar: Fix compilation error in C++ mode on MSVC.
1346         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
1348 2019-12-11  Bruno Haible  <bruno@clisp.org>
1350         pthread-thread: Fix compilation error in C++ mode on MSVC.
1351         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
1352         _GL_CXXALIAS_RPL invocation.
1354 2019-12-08  Bruno Haible  <bruno@clisp.org>
1356         Fix compilation errors in C++ mode on Haiku.
1357         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
1358         non-glibc systems.
1359         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
1360         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
1361         posix_spawnattr_setschedparam): Likewise.
1362         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
1363         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
1364         * lib/unistd.in.h (usleep): Likewise.
1366 2019-12-08  Bruno Haible  <bruno@clisp.org>
1368         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
1369         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
1370         * modules/fseeko (configure.ac-early): Require it instead of
1371         AC_FUNC_FSEEKO.
1372         * modules/ftello (configure.ac-early): Likewise.
1373         * modules/fflush (configure.ac-early): Likewise.
1375 2019-12-08  Bruno Haible  <bruno@clisp.org>
1377         Fix compilation error in C++ mode on HP-UX 11.
1378         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
1379         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
1381 2019-12-08  Bruno Haible  <bruno@clisp.org>
1383         Fix compilation errors on HP-UX 11/ia64.
1384         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
1385         _GL_FUNCDECL_SYS.
1387 2019-12-08  Bruno Haible  <bruno@clisp.org>
1389         Fix compilation error in C++ mode on OpenBSD.
1390         * lib/signal.in.h (signal): Declare on OpenBSD.
1392 2019-12-08  Bruno Haible  <bruno@clisp.org>
1394         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
1395         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
1396         instead of #error.
1398 2019-12-08  Bruno Haible  <bruno@clisp.org>
1400         Fix compilation errors in C++ mode on FreeBSD.
1401         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
1402         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
1403         * lib/threads.in.h (thrd_exit): Likewise.
1404         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
1406 2019-12-08  Bruno Haible  <bruno@clisp.org>
1408         Fix compilation errors in C++ mode on macOS and FreeBSD.
1409         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
1410         or FreeBSD with clang, use the approach without C preprocessor macro.
1412 2019-12-07  Bruno Haible  <bruno@clisp.org>
1414         Fix compilation errors in C++ mode on AIX with xlclang++.
1415         Reported by Christian Biesinger <cbiesinger@google.com> in
1416         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
1417         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
1419 2019-12-07  Bruno Haible  <bruno@clisp.org>
1421         Document compilation error in C++ mode on NetBSD 8.0.
1422         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
1424 2019-12-07  Bruno Haible  <bruno@clisp.org>
1426         Fix compilation errors in C++ mode on Solaris 10.
1427         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
1428         to non-empty on Solaris with a non-GCC compiler.
1429         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
1431 2019-12-07  Bruno Haible  <bruno@clisp.org>
1433         Reword NEWS entry.
1434         * NEWS: Reword the latest NEWS entry.
1436 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
1438         Move xstrtol_fatal to a new xstrtol-error module.
1439         * lib/xstrtol.h: Stop including <getopt.h>.
1440         (xstrtol_fatal): Move ...
1441         * lib/xstrtol-error.h: ... here.  New file.
1442         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
1443         * tests/test-xstrtol.c: Likewise.
1444         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
1445         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
1446         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
1447         * modules/xstrtol-error: New file.
1448         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
1449         * MODULES.html.sh: Add xstrtol-error.
1450         * NEWS: Document the change.
1452 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1454         nstrftime: better width support for %N, %z
1455         * lib/nstrftime.c (width_add, width_add1, width_cpy):
1456         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
1457         a new WIDTH parameter.
1458         (add, add1, cpy): Use these macros.
1459         (width_add): Do not treat digits == 0 as a special case,
1460         do not pad if padding is ‘-’, and do not use a negative width.
1461         (__strftime_internal): Redo formatting of nanoseconds and numeric
1462         timezones to avoid buffer misuse in unusual cases, and so that
1463         widths make more sense.  Add support for widths greater than 9 to
1464         the %N format; they are zero filled on the right.
1465         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
1467 2019-12-05  Bruno Haible  <bruno@clisp.org>
1469         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
1470         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
1471         set REPLACE_ISFINITE to 1.
1472         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
1473         REPLACE_ISINF to 1.
1474         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
1475         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
1476         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
1477         * lib/threads.in.h (call_once): Likewise.
1478         * lib/iconv.in.h (iconv): Likewise.
1480 2019-12-05  Bruno Haible  <bruno@clisp.org>
1482         wchar: Add more C++ tests.
1483         Reported by Christian Biesinger <cbiesinger@google.com> in
1484         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
1485         * tests/test-wchar-c++3.cc: New file.
1486         * modules/wchar-c++-tests (Files): Add it.
1487         (Makefile.am): Compile it.
1489 2019-12-05  Bruno Haible  <bruno@clisp.org>
1491         Add more C++ tests.
1493         assert-h: Add C++ tests.
1494         * tests/test-assert-h-c++.cc: New file.
1495         * tests/test-assert-h-c++2.cc: New file.
1496         * modules/assert-h-c++-tests: New file.
1497         * modules/assert-h-tests: New file.
1499         ctype: Add C++ tests.
1500         * tests/test-ctype-c++.cc: New file.
1501         * tests/test-ctype-c++2.cc: New file.
1502         * modules/ctype-c++-tests: New file.
1503         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
1505         errno: Add C++ tests.
1506         * tests/test-errno-c++.cc: New file.
1507         * tests/test-errno-c++2.cc: New file.
1508         * modules/errno-c++-tests: New file.
1509         * modules/errno-tests (Depends-on): Add errno-c++-tests.
1511         float: Add C++ tests.
1512         * tests/test-float-c++.cc: New file.
1513         * tests/test-float-c++2.cc: New file.
1514         * modules/float-c++-tests: New file.
1515         * modules/float-tests (Depends-on): Add float-c++-tests.
1517         inttypes: Add more C++ tests.
1518         * tests/test-inttypes-c++2.cc: New file.
1519         * modules/inttypes-c++-tests (Files): Add it.
1520         (Makefile.am): Compile it.
1522         limits-h: Add C++ tests.
1523         * tests/test-limits-h-c++.cc: New file.
1524         * tests/test-limits-h-c++2.cc: New file.
1525         * modules/limits-h-c++-tests: New file.
1526         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
1528         stdarg: Add C++ tests.
1529         * tests/test-stdarg-c++.cc: New file.
1530         * tests/test-stdarg-c++2.cc: New file.
1531         * modules/stdarg-c++-tests: New file.
1532         * modules/stdarg-tests: New file.
1534         stdbool: Add C++ tests.
1535         * tests/test-stdbool-c++.cc: New file.
1536         * tests/test-stdbool-c++2.cc: New file.
1537         * modules/stdbool-c++-tests: New file.
1538         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
1540         stddef: Add C++ tests.
1541         * tests/test-stddef-c++.cc: New file.
1542         * tests/test-stddef-c++2.cc: New file.
1543         * modules/stddef-c++-tests: New file.
1544         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
1546         stdint: Add C++ tests.
1547         * tests/test-stdint-c++.cc: New file.
1548         * tests/test-stdint-c++2.cc: New file.
1549         * modules/stdint-c++-tests: New file.
1550         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
1552         wchar: Add more C++ tests.
1553         * tests/test-wchar-c++2.cc: New file.
1554         * modules/wchar-c++-tests (Files): Add it.
1555         (Makefile.am): Compile it.
1557         wctype-h: Add more C++ tests.
1558         * tests/test-wctype-h-c++2.cc: New file.
1559         * modules/wctype-h-c++-tests (Files): Add it.
1560         (Makefile.am): Compile it.
1562 2019-12-04  Bruno Haible  <bruno@clisp.org>
1564         Fix compilation errors in C++ mode with xlclang++ on AIX.
1565         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
1566         C++ mode on AIX.
1567         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
1568         without C preprocessor macro.
1569         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
1570         _GL_CXXALIAS_SYS.
1571         * lib/threads.in.h (thrd_exit): Likewise.
1573 2019-12-04  Bruno Haible  <bruno@clisp.org>
1575         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
1576         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
1577         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
1579 2019-12-04  Bruno Haible  <bruno@clisp.org>
1581         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
1582         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
1583         _GL_CXXALIASWARN invocation on non-glibc systems.
1584         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
1585         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
1586         iswctype, towlower, towupper): Likewise.
1588 2019-12-03  Bruno Haible  <bruno@clisp.org>
1590         Avoid hassles caused by [[noreturn]] in C++.
1591         Reported by Christian Biesinger <cbiesinger@google.com> in
1592         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
1593         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
1594         * lib/_Noreturn.h: Likewise.
1596 2019-12-02  Bruno Haible  <bruno@clisp.org>
1598         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
1599         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
1600         LIBMULTITHREAD.
1601         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
1602         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
1603         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
1604         gl_THREADLIB.
1605         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
1607 2019-12-02  Bruno Haible  <bruno@clisp.org>
1609         Fix some more link errors with --enable-threads=isoc.
1610         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
1611         * modules/pthread-rwlock (Depends-on): Likewise.
1613 2019-12-02  Bruno Haible  <bruno@clisp.org>
1615         Fix link errors with --enable-threads=posix on AIX.
1616         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
1617         program with $(LIBTHREAD).
1618         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
1619         program with $(LIBTHREAD).
1621 2019-12-02  Bruno Haible  <bruno@clisp.org>
1623         Fix link errors with --enable-threads=posix on AIX.
1624         * modules/mbrtowc (Link): New section.
1625         * modules/acl (Link): Likewise.
1626         * modules/argmatch (Link): Likewise.
1627         * modules/backup-rename (Link): Likewise.
1628         * modules/backupfile (Link): Likewise.
1629         * modules/closein (Link): Likewise.
1630         * modules/closeout (Link): Likewise.
1631         * modules/copy-file (Link): Likewise.
1632         * modules/csharpcomp (Link): Likewise.
1633         * modules/csharpexec (Link): Likewise.
1634         * modules/dfa (Link): Likewise.
1635         * modules/exclude (Link): Likewise.
1636         * modules/fnmatch (Link): Likewise.
1637         * modules/fnmatch-gnu (Link): Likewise.
1638         * modules/fnmatch-posix (Link): Likewise.
1639         * modules/glob (Link): Likewise.
1640         * modules/human (Link): Likewise.
1641         * modules/javacomp (Link): Likewise.
1642         * modules/javaexec (Link): Likewise.
1643         * modules/javaversion (Link): Likewise.
1644         * modules/mbfile (Link): Likewise.
1645         * modules/mbiter (Link): Likewise.
1646         * modules/mbmemcasecmp (Link): Likewise.
1647         * modules/mbmemcasecoll (Link): Likewise.
1648         * modules/mbrlen (Link): Likewise.
1649         * modules/mbscasecmp (Link): Likewise.
1650         * modules/mbscasestr (Link): Likewise.
1651         * modules/mbschr (Link): Likewise.
1652         * modules/mbscspn (Link): Likewise.
1653         * modules/mbsinit (Link): Likewise.
1654         * modules/mbslen (Link): Likewise.
1655         * modules/mbsncasecmp (Link): Likewise.
1656         * modules/mbsnlen (Link): Likewise.
1657         * modules/mbsnrtowcs (Link): Likewise.
1658         * modules/mbspbrk (Link): Likewise.
1659         * modules/mbspcasecmp (Link): Likewise.
1660         * modules/mbsrchr (Link): Likewise.
1661         * modules/mbsrtowcs (Link): Likewise.
1662         * modules/mbssep (Link): Likewise.
1663         * modules/mbsspn (Link): Likewise.
1664         * modules/mbsstr (Link): Likewise.
1665         * modules/mbstok_r (Link): Likewise.
1666         * modules/mbswidth (Link): Likewise.
1667         * modules/mbuiter (Link): Likewise.
1668         * modules/mkdir-p (Link): Likewise.
1669         * modules/propername (Link): Likewise.
1670         * modules/quote (Link): Likewise.
1671         * modules/quotearg (Link): Likewise.
1672         * modules/quotearg-simple (Link): Likewise.
1673         * modules/regex-quote (Link): Likewise.
1674         * modules/rpmatch (Link): Likewise.
1675         * modules/sh-quote (Link): Likewise.
1676         * modules/system-quote (Link): Likewise.
1677         * modules/trim (Link): Likewise.
1678         * modules/unistdio/ulc-asnprintf (Link): Likewise.
1679         * modules/unistdio/ulc-fprintf (Link): Likewise.
1680         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
1681         * modules/unistdio/ulc-vasprintf (Link): Likewise.
1682         * modules/unistdio/ulc-vfprintf (Link): Likewise.
1683         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
1684         * modules/unistdio/ulc-vsprintf (Link): Likewise.
1685         * modules/xfreopen (Link): Likewise.
1686         * modules/xmemcoll (Link): Likewise.
1687         * modules/yesno (Link): Likewise.
1688         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
1689         * modules/argmatch-tests (Makefile.am): Likewise.
1690         * modules/closein-tests (Makefile.am): Likewise.
1691         * modules/copy-file-tests (Makefile.am): Likewise.
1692         * modules/dfa-tests (Makefile.am): Likewise.
1693         * modules/fnmatch-tests (Makefile.am): Likewise.
1694         * modules/glob-tests (Makefile.am): Likewise.
1695         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
1696         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
1697         * modules/mbrtowc-tests (Makefile.am): Likewise.
1698         * modules/mbscasecmp-tests (Makefile.am): Likewise.
1699         * modules/mbscasestr-tests (Makefile.am): Likewise.
1700         * modules/mbschr-tests (Makefile.am): Likewise.
1701         * modules/mbscspn-tests (Makefile.am): Likewise.
1702         * modules/mbsinit-tests (Makefile.am): Likewise.
1703         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
1704         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
1705         * modules/mbspbrk-tests (Makefile.am): Likewise.
1706         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
1707         * modules/mbsrchr-tests (Makefile.am): Likewise.
1708         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
1709         * modules/mbsspn-tests (Makefile.am): Likewise.
1710         * modules/mbsstr-tests (Makefile.am): Likewise.
1711         * modules/quotearg-tests (Makefile.am): Likewise.
1712         * modules/quotearg-simple-tests (Makefile.am): Likewise.
1713         * modules/readtokens-tests (Makefile.am): Likewise.
1714         * modules/regex-quote-tests (Makefile.am): Likewise.
1715         * modules/sh-quote-tests (Makefile.am): Likewise.
1716         * modules/system-quote-tests (Makefile.am): Likewise.
1717         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
1718         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
1719         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
1720         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
1721         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
1722         * modules/yesno-tests (Makefile.am): Likewise.
1724 2019-12-02  Bruno Haible  <bruno@clisp.org>
1726         Simplify link sections.
1727         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
1728         * modules/lock (Link): Likewise.
1729         * modules/cond (Link): Likewise.
1730         * modules/tls (Link): Likewise.
1731         * modules/yield (Link): Likewise.
1732         * modules/regex (Link): Likewise.
1733         * modules/localename (Link): Likewise.
1734         * modules/unicase/locale-language (Link): Likewise.
1735         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
1737 2019-12-02  Bruno Haible  <bruno@clisp.org>
1739         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
1740         * tests/test-thread_self.c (main): Disable test on AIX.
1742 2019-12-01  Bruno Haible  <bruno@clisp.org>
1744         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
1745         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
1746         gl_THREADLIB_EARLY_BODY.
1747         (gl_THREADLIB_EARLY_BODY): Invoke it.
1748         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
1749         (gl_THREADLIB_BODY): Invoke it.
1750         (gl_PTHREADLIB): New macro.
1751         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
1752         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
1753         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
1754         * modules/pthread-h (Files): Add threadlib.m4.
1755         (Depends-on): Remove threadlib.
1756         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
1757         and _THREAD_SAFE here.
1758         (Link): Use LIBPTHREAD, not LIBTHREAD.
1759         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
1760         LIBMULTITHREAD.
1761         * modules/pthread-once (Link): Likewise.
1762         * modules/pthread-mutex (Link): Likewise.
1763         * modules/pthread-rwlock (Link): Likewise.
1764         * modules/pthread-cond (Link): Likewise.
1765         * modules/pthread-tss (Link): Likewise.
1766         * modules/pthread-spin (Link): Likewise.
1767         * modules/pthread (Link): Likewise.
1768         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
1769         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
1770         * modules/pthread-once-tests (test_pthread_once1_LDADD,
1771         test_pthread_once2_LDADD): Likewise.
1772         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
1773         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
1774         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
1775         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
1777 2019-12-01  Bruno Haible  <bruno@clisp.org>
1779         cond: State linking requirements.
1780         * modules/cond (Link): New section.
1782 2019-12-01  Bruno Haible  <bruno@clisp.org>
1784         threadlib: Remove unnecessary file (left over from 2019-07-06).
1785         * modules/threadlib (Files): Remove config.rpath.
1787 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
1789         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
1790         Reported by Dagobert Michelsen <dam@opencsw.org> in
1791         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
1792         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
1793         list of strings instead of one string.
1794         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
1795         * pygnulib/GLImport.py (execute): Likewise.
1797 2019-11-27  Bruno Haible  <bruno@clisp.org>
1799         openpty, forkpty: Fix build error on Solaris 11.4.
1800         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
1801         also in <termios.h>.
1802         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
1803         of the function also in <termios.h>.
1804         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
1805         * doc/glibc-functions/forkpty.texi: Likewise.
1807 2019-11-27  Bruno Haible  <bruno@clisp.org>
1809         New options --enable-threads=isoc and --enable-threads=isoc+posix.
1810         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
1811         --enable-threads=isoc and --enable-threads=isoc+posix.
1812         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
1813         When both the ISO C and the POSIX threads API are available, choose
1814         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
1815         --enable-threads=isoc+posix was specified. When only the ISO C threads
1816         API is available and --enable-threads=iso was specified, choose
1817         USE_ISOC_THREADS.
1818         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
1819         USE_ISOC_AND_POSIX_THREADS.
1820         * lib/glthread/lock.c: Likewise.
1821         * lib/glthread/cond.h: Likewise.
1822         * lib/glthread/cond.c: Likewise.
1823         * lib/glthread/tls.h: Likewise.
1824         * lib/glthread/tls.c: Likewise.
1825         * lib/glthread/yield.h: Likewise.
1826         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
1827         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
1828         * lib/glthread/thread.c: Likewise.
1829         * lib/glthread/threadlib.c: Likewise.
1830         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
1831         USE_ISOC_AND_POSIX_THREADS.
1832         * tests/test-cond.c: Consider USE_ISOC_THREADS and
1833         USE_ISOC_AND_POSIX_THREADS.
1834         * tests/test-tls.c: Likewise.
1835         * tests/test-thread_create.c (main): Likewise.
1836         * tests/test-pthread-cond.c: Likewise.
1837         * tests/test-pthread-mutex.c: Likewise.
1838         * tests/test-pthread-once2.c: Likewise.
1839         * tests/test-pthread-rwlock.c: Likewise.
1840         * tests/test-pthread-tss.c: Likewise.
1841         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
1842         USE_POSIX_THREADS.
1844 2019-11-24  Bruno Haible  <bruno@clisp.org>
1846         mbrtowc: Modernize autoconf test.
1847         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
1848         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
1849         try a UTF-8 locale.
1850         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
1852 2019-11-24  Bruno Haible  <bruno@clisp.org>
1854         Fix errors in C++ mode on mingw.
1855         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
1856         instead of _GL_CXXALIAS_SYS.
1857         * lib/signal.in.h (pthread_sigmask): Likewise.
1858         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
1859         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
1860         Likewise.
1861         * lib/wchar.in.h (btowc): Likewise.
1863 2019-11-24  Bruno Haible  <bruno@clisp.org>
1865         sys_time: Fix errors in C++ mode on mingw.
1866         * lib/sys_time.in.h (timeval): Restore the redirection
1867         '#define timeval rpl_timeval', for when the symbol timeval is being used
1868         outside the 'gnulib' namespace.
1869         * lib/sys_select.in.h (select): In C++, write 'timeval', not
1870         'struct timeval'.
1872 2019-11-24  Bruno Haible  <bruno@clisp.org>
1874         iswctype: Fix errors in C++ mode on mingw.
1875         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
1876         is 1.
1877         * lib/iswctype.c (iswctype): Add another implementation, for the
1878         GNULIB_defined_wint_t case.
1879         * modules/iswctype (configure.ac): Compile iswctype.c also if
1880         GNULIB_OVERRIDES_WINT_T is 1.
1882 2019-11-24  Bruno Haible  <bruno@clisp.org>
1884         windows-timedmutex: Fix errors in C++ mode on mingw.
1885         * lib/windows-timedmutex.h: Add closing brace.
1887 2019-11-24  Bruno Haible  <bruno@clisp.org>
1889         Fix errors in C++ mode on Cygwin.
1890         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
1891         _GL_CXXALIAS_SYS.
1893 2019-11-24  Bruno Haible  <bruno@clisp.org>
1895         time_r: Fix for mingw (regression from 2019-11-16).
1896         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
1897         AC_LINK_IFELSE test only if the function does not appear to exist.
1899 2019-11-24  Bruno Haible  <bruno@clisp.org>
1901         wcstok: Add tests.
1902         * tests/test-wcstok.c: New file.
1903         * modules/wcstok-tests: New file.
1905 2019-11-24  Bruno Haible  <bruno@clisp.org>
1907         wcstok: Work around wrong signature on native Windows.
1908         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
1909         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
1910         REPLACE_WCSTOK.
1911         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
1912         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
1913         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
1914         * doc/posix-functions/wcstok.texi: Mention the problem.
1916 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
1918         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
1919         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
1920         remove workaround for GCC bug 91450 as the bug should be fixed
1921         there too.
1923 2019-11-21  Bruno Haible  <bruno@clisp.org>
1925         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
1926         Reported by Christian Biesinger <cbiesinger@google.com> in
1927         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
1928         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
1929         non-glibc systems.
1930         * lib/locale.in.h (localeconv, setlocale): Likewise.
1931         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
1932         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
1933         rint, round, trunc): Likewise.
1934         * lib/monetary.in.h (strfmon_l): Likewise.
1935         * lib/pthread.in.h (pthread_mutexattr_getrobust,
1936         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
1937         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
1938         pthread_spin_destroy): Likewise.
1939         * lib/signal.in.h (raise, signal): Likewise.
1940         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
1941         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
1942         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
1943         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
1944         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
1945         Likewise.
1946         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
1947         Likewise.
1948         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
1949         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
1950         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
1951         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
1952         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
1953         wcsftime): Likewise.
1954         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
1956 2019-11-21  Bruno Haible  <bruno@clisp.org>
1958         Fix various errors in _GL_CXXALIAS_SYS invocations.
1959         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
1960         _GL_CXXALIAS_SYS.
1961         * lib/pthread.in.h (pthread_mutexattr_gettype,
1962         pthread_mutexattr_getrobust): Likewise.
1963         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
1964         * lib/sys_socket.in.h (recv, send): Likewise.
1965         * lib/unistd.in.h (getdtablesize): Likewise.
1966         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
1967         'struct timeval'.
1969 2019-11-21  Bruno Haible  <bruno@clisp.org>
1971         math tests: Update after 2019-08-28 change.
1972         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
1973         return type of 'bool', not 'int'.
1975 2019-11-21  Bruno Haible  <bruno@clisp.org>
1977         pthread-spin: Fix errors in C++ mode.
1978         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
1979         functions as nonexistent when <pthread.h> exists but does not define
1980         the pthread_spinlock_t type.
1982 2019-11-21  Bruno Haible  <bruno@clisp.org>
1984         pthread-mutex: Fix errors in C++ mode.
1985         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
1986         pthread_mutexattr_getrobust exists. If not, define
1987         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
1988         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
1989         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
1990         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
1991         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
1992         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
1993         definition.
1995 2019-11-19  Bruno Haible  <bruno@clisp.org>
1997         threads-h tests: Fix typo.
1998         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
2000 2019-11-19  Bruno Haible  <bruno@clisp.org>
2002         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
2003         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
2004         to 'const pthread_attr_t *'.
2005         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
2006         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
2008 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
2010         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
2011         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
2012         work around GCC bug 91450 as the bug should be fixed there.
2014 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
2016         glob: get closer to glibc glob.c
2017         Omit differences from glibc when the differences don’t matter.
2018         * lib/glob.c [_LIBC]: Include shlib-compat.h.
2019         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
2020         (glob_lstat): New function.
2021         (glob_in_dir): Use it.
2022         (GLOB_ATTRIBUTE): Define to empty if not already defined.
2023         Use changed.
2025 2019-11-18  Bruno Haible  <bruno@clisp.org>
2027         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
2028         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
2029         UINTPTR_MAX): Consider _WIN64.
2030         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
2031         a pointer.
2033 2019-11-18  Bruno Haible  <bruno@clisp.org>
2035         stdint: Fix value of WINT_MAX when we override wint_t.
2036         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
2037         when GNULIB_OVERRIDES_WINT_T is 1.
2039 2019-11-18  Bruno Haible  <bruno@clisp.org>
2041         vcs-to-changelog: New module.
2042         * modules/vcs-to-changelog: New file.
2043         * MODULES.html.sh (func_all_modules): Add it.
2045 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2047         vcs-to-changelog: New script to generate ChangeLog-like output.
2048         Discussion:
2049         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
2050         * build-aux/vcs_to_changelog.py: New file.
2051         * build-aux/vcstocl/frontend_c.py: New file.
2052         * build-aux/vcstocl/misc_util.py: New file.
2053         * build-aux/vcstocl/vcs_git.py: New file.
2055 2019-11-18  Bruno Haible  <bruno@clisp.org>
2057         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
2058         Reported by Keith Marshall <keith@users.osdn.me> in
2059         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
2060         and <https://osdn.net/projects/mingw/ticket/39677>.
2061         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
2062         already been defined by mingw's <crtdefs.h>.
2064 2019-11-18  Bruno Haible  <bruno@clisp.org>
2066         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
2067         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
2068         conditionally enabled.
2070 2019-11-18  Bruno Haible  <bruno@clisp.org>
2072         gc: Mirror libgcrypt.m4 from libgcrypt.
2073         * config/srclistvars.sh (LIBGCRYPT): New variable.
2074         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
2076 2019-11-17  Bruno Haible  <bruno@clisp.org>
2078         locale, localename: Improve z/OS support.
2079         Reported by Daniel Richard G. in
2080         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
2081         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
2082         gl_LOCALE_H.
2083         (gl_LOCALE_H): Require it.
2084         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
2085         defined, don't even check for newlocale, duplocale, freelocale.
2086         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
2087         locale_t is not defined.
2089 2019-11-17  Bruno Haible  <bruno@clisp.org>
2091         havelib: Make libdirstems processing more flexible.
2092         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
2093         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
2094         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
2095         patch from 2017-02-19).
2096         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
2097         libdirs, even when the first one exists as a directory.
2099 2019-11-17  Bruno Haible  <bruno@clisp.org>
2101         havelib: Match the bitness when searching for libraries.
2102         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
2103         acl_is_expected_elfclass.
2104         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
2105         file exists, in ELF, also test whether it has the ELF class that
2106         corresponds to the host's bitness.
2108 2019-11-17  Bruno Haible  <bruno@clisp.org>
2110         host-cpu-c-abi: Add support for unknown CPUs.
2111         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
2112         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
2113         32-bit or 64-bit.
2115 2019-11-17  Bruno Haible  <bruno@clisp.org>
2117         havelib: Remove redundant code.
2118         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
2119         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
2121 2019-11-17  Bruno Haible  <bruno@clisp.org>
2123         havelib: Fix a bug in dependency processing.
2124         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
2125         of .la files, don't overwrite the value of additional_libdir for the
2126         next rounds.
2128 2019-11-16  Bruno Haible  <bruno@clisp.org>
2130         wctype-h: When overriding wint_t, override also the related functions.
2131         Reported by Christian Biesinger <cbiesinger@google.com> in
2132         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
2133         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
2134         REPLACE_ISWCNTRL to 1.
2135         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
2136         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
2137         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
2138         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
2139         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
2140         on mingw.
2141         * doc/posix-headers/wctype.texi: Likewise.
2143 2019-11-16  Bruno Haible  <bruno@clisp.org>
2145         time_r: Fix for mingw.
2146         Reported by Christian Biesinger <cbiesinger@google.com> in
2147         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
2148         * lib/time.in.h: On mingw, include <unistd.h>.
2149         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
2150         <time.h>. Test for localtime_r in a way that works when it is defined
2151         as an inline function.
2153 2019-11-13  Bruno Haible  <bruno@clisp.org>
2155         havelib: Revert last change.
2156         * build-aux/config.rpath: Revert last change. We can add msys2 support
2157         when it has been added to libtool.m4 upstream.
2159 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2161         config: add msys support
2162         Requested by Arnold Robbins in:
2163         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
2164         He also requested a change to config.guess, which I’ll forward
2165         upstream.
2166         * build-aux/ar-lib (func_file_conv):
2167         * build-aux/compile (func_file_conv):
2168         * build-aux/config.rpath (wl, with_gnu_ld)
2169         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
2170         Treat msys like cygwin.
2172 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2174         regex: now back in sync with glibc
2175         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
2176         regexec.c got merged into glibc and are now copies again.
2178 2019-10-27  Bruno Haible  <bruno@clisp.org>
2180         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
2181         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
2182         statement.
2183         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
2184         32-bit CPUs.
2186 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2188         timespec-add, timespec-sub: simplify
2189         * lib/timespec-add.c (timespec_add):
2190         * lib/timespec-sub.c (timespec_sub):
2191         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
2192         work on unsigned integers.
2194 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
2196         nstrftime: speed up integer overflow checking
2197         * lib/nstrftime.c: Include intprops.h.
2198         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
2199         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
2200         instead of doing it by hand.
2201         * modules/nstrftime (Depends-on): Add intprops.
2203         Port better to GCC under macOS
2204         Work around macOS header that has ‘#define __has_builtin(x) 0’
2205         when compiled by GCC.  Apple really, really doesn’t want you to
2206         use GCC, apparently.  Rroblem reported by Akim Demaille in:
2207         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
2208         The fix is to not trust __has_builtin when being compiled by
2209         recent-enough GCC.
2210         * lib/intprops.h (__has_builtin)
2211         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
2212         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
2213         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
2214         Remove.  All uses removed.
2215         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
2216         directly, if defined and if not newer GCC.
2217         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
2218         New macro, that use __has_builtin directly, if defined and if
2219         not newer GCC.
2220         (assume): Use them.
2222 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
2224         maintainer-makefile: update rule for argmatch.
2225         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
2227 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
2229         bitset: let freeing functions accept NULL.
2230         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
2231         given NULL.
2232         * lib/bitset.h: Document that.
2233         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
2235 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2237         inttypes: use more-robust test for int range
2238         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
2239         Problem reported by Dagobert Michelsen in:
2240         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
2241         * lib/inttypes.in.h: Rely only on limits.h when checking
2242         int range.
2244 2019-10-15  Bruno Haible  <bruno@clisp.org>
2246         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
2247         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
2248         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
2249         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
2250         term_ostream_set_hyperlink): New functions.
2251         (term_styled_ostream_get_hyperlink_ref,
2252         term_styled_ostream_get_hyperlink_id,
2253         term_styled_ostream_set_hyperlink): New function aliases.
2255 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2257         update-copyright: use en dashes in .texi ranges
2258         * build-aux/update-copyright: Match year ranges like "1998--2019",
2259         which are used in the Autoconf manual.  Also, update ranges in
2260         .tex, .texi, and .texinfo files to use en dashes instead of
2261         hyphens.
2263 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
2265         * config/srclist.txt: Remove posix/regex_internal.c for now.
2267 2019-10-13  Bruno Haible  <bruno@clisp.org>
2269         git-version-gen: Allow 'snapshot' as .tarball-version contents.
2270         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
2271         contents to the empty string.
2273 2019-10-12  Bruno Haible  <bruno@clisp.org>
2275         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
2276         * tests/test-intprops.c (main): Disable two more tests when using
2277         HP-UX cc.
2279 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2281         Simplify and regularize regex use of ‘assert’
2282         Also, tell GCC about the asserts even when compiling without
2283         debugging, to give it further optimization opportunities.
2284         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
2285         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
2286         (parse_expression, parse_bracket_exp):
2287         * lib/regex_internal.c (build_wcs_buffer)
2288         (build_wcs_upper_buffer, re_string_reconstruct)
2289         (re_string_context_at):
2290         * lib/regexec.c (re_search_stub, re_copy_regs)
2291         (re_search_internal, prune_impossible_nodes, check_matching)
2292         (check_halt_state_context, set_regs, sift_states_backward)
2293         (build_sifted_states, transit_state_mb, transit_state_bkref)
2294         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
2295         (match_ctx_add_subtop):
2296         Use it instead of plain ‘assert’.
2298 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
2300         regex: omit debug assignment when not debugging
2301         * lib/regexec.c (re_search_internal) [!DEBUG]:
2302         Remove unnecessary assignment.
2304         regex: tell compiler there’s at most 256 arcs out
2305         Partly this is to help the reader (and maybe help GCC);
2306         partly this is to pacify Coverity.
2307         * lib/regex_internal.h: Include verify.h.
2308         * lib/regexec.c (group_nodes_into_DFAstates):
2309         Tell the compiler that ndests cannot exceed SBC_MAX.
2310         * modules/regex (Depends-on): Add ‘verify’.
2312         regex: simplify by assuming C99
2313         * config/srclist.txt: Comment out regex_internal.h and regexec.c
2314         temporarily.
2315         * lib/regex_internal.h (lock_define, re_match_context_t):
2316         Simplify by assuming C99 macros and const.
2317         * lib/regexec.c (re_search_internal): Simplify by assuming C99
2318         initializers.  Remove unnecessary assignment, as mctx is now
2319         safely initialized earlier.
2321         regex: avoid copying of uninitialized storage
2322         * config/srclist.txt: Comment out regcomp.c temporarily.
2323         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
2324         Initialize even when not checking for lint, as the behavior is
2325         arguably undefined otherwise and Coverity warns about it.
2327 2019-10-06  Bruno Haible  <bruno@clisp.org>
2329         access tests: Fix test failure when run as root.
2330         * tests/test-access.c: Include root-uid.h.
2331         (geteuid): Define fallback.
2332         (main): Don't expect that writing to a read-only file would fail when
2333         running as root. Also, remove the created files at the end.
2334         * modules/access-tests (Depends-on): Add root-uid.
2335         (configure.ac): Test whether geteuid exists.
2337 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
2339         users.txt: add GNU nano
2340         Nano has been making use of gnulib since March 2017, version 2.8.0.
2342 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2344         bootstrap: simplify debugging of wget failures
2345         Problem reported by Tim Rühsen in:
2346         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
2347         * build-aux/bootstrap (po_download_command_format):
2348         Invoke wget with -nv instead of -q, to make debugging easier.
2350 2019-09-29  Bruno Haible  <bruno@clisp.org>
2352         avltree-list: Fix compilation warning (introduced on 2014-09-16).
2353         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
2354         'const' attribute.
2356 2019-09-29  Bruno Haible  <bruno@clisp.org>
2358         fbufmode: Fix compilation error on glibc >= 2.28 systems.
2359         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
2361 2019-09-28  Bruno Haible  <bruno@clisp.org>
2363         Update comments that refer to POSIX.
2364         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
2365         sentence about trailing slashes.
2366         * lib/fflush.c: Clarify the reasoning.
2367         * tests/test-fflush2.c: Cite the relevant sentence.
2369 2019-09-28  Bruno Haible  <bruno@clisp.org>
2371         access: Document limitations on Windows.
2372         Suggested by Zaretskii <eliz@gnu.org>.
2373         * doc/posix-functions/access.texi: Mention two limitations on Windows.
2375 2019-09-28  Bruno Haible  <bruno@clisp.org>
2377         findprog-in: Fix comment.
2378         Reported by Eli Zaretskii <eliz@gnu.org>.
2379         * lib/findprog.h (find_in_given_path): Extend description of EACCES
2380         condition.
2381         * lib/stat.c (rpl_stat): Fix typo in comment.
2382         * lib/utime.c (_gl_utimens_windows): Likewise.
2384 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2386         Update URLs and associated text
2387         (Thanks to Bruno Haible for proofreading this patch.)
2388         Prefer https: to http: in URLs where either will do, for the usual
2389         security reasons.  I also updated broken and/or moved URLs
2390         discovered during the process. In a few places I had to resort to
2391         archive.org, since I didn't find the originals elsewhere.
2393 2019-09-15  Paul Smith  <psmith@gnu.org>
2394             Bruno Haible  <bruno@clisp.org>
2396         findprog-in: Set errno when the search fails.
2397         * lib/findprog-in.c: Include <errno.h>.
2398         (find_in_given_path): Set errno before returning NULL.
2399         * lib/findprog.h (find_in_given_path): Update comment accordingly.
2400         Define the term "slash".
2402 2019-09-15  Bruno Haible  <bruno@clisp.org>
2404         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
2405         * modules/findprog (Depends-on): Add access.
2406         * modules/findprog-lgpl (Depends-on): Likewise.
2407         * modules/findprog-in (Depends-on): Likewise.
2409 2019-09-15  Bruno Haible  <bruno@clisp.org>
2411         access: Add tests.
2412         * tests/test-access.c: New file.
2413         * modules/access-tests: New file.
2415         access: New module.
2416         * lib/unistd.in.h (access): New declaration.
2417         * lib/access.c: New file.
2418         * m4/access.m4: New file.
2419         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
2420         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
2421         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
2422         REPLACE_ACCESS.
2423         * modules/access: New file.
2424         * tests/test-unistd-c++.cc (access): Check signature.
2425         * doc/posix-functions/access.texi: Mention the new module.
2427 2019-09-15  Bruno Haible  <bruno@clisp.org>
2429         fcntl-h: Fix compilation error of creat.c on MSVC.
2430         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
2431         defined.
2433 2019-09-15  Bruno Haible  <bruno@clisp.org>
2435         creat: Add tests.
2436         * tests/test-creat.c: New file, based on tests/test-open.h.
2437         * modules/creat-tests: New file.
2439         creat: New module.
2440         * lib/fcntl.in.h (creat): New declaration.
2441         * lib/creat.c: New file, based on lib/open.c.
2442         * m4/creat.m4: New file.
2443         * m4/open-slash.m4: New file, extracted from m4/open.m4.
2444         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
2445         Invoke gl_OPEN_TRAILING_SLASH_BUG.
2446         * modules/open (Files): Add m4/open-slash.m4.
2447         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
2448         REPLACE_CREAT.
2449         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
2450         * modules/creat: New file.
2451         * tests/test-fcntl-h-c++.cc (creat): Check signature.
2452         * doc/posix-functions/creat.texi: Mention the new module.
2454 2019-09-15  Bruno Haible  <bruno@clisp.org>
2456         open tests: Enhance test.
2457         * tests/test-open.h (test_open): Test the creation of an executable
2458         regular file. Also improve initial cleanup.
2460 2019-09-15  Bruno Haible  <bruno@clisp.org>
2462         intprops tests: Avoid build failure with HP-UX cc.
2463         * tests/test-intprops.c: Disable a check that makes HP cc choke with
2464         "error 4018: Macro param too large after substitution - use -H option.".
2466 2019-09-14  Bruno Haible  <bruno@clisp.org>
2468         Make autoconf tests work with -Werror=implicit-function-declaration.
2469         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
2470         towupper() declaration.
2471         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
2472         declaration.
2474 2019-09-14  Bruno Haible  <bruno@clisp.org>
2476         findprog-in: Better mimic the system on native Windows.
2477         Reported by Paul Smith <psmith@gnu.org>.
2478         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
2479         non-empty suffixes when the file name already contains a '.'.
2481 2019-09-10  Bruno Haible  <bruno@clisp.org>
2483         wctob: Fix autoconf test.
2484         Based on patch by Florian Weimer <fweimer@redhat.com>.
2485         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
2487 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
2489         xhash: provide hash_xinitialize.
2490         Suggested by Egor Pugin <egor.pugin@gmail.com>
2491         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
2492         * modules/xhash, lib/xhash.c: New.
2493         * lib/hash.h (hash_xinitialize): New.
2495 2019-09-09  Bruno Haible  <bruno@clisp.org>
2497         findprog-in: Make exec optimization optional.
2498         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
2499         (find_in_given_path): Add optimize_for_exec parameter.
2500         * lib/findprog-in.c (find_in_given_path): Likewise.
2502 2019-09-08  Bruno Haible  <bruno@clisp.org>
2504         Add option to assume the best, not the worst, when cross-compiling.
2505         Suggested by Jonas Termansen <sortie@maxsi.org>.
2506         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
2507         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
2508         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
2509         lt_cv_sys_argz_works.
2510         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
2511         ac_cv_func_calloc_0_nonnull.
2512         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
2513         --enable-cross-guesses for gl_cv_func_realpath_works.
2514         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
2515         gl_cv_func_cbrtl_ieee.
2516         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
2517         gl_cv_func_ceil_ieee.
2518         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
2519         gl_cv_func_ceilf_ieee.
2520         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
2521         gl_cv_func_ceill_ieee.
2522         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
2523         ac_cv_func_chown_works.
2524         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
2525         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
2526         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
2527         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
2528         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
2529         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
2530         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
2531         gl_cv_func_expl_works.
2532         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
2533         gl_cv_func_expm1_ieee.
2534         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
2535         gl_cv_func_expm1l_works.
2536         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
2537         gl_cv_func_open_directory_works.
2538         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
2539         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
2540         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
2541         gl_cv_func_fchownat_empty_filename_works.
2542         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
2543         gl_cv_func_fdopendir_works.
2544         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
2545         gl_cv_func_floor_ieee.
2546         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
2547         gl_cv_func_floorf_ieee.
2548         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
2549         gl_cv_func_fma_works.
2550         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
2551         gl_cv_func_fmaf_works.
2552         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
2553         gl_cv_func_fmal_works.
2554         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
2555         gl_cv_func_fmod_ieee.
2556         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
2557         gl_cv_func_fmodf_ieee.
2558         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
2559         gl_cv_func_fmodl_ieee.
2560         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
2561         gl_cv_func_fpurge_works.
2562         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
2563         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
2564         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
2565         gl_cv_func_getcwd_null.
2566         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
2567         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
2568         gl_cv_func_working_getdelim.
2569         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
2570         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
2571         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
2572         gl_cv_func_getgroups_works.
2573         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
2574         am_cv_func_working_getline.
2575         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
2576         for gl_cv_func_getopt_gnu.
2577         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
2578         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
2579         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
2580         gl_cv_func_hypot_ieee.
2581         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
2582         gl_cv_func_hypotf_ieee.
2583         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
2584         gl_cv_func_hypotl_ieee.
2585         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
2586         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
2587         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
2588         gl_cv_func_link_works.
2589         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
2590         gl_cv_func_linkat_slash.
2591         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
2592         gl_cv_func_log_ieee.
2593         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
2594         gl_cv_func_logf_ieee.
2595         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
2596         gl_cv_func_logl_works.
2597         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
2598         gl_cv_func_log10_ieee.
2599         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
2600         gl_cv_func_log10f_ieee.
2601         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
2602         gl_cv_func_log10l_works.
2603         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
2604         gl_cv_func_log1p_ieee.
2605         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
2606         gl_cv_func_log1pf_ieee.
2607         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
2608         gl_cv_func_log1pl_ieee.
2609         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
2610         gl_cv_func_log2_ieee.
2611         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
2612         gl_cv_func_log2f_ieee.
2613         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
2614         --enable-cross-guesses for
2615         gl_cv_func_lstat_dereferences_slashed_symlink.
2616         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
2617         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
2618         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
2619         gl_cv_C_locale_sans_EILSEQ.
2620         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
2621         gl_cv_func_memchr_works.
2622         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
2623         gl_cv_func_memmem_works_always.
2624         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
2625         gl_cv_func_memmem_works_fast.
2626         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
2627         gl_cv_func_mkdir_trailing_slash_works,
2628         gl_cv_func_mkdir_trailing_dot_works.
2629         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
2630         gl_cv_func_mkfifo_works.
2631         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
2632         gl_cv_func_mknod_works.
2633         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
2634         gl_cv_func_working_mkstemp.
2635         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
2636         gl_cv_func_working_mktime.
2637         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
2638         gl_cv_func_modf_ieee.
2639         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
2640         gl_cv_func_modff_ieee.
2641         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
2642         gl_cv_func_modfl_ieee.
2643         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
2644         gl_cv_func_nanosleep.
2645         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
2646         gl_cv_func_perror_works.
2647         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
2648         gl_cv_func_printf_sizes_c99.
2649         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
2650         gl_cv_func_printf_infinite.
2651         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
2652         gl_cv_func_printf_infinite_long_double.
2653         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
2654         gl_cv_func_printf_directive_a.
2655         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
2656         gl_cv_func_printf_directive_f.
2657         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
2658         gl_cv_func_printf_flag_zero.
2659         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
2660         gl_cv_func_printf_enomem.
2661         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
2662         gl_cv_func_snprintf_truncation_c99.
2663         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
2664         gl_cv_func_snprintf_retval_c99.
2665         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
2666         gl_cv_func_snprintf_directive_n.
2667         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
2668         gl_cv_func_vsnprintf_zerosize_c99.
2669         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
2670         gl_cv_func_pselect_detects_ebadf.
2671         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
2672         Obey --enable-cross-guesses for
2673         gl_cv_pthread_rwlock_rdlock_prefer_writer.
2674         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
2675         gl_cv_func_ptsname_sets_errno.
2676         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
2677         gl_cv_func_svid_putenv.
2678         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
2679         gl_cv_func_readlink_works.
2680         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
2681         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
2682         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
2683         gl_cv_func_re_compile_pattern_working.
2684         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
2685         gl_cv_func_remainder_ieee.
2686         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
2687         gl_cv_func_remainderf_ieee.
2688         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
2689         gl_cv_func_remainderl_ieee.
2690         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
2691         gl_cv_func_rintl_works.
2692         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
2693         gl_cv_func_rmdir_works.
2694         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
2695         gl_cv_func_round_ieee.
2696         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
2697         gl_cv_func_roundf_ieee.
2698         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
2699         gl_cv_func_roundl_ieee.
2700         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
2701         gl_cv_func_select_detects_ebadf.
2702         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
2703         gl_cv_func_setenv_works.
2704         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
2705         gl_cv_func_unsetenv_works.
2706         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
2707         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
2708         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
2709         gl_cv_func_sleep_works.
2710         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
2711         gl_cv_func_stat_file_slash.
2712         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
2713         gl_cv_func_stpncpy.
2714         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
2715         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
2716         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
2717         gl_cv_func_strcasestr_linear.
2718         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
2719         gl_cv_func_working_strerror.
2720         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
2721         gl_cv_func_strerror_0_works.
2722         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
2723         --enable-cross-guesses for gl_cv_func_strerror_r_works.
2724         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
2725         gl_cv_func_strstr_works_always.
2726         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
2727         gl_cv_func_strstr_linear.
2728         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
2729         gl_cv_func_strtod_works.
2730         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
2731         gl_cv_func_strtold_works.
2732         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
2733         gl_cv_func_symlink_works.
2734         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
2735         gl_cv_func_symlinkat_works.
2736         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
2737         gl_cv_func_trunc_ieee.
2738         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
2739         gl_cv_func_truncf_ieee.
2740         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
2741         gl_cv_func_truncl_ieee.
2742         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
2743         gl_cv_func_tzset_clobber.
2744         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
2745         gl_cv_func_ungetc_works.
2746         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
2747         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
2748         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
2749         gl_cv_func_usleep_works.
2750         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
2751         gl_cv_func_futimesat_works.
2752         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
2753         gl_cv_func_working_utimes.
2754         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
2755         gl_cv_func_wcwidth_works.
2756         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
2757         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
2758         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
2759         links for testing. Obey --enable-cross-guesses for
2760         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
2761         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
2763 2019-09-08  Bruno Haible  <bruno@clisp.org>
2765         Clarify that cross-compilation guesses are guesses.
2766         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
2767         cross-compiling.
2769 2019-09-08  Bruno Haible  <bruno@clisp.org>
2771         chown: Fix configure output (regression from 2019-03-23).
2772         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
2773         gl_cv_func_chown_follows_symlink variable.
2775 2019-09-08  Bruno Haible  <bruno@clisp.org>
2777         findprog-in: New module.
2778         Suggested by Paul Smith <psmith@gnu.org>.
2779         * lib/findprog.h (find_in_given_path): New declaration.
2780         * lib/findprog-in.c: New file, based on lib/findprog.c.
2781         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
2782         * modules/findprog-in: New file.
2784 2019-09-08  Bruno Haible  <bruno@clisp.org>
2786         findprog: Remove unused dependency.
2787         * modules/findprog (Depends-on): Remove strdup.
2789 2019-09-08  Bruno Haible  <bruno@clisp.org>
2791         findprog: Remove test that is obsolete since 2006-04-24.
2792         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
2794 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
2796         bitset: style changes
2797         * lib/bitset/vector.c (vbitset_resize): Factor computation.
2798         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
2799         xzalloc to xcalloc.
2800         Suggested by Paul Eggert.
2802 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
2804         bitset: check memory allocation
2805         Reported by 江 祖铭 (Zu-Ming Jiang).
2806         With help from Paul Eggert.
2807         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
2808         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
2809         instead of realloc.
2810         When shrinking, accept failures.
2811         * lib/bitset/vector.c (vbitset_resize): Likewise.
2813 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
2815         scratch_buffer: sync from glibc
2816         * config/srclist.txt: Add the scratch_buffer source
2817         code from glibc, since these should be in sync.
2818         Autoupdate.
2820 2019-09-07  Bruno Haible  <bruno@clisp.org>
2822         doc: Update for glibc 2.30.
2823         * doc/glibc-functions/gettid.texi: New file.
2824         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
2825         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
2826         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
2827         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
2828         * doc/glibc-functions/sem_clockwait.texi: New file.
2829         * doc/glibc-functions/tgkill.texi: New file.
2830         * doc/glibc-functions/twalk_r.texi: New file.
2831         * doc/gnulib.texi: Include them.
2832         (Glibc semaphore.h): New section.
2833         * doc/pastposix-functions/h_errno.texi: Update.
2834         * doc/posix-functions/*.texi: Likewise.
2836 2019-09-06  Bruno Haible  <bruno@clisp.org>
2838         symlink tests: Avoid test failure on Linux with Lustre file system.
2839         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
2840         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
2841         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
2843 2019-09-01  Bruno Haible  <bruno@clisp.org>
2845         gitsub.sh: Add support for shallow-cloning of subdirectories.
2846         * top/gitsub.sh (func_usage): Document allowed git options with
2847         'git pull'.
2848         (func_pull): Accept GIT_OPTIONS argument.
2849         (pull): Parse git options before complaining about too many arguments.
2850         Pass the git options to func_pull.
2852 2019-08-29  Bruno Haible  <bruno@clisp.org>
2854         lock: Fix cross-compilation guesses.
2855         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
2856         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
2857         platforms.
2859 2019-08-28  Bruno Haible  <bruno@clisp.org>
2861         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
2862         Reported by Martin Storsjö <martin@martin.st> in
2863         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
2864         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
2865         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
2866         files from GCC 6 or newer, use an override through '#define', because
2867         the inline definitions in the platform's <cmath> cannot be overridden
2868         in another way.
2870 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
2872         Revert macOS INT_MULTIPLY_WRAPV patch
2873         Problem reported by Bruno Haible in:
2874         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
2875         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
2876         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
2877         Go back to working around the Clang bug on macOS.
2879 2019-08-27  Bruno Haible  <bruno@clisp.org>
2881         libtool-next-version: Fix error output.
2882         * build-aux/libtool-next-version (func_fatal_error): Fix the program
2883         name.
2885 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
2887         Speed up INT_MULTIPLY_WRAPV on macOS
2888         Assume that __builtin_mul_overflow works OK with Clang on macOS.
2889         Mattias Engdegård says it’s safe to assume the relevant library
2890         is always available there.
2891         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
2892         New temporary internal macro.
2893         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
2894         No need to work around the Clang bug on macOS.
2896 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
2898         intprops.h, verify.h: port better to clang
2899         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
2900         with Clang.  Problem reported privately by Mattias Engdegård.
2901         Also, insulate intprops.h and verify.h better against each other’s
2902         definitions of __has_builtin on non-Clang hosts.
2903         * lib/intprops.h (__has_builtin): Define a temporary substitute
2904         if __has_builtin is not already defined.
2905         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
2906         New temporary internal macros.
2907         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
2908         Now two separate macros, replacing the old
2909         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
2910         __builtin_mul_overflow is like the rest.  All uses changed.
2911         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
2912         Adjust to above changes.
2913         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
2914         longer relevant.  All uses changed.
2915         * lib/verify.h (__has_builtin): Treat like intprops.h,
2916         so that the two .h files do not collide with each other.
2917         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
2918         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
2920 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2922         intprops: say why not Clang __builtin_add_overflow
2923         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
2924         Mention Clang in comment, responding to a query from
2925         Mattias Engdegård.
2927 2019-08-24  Bruno Haible  <bruno@clisp.org>
2929         doc: Document most of the files outside of modules.
2930         * doc/gnulib.texi (Build Infrastructure Files,
2931         Release Management Files): New chapters.
2933 2019-08-24  Bruno Haible  <bruno@clisp.org>
2935         bootstrap: Keep in sync with the 'gettext' module.
2936         Reported by Assaf Gordon in
2937         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
2938         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
2939         * build-aux/po/remove-potcdate.sin: Likewise.
2941 2019-08-24  Bruno Haible  <bruno@clisp.org>
2943         crypto/gc-sha512: Add tests.
2944         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
2945         * modules/crypto/gc-sha512-tests: New file.
2947         crypto/gc-sha256: Add tests.
2948         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
2949         * modules/crypto/gc-sha256-tests: New file.
2951         crypto/gc-sha256, crypto/gc-sha512: New modules.
2952         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
2953         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
2954         (MAX_DIGEST_SIZE): Set to 64.
2955         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
2956         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
2957         (gc_sha256, gc_sha512): New functions.
2958         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
2959         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
2960         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
2962 2019-08-24  Bruno Haible  <bruno@clisp.org>
2964         crypto/gc-sha1 tests: Improve output when the test fails.
2965         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
2966         output.
2968 2019-08-24  Bruno Haible  <bruno@clisp.org>
2970         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
2971         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
2972         LIBGCRYPT_HAS_MD_SM3.
2973         * lib/gc-libgcrypt.c: Include sm3.h.
2974         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
2975         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
2976         implementation if libgcrypt does not support SM3.
2978 2019-08-24  Bruno Haible  <bruno@clisp.org>
2980         crypto/gc-md2: Optimize and clarify code.
2981         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
2982         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
2983         is not needed.
2985 2019-08-24  Bruno Haible  <bruno@clisp.org>
2987         crypto/gc-md2: Add comment.
2988         * lib/gc-libgcrypt.c: Add comment.
2990 2019-08-24  Bruno Haible  <bruno@clisp.org>
2992         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
2993         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
2994         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
2995         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
2996         variable.
2998 2019-08-24  Bruno Haible  <bruno@clisp.org>
3000         crypto/gc: Fix link error with --with-libgcrypt.
3001         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
3002         AC_LIB_HAVE_LINKFLAGS invocation.
3004 2019-08-24  Bruno Haible  <bruno@clisp.org>
3006         crypto/gc: Access the module indicators correctly.
3007         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
3008         * lib/gc-libgcrypt.c: Likewise.
3010 2019-08-24  Bruno Haible  <bruno@clisp.org>
3012         crypto/gc: Fix configuration with --with-libgcrypt.
3013         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
3014         * modules/crypto/gc (Files): Add it.
3015         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
3017 2019-08-24  Bruno Haible  <bruno@clisp.org>
3019         Remove unused file.
3020         * m4/stat-macros.m4: Remove file.
3022 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3024         New strip-trailing-space option for srclist-update
3025         * config/srclist-update (fixfile): Support new option.
3026         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
3027         Use it.
3029 2019-08-20  Eric Blake  <eblake@redhat.com>
3031         accept4: Support SOCK_NONBLOCK, if defined
3032         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
3034         accept4: Fix compilation when native accept4() exists.
3035         Reported by Richard W.M. Jones <rjones@redhat.com> in
3036         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
3037         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
3039 2019-08-18  Bruno Haible  <bruno@clisp.org>
3041         Defeat -flto GCC optimization in math autoconf tests.
3042         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
3043         at <https://savannah.gnu.org/bugs/?56109>.
3044         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
3045         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
3046         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3047         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3048         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3049         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
3050         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3051         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
3052         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
3053         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3054         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3055         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3057 2019-08-17  Bruno Haible  <bruno@clisp.org>
3059         windows-spin: Implement declared functions.
3060         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
3061         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
3062         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
3063         name.
3065 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3067         intprops: port to Oracle Developer Studio 12.6
3068         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
3069         typos that were in a section not compiled by GCC.
3071 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3073         intprops: support uchar, ushort _WRAPV dests
3074         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
3075         when __builtin_add_overflow etc. and _Generic are not used.
3076         (_GL_INT_OP_WRAPV): Use it to support destinations that
3077         are unsigned char or unsigned short, even in compilers
3078         that lack __typeof__ and are not C11-compatible.
3080         intprops: pacify picky GCC
3081         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
3082         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
3083         possibly-incorrect result.
3084         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
3085         about (A) used as a boolean, when A is an expression like 3 * 4.
3087         intprops: support unsigned *_WRAPV results
3088         Add support for unsigned, unsigned long, and unsigned long long
3089         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
3090         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
3091         bug with unsigned inputs reported by Eli Zaretskii in:
3092         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
3093         * config/srclist.txt: Break the glibc connection for intprops.h
3094         temporarily, while more testing is done in Gnulib-using apps.
3095         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
3096         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
3097         Support unsigned results no narrower than unsigned int.  Report
3098         overflow correctly if some arguments are unsigned.
3099         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
3100         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
3101         the right thing with narrow args.
3102         (_GL_INT_OP_CALC1): Remove.  All callers removed.
3103         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
3104         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
3105         * tests/test-intprops.c: Check for bugs and test new behavior.
3107 2019-08-14  Bruno Haible  <bruno@clisp.org>
3109         get_progname_of: New module.
3110         * lib/get_progname_of.h: New file.
3111         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
3112         * lib/getprogname.c (getprogname): Tweak coding style.
3113         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
3114         * modules/get_progname_of: New file.
3116 2019-08-14  Bruno Haible  <bruno@clisp.org>
3118         get_ppid_of: New module.
3119         * lib/get_ppid_of.h: New file.
3120         * lib/get_ppid_of.c: New file.
3121         * modules/get_ppid_of: New file.
3123 2019-08-13  Bruno Haible  <bruno@clisp.org>
3125         libtextstyle-optional tests: Support the NO_COLOR environment variable.
3126         * tests/test-libtextstyle.c (main): Do not emit styling when the
3127         environment variable NO_COLOR is set.
3129 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
3131         verify: improve diagnostic quality in recent GCC
3132         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
3133         useful line number containing the top-level caller of the macro.
3134         So, bring back the older way of issuing a diagnostic containing
3135         the top-level call’s arg, so that it is easier to diagnose
3136         ‘verify’ failures with recent GCC.
3137         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
3138         Bring back DIAGNOSTIC arg.  All callers changed.
3139         (verify): Just use _GL_VERIFY.
3141 2019-08-11  Bruno Haible  <bruno@clisp.org>
3143         localcharset: Add more aliases for OS/2.
3144         Based on patch by KO Myung-Hun <komh78@gmail.com> in
3145         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
3146         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
3148 2019-08-10  Eric Blake  <eblake@redhat.com>
3150         configmake: Update advice on usage.
3151         * modules/configmake (Include): No longer necessary to include
3152         last, since configmake.h itself worries about collision avoidance.
3154 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
3156         parse-datetime: fix 'T' military timezone handling
3157         * lib/parse-datetime.y (zone):
3158         follow-up to the previous commit: the 'T' case is handled outside the
3159         conversion table (used as either military timezone UTC-7 or ISO8601
3160         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
3161         timezone letters.
3163 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3165         parse-datetime: fix military timezone letters
3166         Problem and trivial fix reported by Neil Hoggarth in:
3167         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
3168         * lib/parse-datetime.y (military_table):
3169         Do it the right way, not the RFC 822 way.
3171 2019-08-08  Eric Blake  <eblake@redhat.com>
3173         configmake: Avoid namespace pollution issue on mingw.
3174         * modules/configmake (Makefile.am): If the project uses
3175         <winsock2.h>, include that header before defining DATADIR.
3177 2019-07-28  Bruno Haible  <bruno@clisp.org>
3179         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
3180         * tests/test-mbrtowc.c (main): Fix expected value of wc.
3182 2019-07-24  Bruno Haible  <bruno@clisp.org>
3184         pthread-h: Fix definitions of types and macros on mingw.
3185         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
3186         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
3187         not in use.
3188         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
3189         'pthread-once' is not in use.
3190         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
3191         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
3192         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
3193         in use.
3194         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
3195         Define also when module 'pthread-rwlock' is not in use.
3196         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
3197         also when module 'pthread-cond' is not in use.
3198         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
3199         'pthread-tss' is not in use.
3200         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
3201         use.
3203 2019-07-24  Simon Josefsson  <simon@josefsson.org>
3205         crypto/gc: Cope with libgcrypt without SM3.
3206         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
3208 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
3210         backupfile: fix resource leak on memory failure
3211         Problem found by Coverity (CID 1484214).
3212         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
3214 2019-07-22  Bruno Haible  <bruno@clisp.org>
3216         Avoid missing-declarations warning in various tests.
3217         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
3218         test6, test_optional, test7, test8, test9, test10, test11, test12,
3219         test13, test14, test15, test_fun): Declare static.
3220         * tests/test-cnd.c (test_cnd_wait): Likewise.
3221         * tests/test-cond.c (test_cond): Likewise.
3223 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
3225         pthread tests: Avoid missing-declarations warning.
3226         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
3228 2019-07-19  Bruno Haible  <bruno@clisp.org>
3230         parse-datetime: Avoid warnings from bison versions >= 3.3.
3231         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
3232         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
3234 2019-07-19  Bruno Haible  <bruno@clisp.org>
3236         parse-datetime: Require Bison 2.4 or newer.
3237         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
3238         Code taken from gettext's intl.m4.
3239         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
3240         of YACC.
3242 2019-07-19  Bruno Haible  <bruno@clisp.org>
3244         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
3245         * lib/areadlink-with-size.c: Include <string.h>.
3246         * lib/areadlinkat-with-size.c: Likewise.
3247         * lib/xgethostname.c: Likewise.
3248         * lib/xgetdomainname.c: Likewise.
3250 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
3252         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
3253         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
3254         "%pure-parser".  The former is available since Bison 2.3b (2008),
3255         while the latter is marked as obsolete since version 3.4 (May 2019).
3257 2019-07-16  Bruno Haible  <bruno@clisp.org>
3259         update-copyright: Make it work again (regression from 2019-06-15).
3260         Reported by Brian C. Lane <bcl@redhat.com>.
3261         * build-aux/update-copyright: Add back the -0777, -p, -i options.
3263 2019-07-14  Bruno Haible  <bruno@clisp.org>
3265         doc: Update info about <pthread.h>.
3266         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
3267         of 'pthread'.
3269 2019-07-14  Bruno Haible  <bruno@clisp.org>
3271         pthread_sigmask tests: Use new multithread modules.
3272         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
3273         glthread/thread.h.
3274         (main_thread, killer_thread): Change type to pthread_t.
3275         (main): Update accordingly.
3276         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
3277         thread.
3279 2019-07-14  Bruno Haible  <bruno@clisp.org>
3281         pthread-tss: Add tests.
3282         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
3283         tests/test-tss.c.
3284         * modules/pthread-tss-tests: New file.
3286 2019-07-14  Bruno Haible  <bruno@clisp.org>
3288         pthread-cond: Add tests.
3289         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
3290         tests/test-cnd.c.
3291         * modules/pthread-cond-tests: New file.
3293 2019-07-14  Bruno Haible  <bruno@clisp.org>
3295         pthread-rwlock: Add tests.
3296         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
3297         * modules/pthread-rwlock-tests: New file.
3299 2019-07-14  Bruno Haible  <bruno@clisp.org>
3301         pthread-mutex: Add tests.
3302         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
3303         tests/test-mtx.c.
3304         * modules/pthread-mutex-tests: New file.
3306 2019-07-14  Bruno Haible  <bruno@clisp.org>
3308         pthread-once: Add tests.
3309         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
3310         tests/test-call_once.c.
3311         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
3312         tests/test-mtx.c.
3313         * modules/pthread-once-tests: New file.
3315 2019-07-14  Bruno Haible  <bruno@clisp.org>
3317         pthread-thread: Add tests.
3318         * tests/test-pthread-thread.c: New file, based on
3319         tests/test-thread_create.c and tests/test-thrd_create.c.
3320         * modules/pthread-thread-tests: New file.
3322 2019-07-14  Bruno Haible  <bruno@clisp.org>
3324         pthread: Turn into a convenience module.
3325         * lib/pthread.in.h: Remove declarations for extern inline functions.
3326         * lib/pthread.c: Remove file.
3327         * modules/pthread (Files): Remove it.
3328         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
3329         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
3330         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
3331         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
3332         GNULIB_PTHREAD.
3333         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
3335 2019-07-14  Bruno Haible  <bruno@clisp.org>
3337         pthread-spin: New module.
3338         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
3339         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
3340         inline definitions.
3341         * lib/pthread-spin.c: New file.
3342         * m4/pthread-spin.m4: New file.
3343         * modules/pthread-spin: New file.
3344         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
3345         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
3346         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
3347         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
3348         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
3350 2019-07-14  Bruno Haible  <bruno@clisp.org>
3352         pthread-tss: New module.
3353         * lib/pthread-tss.c: New file.
3354         * m4/pthread-tss.m4: New file.
3355         * modules/pthread-tss: New file.
3356         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
3357         * doc/posix-functions/pthread_setspecific.texi: Likewise.
3358         * doc/posix-functions/pthread_getspecific.texi: Likewise.
3359         * doc/posix-functions/pthread_key_delete.texi: Likewise.
3361 2019-07-14  Bruno Haible  <bruno@clisp.org>
3363         pthread-cond: New module.
3364         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
3365         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
3366         * lib/pthread-cond.c: New file.
3367         * m4/pthread-cond.m4: New file.
3368         * modules/pthread-cond: New file.
3369         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
3370         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
3371         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
3372         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
3373         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
3374         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
3375         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
3376         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
3378 2019-07-14  Bruno Haible  <bruno@clisp.org>
3380         pthread-rwlock: New module.
3381         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
3382         * m4/pthread-rwlock.m4: New file.
3383         * modules/pthread-rwlock: New file.
3384         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
3385         and the Android problem.
3386         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
3387         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
3388         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
3389         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
3390         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
3391         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
3392         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
3393         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
3394         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
3395         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
3397 2019-07-14  Bruno Haible  <bruno@clisp.org>
3399         pthread-mutex: New module.
3400         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
3401         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
3402         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
3403         pthread_mutex_unlock): Remove inline definitions.
3404         * lib/pthread-mutex.c: New file.
3405         * m4/pthread-mutex.m4: New file.
3406         * modules/pthread-mutex: New file.
3407         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
3408         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
3409         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
3410         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
3411         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
3412         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
3413         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
3414         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
3415         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
3416         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
3417         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
3418         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
3420 2019-07-14  Bruno Haible  <bruno@clisp.org>
3422         pthread-once: New module.
3423         * lib/pthread-once.c: New file.
3424         * m4/pthread-once.m4: New file.
3425         * modules/pthread-once: New file.
3426         * doc/posix-functions/pthread_once.texi: Mention the new module.
3428 2019-07-14  Bruno Haible  <bruno@clisp.org>
3430         pthread-thread: New module.
3431         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
3432         inline definitions.
3433         * lib/pthread-thread.c: New file.
3434         * m4/pthread-thread.m4: New file.
3435         * modules/pthread-thread: New file.
3436         * doc/posix-functions/pthread_create.texi: Mention the new module.
3437         * doc/posix-functions/pthread_attr_init.texi: Likewise.
3438         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
3439         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
3440         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
3441         * doc/posix-functions/pthread_self.texi: Likewise.
3442         * doc/posix-functions/pthread_equal.texi: Likewise.
3443         * doc/posix-functions/pthread_detach.texi: Likewise.
3444         * doc/posix-functions/pthread_join.texi: Likewise.
3445         * doc/posix-functions/pthread_exit.texi: Likewise.
3447 2019-07-14  Bruno Haible  <bruno@clisp.org>
3449         pthread-h: Prepare for adding new modules.
3450         * lib/pthread.in.h: Define the types and macros for each of the
3451         facilities separately.
3452         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
3453         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
3454         HAVE_PTHREAD_PROCESS_SHARED.
3455         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
3456         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
3457         HAVE_PTHREAD_PROCESS_SHARED.
3458         * modules/pthread-h (Makefile.am): Substitute
3459         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
3460         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
3462 2019-07-14  Bruno Haible  <bruno@clisp.org>
3464         pthread-h: Add declarations of essential pthread functions.
3465         * lib/pthread.in.h: Include snippets.
3466         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
3467         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
3468         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
3469         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
3470         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
3471         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
3472         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
3473         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
3474         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
3475         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
3476         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
3477         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
3478         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
3479         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
3480         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
3481         pthread_key_create, pthread_setspecific, pthread_getspecific,
3482         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
3483         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
3484         declarations.
3485         (pthread_mutex_timedlock): Move declaration.
3486         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
3487         declared.
3488         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
3489         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
3490         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
3491         HAVE_* and REPLACE_* variables for the new functions.
3492         * modules/pthread-h (Depends-on): Add snippet/c++defs,
3493         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
3494         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
3495         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
3496         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
3497         variables for the new functions. Split the sed script, to avoid the
3498         limit of 99 commands of HP-UX sed.
3499         * tests/test-pthread-c++.cc: Check the signature of the new functions.
3501 2019-07-14  Bruno Haible  <bruno@clisp.org>
3503         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
3504         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
3505         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
3506         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
3507         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
3508         * modules/pthread-h (Depends-on): Add threadlib.
3509         (Link): Change to $(LIBTHREAD).
3510         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
3511         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
3513 2019-07-14  Bruno Haible  <bruno@clisp.org>
3515         pthread-h: Add C++ tests.
3516         * tests/test-pthread-c++.cc: New file.
3517         * modules/pthread-h-c++-tests: New file.
3519 2019-07-14  Bruno Haible  <bruno@clisp.org>
3521         pthread-h: Add tests.
3522         * tests/test-pthread.c: New file.
3523         * modules/pthread-h-tests: New file.
3525 2019-07-14  Bruno Haible  <bruno@clisp.org>
3527         pthread-h: New module.
3528         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
3529         is 1.
3530         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
3531         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
3532         <pthread.h> pollutes the namespace; instead, prepare for generating a
3533         pthread.h always. Substitute HAVE_PTHREAD_H here.
3534         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
3535         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
3536         * modules/pthread-h: New file, based on modules/pthread.
3537         * modules/pthread: Rely on 'pthread-h'.
3538         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
3539         Update.
3540         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
3541         pthread.
3543 2019-07-14  Bruno Haible  <bruno@clisp.org>
3545         sched_yield: New module.
3546         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
3547         (sched_yield): New declaration.
3548         * lib/sched_yield.c: New file.
3549         * m4/sched_yield.m4: New file.
3550         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
3551         provide a replacement sched.h always. Test whether sched_yield is
3552         declared.
3553         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
3554         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
3555         (Makefile.am): Provide a replacement sched.h always. Substitute
3556         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
3557         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
3558         * modules/sched_yield: New file.
3559         * doc/posix-functions/sched_yield.texi: Mention the new module.
3561 2019-07-14  Bruno Haible  <bruno@clisp.org>
3563         windows-spin: New module.
3564         * lib/windows-spin.h: New file.
3565         * lib/windows-spin.c: New file.
3566         * modules/windows-spin: New file.
3568 2019-07-14  Bruno Haible  <bruno@clisp.org>
3570         windows-timedrwlock: New module.
3571         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
3572         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
3573         windows-cond.c.
3574         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
3575         redefinition conflict with windows-timedrwlock.h.
3576         * modules/windows-timedrwlock: New file.
3578 2019-07-14  Bruno Haible  <bruno@clisp.org>
3580         windows-rwlock: New module.
3581         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
3582         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
3583         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
3584         windows-initguard.h.
3585         (gl_rwlock_t): Define using glwthread_rwlock_t.
3586         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
3587         (glthread_rwlock_init): Define using glwthread_rwlock_init.
3588         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
3589         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
3590         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
3591         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
3592         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
3593         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
3594         glthread_rwlock_destroy_func): Remove declarations.
3595         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
3596         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
3597         gl_waitqueue_notify_all, glthread_rwlock_init_func,
3598         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
3599         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
3600         functions.
3601         * modules/windows-rwlock: New file.
3602         * modules/lock (Depends-on): Add windows-rwlock.
3604 2019-07-14  Bruno Haible  <bruno@clisp.org>
3606         windows-thread: Add support for creating a thread in detached state.
3607         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
3608         (glwthread_thread_create): Add attr argument.
3609         * lib/windows-thread.c (glwthread_thread_create): Likewise.
3610         * lib/glthread/thread.h (glthread_create): Update.
3611         * lib/thrd.c (thrd_create): Update.
3613 2019-07-14  Bruno Haible  <bruno@clisp.org>
3615         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
3616         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
3617         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
3618         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
3619         * lib/windows-mutex.h: Update.
3620         * lib/windows-recmutex.h: Likewise.
3621         * lib/windows-timedmutex.h: Likewise.
3622         * lib/windows-timedrecmutex.h: Likewise.
3623         * lib/windows-cond.h: Likewise.
3624         * lib/glthread/lock.h: Likewise.
3625         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
3626         lib/windows-spinlock.h.
3627         * modules/windows-recmutex (Files): Likewise.
3628         * modules/windows-timedmutex (Files): Likewise.
3629         * modules/windows-timedrecmutex (Files): Likewise.
3630         * modules/windows-cond (Files): Likewise.
3631         * modules/threads-h (Files): Likewise.
3633 2019-07-14  Bruno Haible  <bruno@clisp.org>
3635         doc: Fix info about pthread API in HP-UX.
3636         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
3638 2019-07-14  Bruno Haible  <bruno@clisp.org>
3640         threads-h: Fix generation of threads.h.
3641         * modules/threads-h (Makefile.am): Insert the required header file
3642         snippets.
3644 2019-07-09  Bruno Haible  <bruno@clisp.org>
3646         striconveh test: Fix a compilation failure when iconv is not available.
3647         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3648         * tests/test-striconveh.c (main): Move iconv_close invocations inside
3649         HAVE_ICONV.
3651 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
3653         argmatch: adjust columns for help2man.
3654         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
3655         requires column 20 or more, return 20.
3657 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3659         areadlink-with-size: avoid realloc when size==0
3660         * lib/areadlink-with-size.c (areadlink_with_size):
3661         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
3662         Reallocate at the end to the actual size, to avoid memory waste,
3663         as suggested by Bruno Haible.  But when the guessed size is zero -
3664         useful when the size is unknown - do the initial small readlink
3665         into the stack, to avoid that realloc in the usual case.
3667 2019-07-06  Pádraig Brady  <P@draigBrady.com>
3669         areadlink-with-size: guess a buffer size with 0 size
3670         The size is usually taken from st_size, which can be zero,
3671         resulting in inefficient operation.
3672         Instead let zero select an initial memory allocation
3673         of 128 bytes, which most symlinks fit within.
3674         * lib/areadlink-with-size.c (areadlink_with_size):
3675         Start with a 128 byte buffer, for SIZE == 0.
3676         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
3678 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
3680         Replace manually crafted hex regexes with [:xdigit:]
3681         * build-aux/gitlog-to-changelog (parse_amend_file)
3682         (git_dir_option):
3683         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
3684         This patch is backported from Emacs (Bug#36167).
3686 2019-07-06  Bruno Haible  <bruno@clisp.org>
3688         error: Fix documentation.
3689         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
3690         module provides.
3691         * doc/glibc-functions/error_message_count.texi: Likewise.
3692         * doc/glibc-functions/error_one_per_line.texi: Likewise.
3693         * doc/glibc-functions/error_print_progname.texi: Likewise.
3695 2019-07-06  Bruno Haible  <bruno@clisp.org>
3697         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
3698         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
3699         and older is unsupported.
3700         * doc/**/*.texi: Update.
3702 2019-07-06  Bruno Haible  <bruno@clisp.org>
3704         doc: Remove documentation of Linux libc5 as a supported platform.
3705         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
3706         to Linux libc5.
3707         * doc/posix-functions/iswalpha.texi: Likewise.
3708         * doc/posix-functions/iswblank.texi: Likewise.
3709         * doc/posix-functions/iswcntrl.texi: Likewise.
3710         * doc/posix-functions/iswdigit.texi: Likewise.
3711         * doc/posix-functions/iswgraph.texi: Likewise.
3712         * doc/posix-functions/iswlower.texi: Likewise.
3713         * doc/posix-functions/iswprint.texi: Likewise.
3714         * doc/posix-functions/iswpunct.texi: Likewise.
3715         * doc/posix-functions/iswspace.texi: Likewise.
3716         * doc/posix-functions/iswupper.texi: Likewise.
3717         * doc/posix-functions/iswxdigit.texi: Likewise.
3718         * doc/posix-functions/snprintf.texi: Likewise.
3719         * doc/posix-functions/vsnprintf.texi: Likewise.
3721 2019-07-06  Bruno Haible  <bruno@clisp.org>
3723         doc: Remove documentation of Tandem/NSK as a supported platform.
3724         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
3725         Tandem/NSK.
3726         * doc/**/*.texi: Update.
3728 2019-07-06  Bruno Haible  <bruno@clisp.org>
3730         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
3731         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
3732         and older is unsupported.
3733         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
3734         Mac OS X 10.4 and older.
3735         * doc/posix-functions/asinl.texi: Likewise.
3736         * doc/posix-functions/atanl.texi: Likewise.
3737         * doc/posix-functions/cosl.texi: Likewise.
3738         * doc/posix-functions/expl.texi: Likewise.
3739         * doc/posix-functions/frexpl.texi: Likewise.
3740         * doc/posix-functions/gettimeofday.texi: Likewise.
3741         * doc/posix-functions/logl.texi: Likewise.
3742         * doc/posix-functions/mkstemp.texi: Likewise.
3743         * doc/posix-functions/sinl.texi: Likewise.
3744         * doc/posix-functions/sqrtl.texi: Likewise.
3745         * doc/posix-functions/tanl.texi: Likewise.
3746         * doc/posix-functions/wcswidth.texi: Likewise.
3747         * doc/**/*.texi: Update.
3749 2019-07-06  Bruno Haible  <bruno@clisp.org>
3751         doc: Remove documentation of AIX 4 as a supported platform.
3752         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
3753         unsupported.
3754         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
3755         workarounds.
3756         * doc/posix-functions/strnlen.texi: Likewise.
3757         * doc/posix-headers/inttypes.texi: Likewise.
3758         * doc/**/*.texi: Update.
3760 2019-07-06  Bruno Haible  <bruno@clisp.org>
3762         doc: Remove documentation of HP-UX 10 as a supported platform.
3763         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
3764         unsupported.
3765         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
3766         workarounds.
3767         * doc/posix-functions/gmtime_r.texi: Likewise.
3768         * doc/posix-functions/localtime_r.texi: Likewise.
3769         * doc/posix-functions/mkstemp.texi: Likewise.
3770         * doc/**/*.texi: Update.
3772 2019-07-06  Bruno Haible  <bruno@clisp.org>
3774         doc: Remove documentation of Interix 3.5 as a supported platform.
3775         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
3776         unsupported.
3777         * doc/posix-functions/select.texi: Don't mention Interix specific
3778         workarounds.
3779         * doc/posix-headers/signal.texi: Likewise.
3780         * doc/**/*.texi: Update.
3782 2019-07-06  Bruno Haible  <bruno@clisp.org>
3784         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
3785         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
3786         unsupported.
3787         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
3788         workarounds.
3789         * doc/posix-functions/nl_langinfo.texi: Likewise.
3790         * doc/posix-functions/remainder.texi: Likewise.
3791         * doc/posix-functions/towlower.texi: Likewise.
3792         * doc/posix-functions/towupper.texi: Likewise.
3793         * doc/posix-functions/vsnprintf.texi: Likewise.
3794         * doc/posix-functions/wcscat.texi: Likewise.
3795         * doc/posix-functions/wcschr.texi: Likewise.
3796         * doc/posix-functions/wcscmp.texi: Likewise.
3797         * doc/posix-functions/wcscpy.texi: Likewise.
3798         * doc/posix-functions/wcscspn.texi: Likewise.
3799         * doc/posix-functions/wcslen.texi: Likewise.
3800         * doc/posix-functions/wcsncat.texi: Likewise.
3801         * doc/posix-functions/wcsncmp.texi: Likewise.
3802         * doc/posix-functions/wcsncpy.texi: Likewise.
3803         * doc/posix-functions/wcspbrk.texi: Likewise.
3804         * doc/posix-functions/wcsrchr.texi: Likewise.
3805         * doc/posix-functions/wcsspn.texi: Likewise.
3806         * doc/posix-headers/langinfo.texi: Likewise.
3807         * doc/posix-headers/signal.texi: Likewise.
3808         * doc/posix-headers/wchar.texi: Likewise.
3809         * doc/posix-headers/wctype.texi: Likewise.
3810         * doc/**/*.texi: Update.
3812 2019-07-05  Bruno Haible  <bruno@clisp.org>
3814         doc: Remove documentation of OSF/1 as supported platform.
3815         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
3816         unsupported.
3817         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
3818         workarounds.
3819         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
3820         * doc/glibc-functions/ptsname_r.texi: Likewise.
3821         * doc/posix-functions/ceil.texi: Likewise.
3822         * doc/posix-functions/ceilf.texi: Likewise.
3823         * doc/posix-functions/ceill.texi: Likewise.
3824         * doc/posix-functions/fchdir.texi: Likewise.
3825         * doc/posix-functions/floor.texi: Likewise.
3826         * doc/posix-functions/floorf.texi: Likewise.
3827         * doc/posix-functions/fmod.texi: Likewise.
3828         * doc/posix-functions/fmodf.texi: Likewise.
3829         * doc/posix-functions/fmodl.texi: Likewise.
3830         * doc/posix-functions/log.texi: Likewise.
3831         * doc/posix-functions/logf.texi: Likewise.
3832         * doc/posix-functions/logl.texi: Likewise.
3833         * doc/posix-functions/log10.texi: Likewise.
3834         * doc/posix-functions/log10f.texi: Likewise.
3835         * doc/posix-functions/log10l.texi: Likewise.
3836         * doc/posix-functions/log2.texi: Likewise.
3837         * doc/posix-functions/log2f.texi: Likewise.
3838         * doc/posix-functions/log2l.texi: Likewise.
3839         * doc/posix-functions/mbrtowc.texi: Likewise.
3840         * doc/posix-functions/recv.texi: Likewise.
3841         * doc/posix-functions/recvfrom.texi: Likewise.
3842         * doc/posix-functions/remainder.texi: Likewise.
3843         * doc/posix-functions/remainderf.texi: Likewise.
3844         * doc/posix-functions/remainderl.texi: Likewise.
3845         * doc/posix-functions/round.texi: Likewise.
3846         * doc/posix-functions/roundf.texi: Likewise.
3847         * doc/posix-functions/roundl.texi: Likewise.
3848         * doc/posix-functions/send.texi: Likewise.
3849         * doc/posix-functions/sendto.texi: Likewise.
3850         * doc/posix-functions/setenv.texi: Likewise.
3851         * doc/posix-functions/snprintf.texi: Likewise.
3852         * doc/posix-functions/tcgetsid.texi: Likewise.
3853         * doc/posix-functions/trunc.texi: Likewise.
3854         * doc/posix-functions/truncf.texi: Likewise.
3855         * doc/posix-functions/truncl.texi: Likewise.
3856         * doc/posix-functions/ttyname_r.texi: Likewise.
3857         * doc/posix-functions/unsetenv.texi: Likewise.
3858         * doc/posix-functions/wcsrtombs.texi: Likewise.
3859         * doc/posix-headers/sys_select.texi: Likewise.
3860         * doc/posix-headers/wchar.texi: Likewise.
3861         * doc/posix-headers/wctype.texi: Likewise.
3862         * doc/**/*.texi: Update.
3864 2019-07-05  Bruno Haible  <bruno@clisp.org>
3866         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
3867         * doc/**/*.texi: Update.
3869 2019-07-05  Bruno Haible  <bruno@clisp.org>
3871         doc: Remove documentation of Solaris 8 and older as supported platforms.
3872         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
3873         unsupported.
3874         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
3875         workarounds.
3876         * doc/posix-functions/memcmp.texi: Likewise.
3877         * doc/posix-functions/rename.texi: Likewise.
3878         * doc/posix-functions/tzset.texi: Likewise.
3879         * doc/posix-headers/wctype.texi: Likewise.
3880         * doc/**/*.texi: Update.
3882 2019-07-05  Bruno Haible  <bruno@clisp.org>
3884         doc: Remove documentation of Interix 3.5 as a supported platform.
3885         * doc/**/*.texi: Update.
3887 2019-07-05  Bruno Haible  <bruno@clisp.org>
3889         doc: Remove documentation of BeOS as a supported platform.
3890         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
3891         unsupported.
3892         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
3893         * doc/posix-functions/getdelim.texi: Likewise.
3894         * doc/**/*.texi: Update.
3896 2019-07-05  Bruno Haible  <bruno@clisp.org>
3898         thread, lock, cond, tls: Remove support for Pth threads.
3899         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
3900         --enable-threads=pth any more.
3901         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
3902         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
3903         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
3904         threads and ISO C11 threads.
3905         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
3906         * lib/glthread/lock.h: Likewise.
3907         * lib/glthread/lock.c: Likewise.
3908         * lib/glthread/cond.h: Likewise.
3909         * lib/glthread/cond.c: Likewise.
3910         * lib/glthread/tls.h: Likewise.
3911         * lib/glthread/tls.c: Likewise.
3912         * lib/glthread/yield.h: Likewise.
3913         * lib/regex_internal.h: Likewise.
3914         * tests/test-thread_create.c: Likewise.
3915         * tests/test-lock.c: Likewise.
3916         * tests/test-cond.c: Likewise.
3917         * tests/test-tls.c: Likewise.
3918         * tests/test-rwlock1.c: Don't include glthread/yield.h.
3919         (main): Sleep without calling gl_thread_yield.
3921 2019-07-05  Bruno Haible  <bruno@clisp.org>
3923         thread, lock, cond, tls: Remove support for old Solaris threads.
3924         Solaris >= 2.5.1 has POSIX threads.
3925         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
3926         --enable-threads=solaris any more.
3927         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
3928         * lib/glthread/thread.c: Update comment.
3929         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
3930         * lib/glthread/lock.h: Likewise.
3931         * lib/glthread/lock.c: Likewise.
3932         * lib/glthread/cond.h: Likewise.
3933         * lib/glthread/cond.c: Likewise.
3934         * lib/glthread/tls.h: Likewise.
3935         * lib/glthread/tls.c: Likewise.
3936         * lib/glthread/yield.h: Likewise.
3937         * lib/regex_internal.h: Likewise.
3938         * tests/test-thread_create.c: Likewise.
3939         * tests/test-lock.c: Likewise.
3940         * tests/test-cond.c: Likewise.
3941         * tests/test-tls.c: Likewise.
3943 2019-07-05  Bruno Haible  <bruno@clisp.org>
3945         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
3946         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
3947         needed size is equal to the allocated size.
3948         * lib/getcwd.c (__getcwd): Likewise.
3950 2019-07-05  Bruno Haible  <bruno@clisp.org>
3952         xgetdomainname: Don't return an excessive memory allocation.
3953         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
3954         before returning it.
3956 2019-07-05  Bruno Haible  <bruno@clisp.org>
3958         xgethostname: Don't return an excessive memory allocation.
3959         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
3960         returning it.
3962 2019-07-05  Bruno Haible  <bruno@clisp.org>
3964         areadlinkat-with-size: Don't return an excessive memory allocation.
3965         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
3966         before returning it.
3968 2019-07-05  Bruno Haible  <bruno@clisp.org>
3970         areadlink-with-size: Don't return an excessive memory allocation.
3971         Reported by Andreas Dilger <adilger@whamcloud.com>.
3972         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
3973         before returning it.
3975 2019-07-03  Bruno Haible  <bruno@clisp.org>
3977         renameatu: Fix test failure on MSVC.
3978         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
3979         empty string.
3981 2019-07-03  Bruno Haible  <bruno@clisp.org>
3983         mbrtowc: Fix invalid use of mbtowc() on MSVC.
3984         * lib/mbrtowc.c: Include glthread/lock.h.
3985         (mbtowc_lock): New variable.
3986         (mbrtowc): Treat UTF-8 encoding without locking. For the other
3987         encodings, explicitly reset the internal state of mbtowc, and protect
3988         this through a lock.
3989         * modules/mbrtowc (Depends-on): Add lock.
3991 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
3993         argmatch: don't define _ in the header.
3994         Reported by Jim Meyering.
3995         * lib/argmatch.h (N_, _): Don't define.
3996         Use gettext instead.
3997         * lib/argmatch.h (_): Define.
3998         * tests/test-argmatch.c (N_): Define.
4000 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4002         verify: document ‘assume’ better
4003         * lib/verify.h: Reword doc (Bug#36370).
4005 2019-07-02  Bruno Haible  <bruno@clisp.org>
4007         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
4008         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
4009         "CPutf8".
4010         * lib/nl_langinfo.c (ctype_codeset): Likewise.
4012 2019-07-02  Bruno Haible  <bruno@clisp.org>
4014         getcwd: Fix crash when invoked with size = 0 on MSVC.
4015         * lib/getcwd.c: Include msvc-inval.h.
4016         (getcwd_nothrow): New function/macro.
4017         (getcwd_system): New macro.
4018         (__getcwd): Use it instead of getcwd.
4019         * modules/getcwd (Depends-on): Add msvc-inval.
4020         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
4022 2019-07-02  Bruno Haible  <bruno@clisp.org>
4024         nonblocking-pipe tests: Fix test failure on MSVC.
4025         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
4026         native Windows.
4028 2019-07-02  Bruno Haible  <bruno@clisp.org>
4030         usleep: Implement with millisecond resolution on native Windows.
4031         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
4032         * doc/pastposix-functions/usleep.texi: Update accordingly.
4034 2019-07-02  Bruno Haible  <bruno@clisp.org>
4036         lstat tests: Fix test failure on MSVC.
4037         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
4038         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
4040 2019-07-02  Bruno Haible  <bruno@clisp.org>
4042         stat tests: Fix test failure on MSVC.
4043         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
4044         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
4046 2019-07-02  Bruno Haible  <bruno@clisp.org>
4048         getaddrinfo tests: Fix test failure on MSVC.
4049         * tests/test-getaddrinfo.c: Include sockets.h.
4050         (main): Invoke gl_sockets_startup.
4051         * modules/getaddrinfo-tests (Depends-on): Add sockets.
4053 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
4055         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
4056         * lib/poll.c: Call Windows native select() with Windows native timeval.
4058 2019-06-30  Bruno Haible  <bruno@clisp.org>
4060         argmatch: Fix compilation errors.
4061         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
4062         * tests/test-argmatch.c (main): Update after last-minute function names
4063         change.
4065 2019-06-30  Bruno Haible  <bruno@clisp.org>
4067         Include <stdlib.h> when needed.
4068         * lib/cnd.c: Include <stdlib.h>, needed for abort().
4069         * lib/fcntl.c: Likewise.
4070         * lib/mbscasestr.c: Likewise.
4071         * lib/mbssep.c: Likewise.
4072         * lib/mbsstr.c: Likewise.
4073         * lib/openat.c: Include <stdlib.h>, needed for free().
4074         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
4075         abort().
4077 2019-06-30  Bruno Haible  <bruno@clisp.org>
4079         Include <stdlib.h> when needed.
4080         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
4081         * lib/faccessat.c: Likewise.
4082         * lib/fchmodat.c: Likewise.
4083         * lib/fchownat.c: Likewise.
4084         * lib/fstatat.c: Likewise.
4085         * lib/mkfifoat.c: Likewise.
4086         * lib/mknodat.c: Likewise.
4087         * lib/readlinkat.c: Likewise.
4088         * lib/symlinkat.c: Likewise.
4089         * lib/utimensat.c: Likewise.
4090         * lib/mkdirat.c: Likewise. Include also the specification header.
4092 2019-06-30  Bruno Haible  <bruno@clisp.org>
4094         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
4095         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
4096         from gl_PREREQ_SYS_H_SOCKET.
4097         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
4098         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
4099         gl_PREREQ_SYS_H_WS2TCPIP.
4100         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
4101         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
4102         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
4104 2019-06-30  Bruno Haible  <bruno@clisp.org>
4106         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
4107         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
4108         REPLACE_INET_NTOP to 1 always.
4109         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
4110         REPLACE_INET_PTON to 1 always.
4112 2019-06-30  Bruno Haible  <bruno@clisp.org>
4114         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
4115         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
4116         not REPLACE_INET_NTOP.
4118 2019-06-30  Bruno Haible  <bruno@clisp.org>
4120         poll: Add comment.
4121         * lib/poll.c: Add comment about WSAPoll.
4123 2019-06-30  Bruno Haible  <bruno@clisp.org>
4125         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
4126         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
4127         * lib/poll.in.h: Include <winsock2.h>.
4128         (POLL*, pollfd): Override on native Windows.
4129         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
4130         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
4131         (Makefile.am): Substitute HAVE_WINSOCK2_H.
4133 2019-06-28  Bruno Haible  <bruno@clisp.org>
4135         accept4: Fix compilation error on OpenIndiana.
4136         Reported by Michal Nowak <mnowak@startmail.com>
4137         via Mark H Weaver <mhw@netris.org>.
4138         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
4139         whether it exists as a function.
4141 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
4143         strverscmp: sync from glibc
4144         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
4145         comments, include libc-config.h, define __strverscmp to be
4146         strverscmp, and don’t assume types line uint8_t and int8_t that
4147         that C99 doesn’t guarantee.
4148         [!_LIBC]: Include libc-config.h; define __strverscmp.
4149         Include stdint.h.
4150         (__strverscmp): Assume C99.  Use uint_least8_t
4151         and int_least8_t instead of unsigned char and signed char.
4152         * modules/strverscmp (Depends-on): Add libc-config, stdint.
4154 2019-06-25  Bruno Haible  <bruno@clisp.org>
4156         tss tests: Add tests for destructors and races.
4157         * tests/test-tss.c (worker_thread): Fix typo in debug message.
4158         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
4159         functions.
4160         (main): Invoke them.
4161         * modules/tls-tests (Depends-on): Add mtx.
4163 2019-06-25  Bruno Haible  <bruno@clisp.org>
4165         tls tests: Add tests for destructors and races.
4166         * tests/test-tls.c: Include glthread/lock.h.
4167         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
4168         functions.
4169         (main): Invoke them.
4170         * modules/tls-tests (Depends-on): Add lock.
4172 2019-06-25  Bruno Haible  <bruno@clisp.org>
4174         windows-tls: Implement TLS key destructors for native Windows.
4175         * lib/windows-tls.h (glwthread_tls_process_destructors): New
4176         declaration.
4177         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
4178         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
4179         (dtor_table_init_once, dtor_table_lock: New variables.
4180         (struct dtor): New type.
4181         (dtor_table, dtors_count, dtors_used, dtors_allocated,
4182         dtor_processing_threads): New variables.
4183         (dtor_table_initialize, dtor_table_ensure_initialized,
4184         dtor_table_shrink_used, glwthread_tls_process_destructors): New
4185         functions.
4186         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
4187         handle non-NULL destructors.
4188         * modules/windows-tls (Depends-on): Add windows-once.
4189         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
4190         Use the functions declared in windows-tls.h.
4191         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
4192         GLWTHREAD_DESTRUCTOR_ITERATIONS.
4193         * lib/windows-thread.c: Include windows-tls.h.
4194         (wrapper_func, glwthread_thread_exit): Invoke
4195         glwthread_tls_process_destructors.
4196         * modules/windows-thread (Depends-on): Add windows-tls.
4198 2019-06-25  Bruno Haible  <bruno@clisp.org>
4200         threadlib: Avoid autoconf warning "was expanded before it was required".
4201         * modules/threadlib (configure.ac): Require gl_THREADLIB.
4203 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
4205         argmatch: remove duplicate const qualifier
4206         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
4208 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
4210         unistd: stddef.h and sys/types.h namespace cleanup
4211         * lib/unistd.in.h [__GLIBC__]:
4212         Do not include stddef.h or sys/types.h.
4213         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
4214         supposed to declare off_t and ssize_t.  Problem found when looking
4215         at why @GNULIB_PWRITE@ was different from the newly-added
4216         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
4218 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
4220         maintainer-makefile: restore portability to non-GNU awks
4221         Reported by Tim Rühsen.
4222         * top/maint.mk (AWK): New variable.  Use it.
4223         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
4225 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
4227         Document setvbuf _IOLBF problem
4228         * doc/posix-functions/setvbuf.texi (setvbuf):
4229         Document MS-Windows portability problem with _IOLBF.
4231         Document lseek SEEK_DATA/SEEK_HOLE
4232         * doc/posix-functions/lseek.texi (lseek):
4233         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
4235 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
4237         argmatch: put all the docs member last.
4238         Reported by Bruno Haible.
4239         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
4240         member before the docs done.
4241         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
4243 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
4245         argmatch: add support to generate the usage message.
4246         * lib/argmatch.c: Move some #includes and gettext support to...
4247         * lib/argmatch.h: here.
4248         (ARGMATCH_DEFINE_GROUP): New macro.
4249         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
4250         (argmatch_backup_group): New.
4251         (CHECK): New.
4252         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
4253         argmatch_backup_argument and argmatch_backup_usage.
4254         * modules/argmatch: We depend on c99.
4255         * doc/argmatch.texi (Recognizing Option Arguments): New.
4256         * doc/gnulib.texi: Use it.
4258 2019-06-21  Bruno Haible  <bruno@clisp.org>
4260         thrd: Add comment.
4261         * lib/thrd.c (pthread_main_func): Add comment.
4263 2019-06-21  Bruno Haible  <bruno@clisp.org>
4265         threads-h: Define 'thread_local' if and only if it actually works.
4266         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
4267         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
4268         Oracle Solaris Studio C. Compile a simple program, to see whether
4269         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
4270         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
4271         * lib/threads.in.h (thread_local): Undefine if it does not work.
4272         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
4273         (Link): Mention LIBTHREADLOCAL.
4274         * tests/test-threads.c: Don't check that thread_local is defined.
4275         * tests/test-thread_local.c: New file.
4276         * modules/threads-h-tests (Files): Add it and macros.h.
4277         (Depends-on): Add thrd and stdint.
4278         (configure.ac): Test whether 'alarm' is declared.
4279         (Makefile.am): Arrange to build and link test-thread_local.
4280         * doc/posix-headers/threads.texi: Mention the platforms that don't
4281         support 'thread_local'.
4283 2019-06-20  Bruno Haible  <bruno@clisp.org>
4285         threads-h: Simplify link dependencies.
4286         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
4287         Don't set LTLIBSTDTHREAD.
4288         * modules/thrd (Link): Simplify accordingly.
4289         * modules/mtx (Link): Likewise.
4290         * modules/cnd (Link): Likewise.
4291         * modules/tss (Link): Likewise.
4292         * modules/threads (Link): Likewise.
4294 2019-06-20  Bruno Haible  <bruno@clisp.org>
4296         threads-h: Fix link error on FreeBSD 11.
4297         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
4298         also with -lpthread.
4300 2019-06-20  Bruno Haible  <bruno@clisp.org>
4302         threadlib: Fix typo (regression from today).
4303         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
4305 2019-06-20  Bruno Haible  <bruno@clisp.org>
4307         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
4308         * lib/windows-thread.c: Include <errno.h>.
4309         * lib/windows-tls.c: Likewise.
4311 2019-06-20  Bruno Haible  <bruno@clisp.org>
4313         tss tests: Small improvement.
4314         * tests/test-tss.c (test_tss): Pass a different id to each thread.
4316 2019-06-20  Bruno Haible  <bruno@clisp.org>
4318         threads: New module.
4319         * modules/threads: New file.
4321 2019-06-20  Bruno Haible  <bruno@clisp.org>
4323         tss: Add tests.
4324         * tests/test-tss.c: New file, based on tests/test-tls.c.
4325         * modules/tss-tests: New file.
4327 2019-06-20  Bruno Haible  <bruno@clisp.org>
4329         cnd: Add tests.
4330         * tests/test-cnd.c: New file, based on tests/test-cond.c.
4331         * modules/cnd-tests: New file.
4333 2019-06-20  Bruno Haible  <bruno@clisp.org>
4335         mtx: Add tests.
4336         * tests/test-mtx.c: New file, based on tests/test-lock.c.
4337         * tests/test-call_once.c: New file, based on tests/test-once.c.
4338         * modules/mtx-tests: New file.
4340 2019-06-20  Bruno Haible  <bruno@clisp.org>
4342         thrd: Add tests.
4343         * tests/test-thrd_create.c: New file, based on
4344         tests/test-thread_create.c.
4345         * tests/test-thrd_current.c: New file, based on
4346         tests/test-thread_self.c.
4347         * modules/thrd-tests: New file.
4349 2019-06-20  Bruno Haible  <bruno@clisp.org>
4351         tss: New module.
4352         * lib/tss.c: New file.
4353         * modules/tss: New file.
4354         * doc/posix-functions/tss_create.texi: Mention the new module.
4355         * doc/posix-functions/tss_set.texi: Likewise.
4356         * doc/posix-functions/tss_get.texi: Likewise.
4357         * doc/posix-functions/tss_delete.texi: Likewise.
4359 2019-06-20  Bruno Haible  <bruno@clisp.org>
4361         cnd: New module.
4362         * lib/cnd.c: New file.
4363         * modules/cnd: New file.
4364         * doc/posix-functions/cnd_init.texi: Mention the new module.
4365         * doc/posix-functions/cnd_wait.texi: Likewise.
4366         * doc/posix-functions/cnd_timedwait.texi: Likewise.
4367         * doc/posix-functions/cnd_signal.texi: Likewise.
4368         * doc/posix-functions/cnd_broadcast.texi: Likewise.
4369         * doc/posix-functions/cnd_destroy.texi: Likewise.
4371 2019-06-20  Bruno Haible  <bruno@clisp.org>
4373         mtx: New module.
4374         * lib/mtx.c: New file.
4375         * modules/mtx: New file.
4376         * doc/posix-functions/call_once.texi: Mention the new module.
4377         * doc/posix-functions/mtx_init.texi: Likewise.
4378         * doc/posix-functions/mtx_lock.texi: Likewise.
4379         * doc/posix-functions/mtx_trylock.texi: Likewise.
4380         * doc/posix-functions/mtx_timedlock.texi: Likewise.
4381         * doc/posix-functions/mtx_unlock.texi: Likewise.
4382         * doc/posix-functions/mtx_destroy.texi: Likewise.
4384 2019-06-20  Bruno Haible  <bruno@clisp.org>
4386         thrd: New module.
4387         * lib/thrd.c: New file.
4388         * m4/thrd.m4: New file.
4389         * modules/thrd: New file.
4390         * doc/posix-functions/thrd_current.texi: Mention the new module.
4391         * doc/posix-functions/thrd_detach.texi: Likewise.
4392         * doc/posix-functions/thrd_equal.texi: Likewise.
4393         * doc/posix-functions/thrd_exit.texi: Likewise.
4394         * doc/posix-functions/thrd_sleep.texi: Likewise.
4395         * doc/posix-functions/thrd_yield.texi: Likewise.
4396         * doc/posix-functions/thrd_create.texi: Mention the new module and the
4397         AIX bug.
4398         * doc/posix-functions/thrd_join.texi: Mention the new module and the
4399         AIX and Solaris bugs.
4401 2019-06-20  Bruno Haible  <bruno@clisp.org>
4403         threads-h: Add tests.
4404         * tests/test-threads.c: New file.
4405         * modules/threads-h-tests: New file.
4406         * tests/test-threads-c++.cc: New file.
4407         * modules/threads-h-c++-tests: New file.
4409 2019-06-20  Bruno Haible  <bruno@clisp.org>
4411         threads-h: New module.
4412         * lib/threads.in.h: New file.
4413         * m4/threads.m4: New file.
4414         * m4/yield.m4 (gl_YIELD): Update comment.
4415         * modules/threads-h: New file.
4416         * modules/yields (configure.ac): Use AC_REQUIRE.
4417         * doc/posix-headers/threads.texi: Mention the new module and the AIX
4418         bugs.
4420 2019-06-20  Bruno Haible  <bruno@clisp.org>
4422         windows-thread: New module.
4423         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
4424         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
4425         * lib/glthread/thread.h: Include windows-thread.h.
4426         (gl_thread_t): Define using glwthread_thread_t.
4427         (glthread_create): Define using glwthread_thread_create.
4428         (glthread_join): Define using glwthread_thread_join.
4429         (gl_thread_self): Define using glwthread_thread_self.
4430         (gl_thread_exit): Define using glwthread_thread_exit.
4431         (glthread_create_func, glthread_join_func, gl_thread_self_func,
4432         gl_thread_exit_func): Remove declarations.
4433         * lib/glthread/thread.c (self_key): Remove variable.
4434         (do_init_self_key, init_self_key): Remove functions.
4435         (struct gl_thread_struct): Remove type.
4436         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
4437         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
4438         functions.
4439         * modules/windows-thread: New file.
4440         * modules/thread (Depends-on): Add windows-thread.
4442 2019-06-20  Bruno Haible  <bruno@clisp.org>
4444         windows-tls: New module.
4445         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
4446         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
4447         * lib/glthread/tls.h: Include windows-tls.h.
4448         (gl_tls_key_t): Define using glwthread_tls_key_t.
4449         * modules/windows-tls: New file.
4450         * modules/tls (Depends-on): Add windows-tls.
4452 2019-06-20  Bruno Haible  <bruno@clisp.org>
4454         windows-cond: New module.
4455         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
4456         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
4457         * lib/glthread/cond.h: Include windows-cond.h.
4458         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
4459         (gl_cond_t): Define using glwthread_cond_t.
4460         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
4461         (glthread_cond_init): Define using glwthread_cond_init.
4462         (glthread_cond_wait): Define using glwthread_cond_wait.
4463         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
4464         (glthread_cond_signal): Define using glwthread_cond_signal.
4465         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
4466         (glthread_cond_destroy): Define using glwthread_cond_destroy.
4467         (glthread_cond_init_func, glthread_cond_wait_func,
4468         glthread_cond_timedwait_func, glthread_cond_signal_func,
4469         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
4470         declarations.
4471         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
4472         types.
4473         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
4474         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
4475         glthread_cond_init_func, glthread_cond_wait_func,
4476         glthread_cond_timedwait_func, glthread_cond_signal_func,
4477         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
4478         functions.
4479         * modules/windows-cond: New file.
4480         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
4482 2019-06-20  Bruno Haible  <bruno@clisp.org>
4484         windows-timedrecmutex: New module.
4485         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
4486         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
4487         * modules/windows-timedrecmutex: New file.
4489 2019-06-20  Bruno Haible  <bruno@clisp.org>
4491         windows-timedmutex: New module.
4492         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
4493         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
4494         * modules/windows-timedmutex: New file.
4496 2019-06-20  Bruno Haible  <bruno@clisp.org>
4498         windows-recmutex: New module.
4499         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
4500         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
4501         * lib/glthread/lock.h: Include windows-recmutex.h.
4502         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
4503         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
4504         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
4505         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
4506         (glthread_recursive_lock_unlock): Define using
4507         glwthread_recmutex_unlock.
4508         (glthread_recursive_lock_destroy): Define using
4509         glwthread_recmutex_destroy.
4510         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
4511         glthread_recursive_lock_unlock_func,
4512         glthread_recursive_lock_destroy_func): Remove declarations.
4513         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
4514         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
4515         glthread_recursive_lock_destroy_func): Remove functions.
4516         * modules/windows-recmutex: New file.
4517         * modules/lock (Depends-on): Add windows-recmutex.
4519 2019-06-20  Bruno Haible  <bruno@clisp.org>
4521         windows-mutex: New module.
4522         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
4523         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
4524         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
4525         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
4526         (gl_spinlock_t): Remove type.
4527         (gl_lock_t): Define using glwthread_mutex_t.
4528         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
4529         (glthread_lock_init): Define using glwthread_mutex_init.
4530         (glthread_lock_lock): Define using glwthread_mutex_lock.
4531         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
4532         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
4533         (glthread_lock_init_func, glthread_lock_lock_func,
4534         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
4535         declarations.
4536         Use glwthread_spinlock_t instead of gl_spinlock_t.
4537         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
4538         GLWTHREAD_SPINLOCK_INIT.
4539         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
4540         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
4541         functions.
4542         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
4543         gl_spinlock_t.
4544         * modules/windows-mutex: New file.
4545         * modules/lock (Depends-on): Add windows-mutex.
4547 2019-06-20  Bruno Haible  <bruno@clisp.org>
4549         windows-once: New module.
4550         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
4551         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
4552         * lib/glthread/lock.h: Include windows-once.h.
4553         (gl_once_t): Define using glwthread_once_t.
4554         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
4555         (glthread_once): Define using glwthread_once.
4556         (glthread_once_func): Remove declaration.
4557         * lib/glthread/lock.c (glthread_once_func): Remove function.
4558         * modules/windows-once: New file.
4559         * modules/lock (Depends-on): Add windows-once.
4561 2019-06-20  Bruno Haible  <bruno@clisp.org>
4563         lock, cond: Avoid possible counter wraparound on Windows.
4564         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
4565         field of the guard unchanged if it was already positive.
4566         (glthread_rwlock_rdlock_func): Likewise.
4567         (glthread_rwlock_wrlock_func): Likewise.
4568         (glthread_recursive_lock_lock_func): Likewise.
4569         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
4570         (glthread_cond_timedwait_func): Likewise.
4572 2019-06-20  Bruno Haible  <bruno@clisp.org>
4574         cond: Make glthread_cond_timedwait more reliable on Windows.
4575         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
4576         condition variable before looking at the current time.
4578 2019-06-20  Bruno Haible  <bruno@clisp.org>
4580         pthread_mutex_timedlock: New module.
4581         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
4582         new declaration.
4583         * lib/pthread_mutex_timedlock.c: New file.
4584         * m4/pthread_mutex_timedlock.m4: New file.
4585         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
4586         whether pthread_mutex_timedlock is declared.
4587         (gl_PTHREAD_MODULE_INDICATOR): New macro.
4588         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
4589         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
4590         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
4591         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
4592         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
4593         * modules/pthread_mutex_timedlock: New file.
4594         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
4595         module.
4597 2019-06-20  Bruno Haible  <bruno@clisp.org>
4599         thread, lock, cond, tls: Recognize C11 multithreaded applications.
4600         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
4601         * lib/glthread/thread.h (c11_threads_in_use): New macro.
4602         (pthread_in_use, pth_in_use, thread_in_use): Use it.
4603         * lib/glthread/lock.h (c11_threads_in_use): New macro.
4604         (pthread_in_use, pth_in_use, thread_in_use): Use it.
4605         * lib/glthread/cond.h (c11_threads_in_use): New macro.
4606         (pthread_in_use, pth_in_use, thread_in_use): Use it.
4607         * lib/glthread/tls.h (c11_threads_in_use): New macro.
4608         (pthread_in_use, pth_in_use, thread_in_use): Use it.
4610 2019-06-20  Bruno Haible  <bruno@clisp.org>
4612         tls tests: Small improvements.
4613         * tests/test-tls.c: Include <stdint.h>.
4614         (worker_thread): Avoid gcc warning on 64-bit mingw.
4615         (test_tls): Pass a different id to each thread.
4616         * modules/tls-tests (Depends-on): Add stdint.
4618 2019-06-20  Bruno Haible  <bruno@clisp.org>
4620         cond tests: Simplify.
4621         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
4623 2019-06-20  Bruno Haible  <bruno@clisp.org>
4625         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
4626         * tests/test-lock.c (test_once): Don't reference fire_signal if
4627         !ENABLE_LOCKING.
4629 2019-06-19  Bruno Haible  <bruno@clisp.org>
4631         nanosleep: Relicense under LGPLv2+.
4632         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
4633         * modules/nanosleep (License): Change to LGPLv2+.
4635 2019-06-19  Bruno Haible  <bruno@clisp.org>
4637         Reorder pieces of header in perl scripts.
4638         The desired order is
4639         - Prologue part 1 (2 lines with #!)
4640         - Program short description
4641         - Copyright and license notice
4642         - Written-by notice
4643         - Program short description (optional)
4644         - Program long description (optional)
4645         - Prologue part 2
4646         - Time stamp
4647         - Code
4648         Reported by Paul Eggert.
4649         * build-aux/announce-gen: Reorder header.
4650         * build-aux/gitlog-to-changelog: Likewise.
4651         * build-aux/useless-if-before-free: Likewise.
4652         * build-aux/prefix-gnulib-mk: Add copyright notice and short
4653         description.
4654         * build-aux/update-copyright: Likewise. Add short description. Bump
4655         time-stamp-line-limit to 200.
4657 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
4659         verify-tests: work around xlc bug
4660         Problem reported by Bruno Haible in:
4661         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
4662         * tests/test-verify.c (item): Move the arithmetic inside the
4663         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
4665 2019-06-16  Bruno Haible  <bruno@clisp.org>
4667         Restore Emacs time-stamp hook applicability.
4668         Reported by Darshit Shah <darnir@gnu.org>.
4669         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
4670         * build-aux/announce-gen: Likewise.
4671         * build-aux/gitlog-to-changelog: Likewise.
4672         * build-aux/prefix-gnulib-mk: Likewise.
4673         * build-aux/update-copyright: Likewise.
4675 2019-06-15  Bruno Haible  <bruno@clisp.org>
4677         Fix scripts to have valid executable format on Alpine Linux.
4678         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
4679         Idea by Paul Eggert.
4680         * build-aux/useless-if-before-free: Use a prologue that starts with
4681         '#!/bin/sh'.
4682         * build-aux/announce-gen: Likewise.
4683         * build-aux/gitlog-to-changelog: Likewise.
4684         * build-aux/prefix-gnulib-mk: Likewise.
4685         * build-aux/update-copyright: Likewise.
4686         * tests/test-update-copyright.sh: Update test program accordingly.
4688 2019-06-10  Bruno Haible  <bruno@clisp.org>
4690         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
4691         Reported by Nikita Ermakov <arei@altlinux.org> in
4692         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
4693         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
4694         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
4696 2019-06-10  Bruno Haible  <bruno@clisp.org>
4698         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
4699         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
4700         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
4701         a copy of the path argument.
4702         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
4703         it.
4705 2019-06-10  Bruno Haible  <bruno@clisp.org>
4707         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
4708         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
4709         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
4710         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
4711         a copy of the path argument.
4712         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
4713         it.
4715 2019-06-10  Bruno Haible  <bruno@clisp.org>
4717         posix_spawn_file_actions_addfchdir: Add tests.
4718         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
4719         * tests/test-posix_spawn5.c: New file.
4720         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
4722 2019-06-10  Bruno Haible  <bruno@clisp.org>
4724         posix_spawn_file_actions_addfchdir: New module.
4725         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
4726         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
4727         union member 'fchdir_action'.
4728         * lib/spawn_faction_addfchdir.c: New file.
4729         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
4730         * m4/posix_spawn_faction_addfchdir.m4: New file.
4731         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
4732         'posix_spawn_file_actions_addfchdir' is present and whether
4733         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
4734         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
4735         posix_spawn_file_actions_addfchdir is declared.
4736         (gl_SPAWN_H_DEFAULTS): Initialize
4737         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
4738         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
4739         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
4740         * modules/spawn (Makefile.am): Substitute
4741         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
4742         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
4743         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
4744         * modules/posix_spawn_file_actions_addfchdir: New file.
4745         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
4746         signature.
4747         * doc/posix-functions/posix_spawn.texi: Mention the new module.
4748         * doc/posix-functions/posix_spawnp.texi: Likewise.
4749         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
4750         Likewise.
4752 2019-06-10  Bruno Haible  <bruno@clisp.org>
4754         doc: Document existence of posix_spawn_file_actions_addchdir module.
4755         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
4756         the posix_spawn_file_actions_addchdir module.
4758 2019-06-10  Bruno Haible  <bruno@clisp.org>
4760         posix_spawn-internal: Fix module description.
4761         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
4762         from here...
4763         * modules/posix_spawnp (configure.ac): ... and here...
4764         * modules/posix_spawn-internal (configure.ac): ... to here.
4766 2019-06-10  Bruno Haible  <bruno@clisp.org>
4768         doc: Update and improve documentation of glibc functions.
4769         This is a series of commits that
4770         - updates the documentation to the state of glibc 2.29,
4771         - adds references to Linux man pages and glibc documentation,
4772         - marks Linux specific functions as such.
4773         These are the commits:
4774         doc: Update after removal of crypt functions from glibc 2.28.
4775         doc: Remove mention of function vm86 (does not exist on x86_64).
4776         doc: Remove mention of functions that are gone from glibc.
4777         doc: Mention that glibc no longer provides h_errno.
4778         doc: Mention the availability of specific functions in glibc versions.
4779         doc: Mention eaccess.
4780         doc: Add references to Linux man pages.
4781         doc: Add references to glibc documentation.
4782         doc: Mention inotify_* functions.
4783         doc: Mention ppoll.
4784         doc: Mention sched_getcpu.
4785         doc: Mention sync_file_range.
4786         doc: Mention epoll_pwait.
4787         doc: Mention eventfd, eventfd_read, eventfd_write.
4788         doc: Mention signalfd.
4789         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
4790         doc: Mention epoll_create1.
4791         doc: Mention getauxval.
4792         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
4793         doc: Mention nextdown, nextup.
4794         doc: Mention more ISO TS 18661-1 <math.h> functions.
4795         doc: Mention ISO TS 18661-1 <fenv.h> functions.
4796         doc: Mention getrandom, getentropy.
4797         doc: Mention strfromf, strfromd, strfroml.
4798         doc: Mention preadv2, pwritev2.
4799         doc: Mention copy_file_range.
4800         doc: Mention memfd_create.
4801         doc: Mention mlock2.
4802         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
4803         doc: Mention more ISO TS 18661-1 <math.h> functions.
4804         doc: Mention renameat2.
4805         doc: Mention statx.
4806         doc: Mention the ISO C11 multithreading header and functions.
4807         doc: Mention getcpu.
4808         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
4809         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
4810         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
4811         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
4812         doc: Some glibc functions also exist on Solaris 11.
4813         doc: Some glibc functions also exist on Solaris 11.4.
4814         doc: Some glibc functions also exist on FreeBSD.
4815         doc: Some glibc functions also exist on BeOS.
4816         doc: Some glibc functions also exist on Haiku.
4817         doc: Mark functions which exist only on Linux.
4818         doc: Mark functions which exist only on Linux and illumos.
4820 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
4822         copy-file: fix typo
4823         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
4825         copy-file-range: simplify into a stub
4826         Based on a comment by Florian Weimer in:
4827         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
4828         It turns out that Emacs (which will use this module) won’t need an
4829         emulation and I suspect other programs won’t either, because these
4830         programs will need to fall back on read+write anyway.  Perhaps I
4831         am wrong and other programs will be able to use an emulation; if
4832         so, this patch can be reverted.
4833         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
4834         Just call it copy_file_range.
4835         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
4836         Check via AC_LINK_IFELSE.
4837         * modules/copy-file-range (Depends-on): Remove modules no longer used.
4839 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
4841         copy-file: prefer copy_file_range
4842         * lib/copy-file.c: Do not include xalloc.h.
4843         (qcopy_file_preserving): Allocate a buffer only if
4844         copy_file_range does not suffice.  If the allocation fails
4845         don't give up; just use a small stack-based buffer.
4846         Prefer copy_file_range if it works.
4847         * modules/copy-file (Depends-on): Add copy-file-range.
4848         Remove xalloc.
4850         copy-file-range: new module
4851         * MODULES.html.sh: Add copy-file-range.
4852         * lib/copy-file-range.c, m4/copy-file-range.m4:
4853         * modules/copy-file-range: New files.
4854         * lib/unistd.in.h (copy_file_range): Declare.
4855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
4856         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
4857         * modules/unistd (unistd.h): Substitute them.
4859 2019-05-28  Bruno Haible  <bruno@clisp.org>
4861         binary-io: Attempted use of O_BINARY on consoles no longer fails.
4862         Reported by KO Myung-Hun <komh78@gmail.com> in
4863         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
4864         * lib/binary-io.h (__gl_setmode_check): Remove function.
4865         (set_binary_mode): Declare as notinline on DJGPP and EMX.
4866         * lib/binary-io.c (__gl_setmode_check): Remove function.
4867         (set_binary_mode): Define here on DJGPP and EMX. Inline
4868         __gl_setmode_check. In case of a tty, don't return an error code.
4870 2019-05-28  James Youngman  <jay@gnu.org>
4872         dirent-safer: Make opendir_safer usable from C++.
4873         * lib/dirent-safer.h: use extern "C".
4875 2019-05-28  James Youngman  <jay@gnu.org>
4877         canonicalize: Make canonicalize_filename_mode usable from C++.
4878         * lib/canonicalize.h: use extern "C".
4880 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
4882         prefix-gnulib-mk: Fix CPPFLAGS migration.
4883         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
4884         _a part of the library name.
4886 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
4888         flexmember: update comments again
4889         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
4891         flexmember: update comment
4892         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
4894 2019-05-20  Bruno Haible  <bruno@clisp.org>
4896         setlocale: Improve fallback on macOS.
4897         * lib/setlocale.c (search): Optimize away a redundant strcmp()
4898         invocation.
4899         (locales_with_principal_territory): New array.
4900         (langcmp, get_main_locale_with_same_language): New functions.
4901         (locales_with_principal_language): New array.
4902         (terrcmp, get_main_locale_with_same_territory): New functions.
4903         (rpl_setlocale): When setlocale_single failed, try again with a locale
4904         that is more likely to exist. Don't warn if the environment variable
4905         SETLOCALE_VERBOSE is not set.
4907 2019-05-19  Bruno Haible  <bruno@clisp.org>
4909         localename: Fix default on macOS.
4910         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
4911         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
4912         (gl_locale_name_environ, gl_locale_name_default): Remove code for
4913         HAVE_CFLOCALECOPYCURRENT.
4914         * lib/localename.h (gl_locale_name_default): Update.
4916 2019-05-19  Karl Berry  <karl@freefriends.org>
4918         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
4919         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
4920         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
4922 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
4924         maintainer-makefile: catch uses of $< in non-implicit rules
4925         * top/maint.mk (sc_prohibit_magic_number_exit): New.
4927 2019-05-18  Bruno Haible  <bruno@clisp.org>
4929         threadlib: Provide an easy way to avoid mingw's winpthreads library.
4930         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
4931         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
4932         gl_use_threads accordingly.
4934 2019-05-18  Bruno Haible  <bruno@clisp.org>
4936         pthread_sigmask: Fix compilation error with --enable-threads=windows.
4937         Reported by Tim Rühsen in
4938         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
4939         and Michele Locati in
4940         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
4941         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
4942         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
4943         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
4944         in use and regardless which threads API is chosen.
4946 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4948         close-stream, closein, closeout: simplify
4949         I noticed this opportunity for simplification while drafting a
4950         new, related module that I haven’t had time to finish yet.
4951         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
4952         * modules/close-stream (Files): Remove m4/close-stream.m4.
4953         (configure.ac): Omit gl_CLOSE_STREAM.
4954         * modules/closein (Files): Remove m4/closein.m4
4955         (configure.ac): Omit gl_CLOSEIN.
4956         * modules/closeout (Files): Remove m4/closeout.m4.
4957         (configure.ac): Omit gl_CLOSEOUT.
4959 2019-05-12  Bruno Haible  <bruno@clisp.org>
4961         libtool-next-version: New program.
4962         * build-aux/libtool-next-version: New file.
4964 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
4965             Bruno Haible  <bruno@clisp.org>
4967         version-etc: Ease translation.
4968         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
4969         URLs and formatting newlines out of translatable string.
4971 2019-05-11  Bruno Haible  <bruno@clisp.org>
4973         gnupload: Explain how to create symlinks.
4974         * build-aux/gnupload (usage): Add an example that creates symlinks.
4976 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4978         fpucw: port to gcc -pedantic
4979         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
4980         Use __extension__ if using ({ ... }).
4982         crypto/af_alg: port to strict C compilers
4983         * lib/af_alg.c: Include af_alg.h regardless, so that the
4984         compilation unit is nonempty.
4986 2019-05-10  Bruno Haible  <bruno@clisp.org>
4988         base64: Avoid false positive warning from Coverity.
4989         Reported by Kamil Dudka <kdudka@redhat.com>.
4990         Idea by Paul Eggert.
4991         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
4992         '& 0x3f' to the array index expressions. This convinces Coverity that
4993         there is no out-of-bounds array reference, regardless of the input.
4995 2019-05-09  Bruno Haible  <bruno@clisp.org>
4997         gettext: Update to gettext 0.20.
4998         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
4999         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
5000         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
5001         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
5002         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
5003         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
5004         (configure.ac): Request infrastructure compatible with gettext 0.20.
5005         * m4/glibc2.m4: Remove file.
5006         * m4/intdiv0.m4: Remove file.
5007         * m4/intl.m4: Remove file.
5008         * m4/intldir.m4: Remove file.
5009         * m4/intmax.m4: Remove file.
5010         * m4/printf-posix.m4: Remove file.
5011         * m4/uintmax_t.m4: Remove file.
5012         * m4/gettext.m4: Update from gettext 0.20.
5013         * m4/po.m4: Likewise.
5015 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
5017         verify: remove verify_true
5018         * NEWS: Mention this.
5019         * lib/verify.h (verify_true): Remove.
5020         * tests/test-verify.c (item): Test verify_expr, not verify_true.
5022         Support C2X and C++17 static_assert
5023         C2X and C++17 finally added support for a simple, single-argument
5024         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
5025         doing back in 2005.  Implement static_assert on older platforms.
5026         The only remaining advantage of ‘verify’ is a shorter name.
5027         * doc/posix-headers/assert.texi (assert.h):
5028         * doc/verify.texi (Compile-time Assertions):
5029         Modernize for C2X and C++17.
5030         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
5031         New macros.
5032         (_GL_HAVE__STATIC_ASSERT): Remove.
5033         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
5034         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
5035         string.  All callers changed.
5036         (_GL_VERIFY): Require 3 or more args, of which only the first 2
5037         are used.  All callers changed.
5038         (_Static_assert): Allow either 1 or 2 args, and define if
5039         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
5040         !_GL_HAVE__STATIC_ASSERT.
5041         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
5042         of defining if !_GL_HAVE_STATIC_ASSERT.
5043         (verify_expr, verify): Don’t bother trying to copy the expression
5044         into the diagnostic, since 1-argument static_assert doesn’t.
5045         (verify): Prefer 1-argument _Static_assert if it works.
5046         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
5048 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
5050         Fix _GL_HAVE__STATIC_ASSERT typo
5051         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
5052         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
5054 2019-05-05  Bruno Haible  <bruno@clisp.org>
5056         wcwidth: Ensure width 1, not 2, for ambiguous characters.
5057         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
5058         via Akim Demaille <akim.demaille@gmail.com>.
5059         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
5060         en_US.UTF-8 locale, since that is more likely to be present than an
5061         fr_FR.UTF-8 locale.
5062         * tests/test-wcwidth.c (main): Check the width of U+2202.
5063         * doc/posix-functions/wcwidth.texi: Mention the issue.
5065 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
5067         Port manywarnings to GCC 9
5068         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
5069         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
5070         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
5071         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
5072         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
5073         --help=warnings output.
5074         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
5075         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
5076         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
5078 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
5080         Sync lib/mktime-internal.h from glibc
5081         * config/srclist.txt: Add entry for lib/mktime-internal.h.
5082         * lib/mktime-internal.h: Autoupdate.
5084 2019-04-28  Bruno Haible  <bruno@clisp.org>
5086         tls tests: Prevent that the test takes too long.
5087         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
5088         (main): Let the test fail if it takes more than 10 minutes.
5089         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
5091 2019-04-27  Bruno Haible  <bruno@clisp.org>
5093         lock tests: Prevent that the test takes too long.
5094         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
5095         (main): Let the test fail if it takes more than 10 minutes.
5096         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
5098 2019-04-27  Bruno Haible  <bruno@clisp.org>
5100         localename: Fix crash on mingw (regression from 2018-11-23).
5101         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
5102         locale name that is null.
5104 2019-04-27  Bruno Haible  <bruno@clisp.org>
5106         Fix gcc warnings on 64-bit mode mingw.
5107         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
5108         * lib/gl_array_list.c: Likewise.
5109         * lib/gl_array_map.c: Likewise.
5110         * lib/gl_array_set.c: Likewise.
5111         * lib/gl_carray_list.c: Likewise.
5112         * lib/gl_sublist.c: Likewise.
5113         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
5114         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
5115         * lib/gl_hash_map.c (uintptr_t): Likewise.
5116         * lib/gl_hash_set.c (uintptr_t): Likewise.
5117         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
5118         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
5119         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
5120         * lib/iconv.c (uintptr_t): Likewise.
5121         * lib/iconv_close.c (uintptr_t): Likewise.
5122         * tests/test-lock.c: Include <stdint.h>.
5123         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
5124         'long'.
5125         * modules/clean-temp (Depends-on): Add stdint.
5126         * modules/array-list (Depends-on): Likewise.
5127         * modules/array-map (Depends-on): Likewise.
5128         * modules/array-set (Depends-on): Likewise.
5129         * modules/carray-list (Depends-on): Likewise.
5130         * modules/sublist (Depends-on): Likewise.
5131         * modules/lock-tests (Depends-on): Likewise.
5133 2019-04-27  Bruno Haible  <bruno@clisp.org>
5135         error: Tweak indentation.
5136         * lib/error.c: Correct indentation.
5138 2019-04-27  Bruno Haible  <bruno@clisp.org>
5140         term-style-control: Fix gcc warning on mingw.
5141         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
5142         of i.
5144 2019-04-26  Bruno Haible  <bruno@clisp.org>
5146         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
5147         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
5149 2019-04-26  Bruno Haible  <bruno@clisp.org>
5151         relocatable-prog: Fix gcc warning on mingw.
5152         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
5153         on EMX.
5155 2019-04-02  Bruno Haible  <bruno@clisp.org>
5157         gitsub.sh: New file.
5158         * top/gitsub.sh: New file.
5160 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
5162         argmatch: use void* for raw memory pointers
5163         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
5164         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
5165         to "values", keep char* for strings.
5167 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
5169         prefix-gnulib-mk: fix the support for gnulib-po
5170         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
5171         Don't touch HAVE_* variables.
5172         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
5174 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
5176         di-set: allow free with 'ino_map' being NULL.
5177         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
5178         is NULL.  Bug introduced in commit 3703dbbe88dd.
5179         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
5180         as a test.
5182 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
5184         * lib/str-two-way.h: Fix comment typo.
5186 2019-04-13  Bruno Haible  <bruno@clisp.org>
5188         x-to-1: Restore ability to use original calling convention.
5189         * build-aux/x-to-1.in: Add comments. Accept the original form of
5190         HELP2MAN argument as well as the form expected since 2012-12-12.
5192 2019-04-13  Bruno Haible  <bruno@clisp.org>
5194         x-to-1: Avoid failure due to missing perl modules.
5195         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
5196         needs are installed.
5198 2019-04-13  Bruno Haible  <bruno@clisp.org>
5200         openmp-init: New module.
5201         * modules/openmp-init: New file.
5202         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
5203         the changes from 2019-04-09.
5205 2019-04-12  Bruno Haible  <bruno@clisp.org>
5207         signbit: Fix compilation error when gnulib's math.h exists twice.
5208         * lib/math.in.h (GNULIB_defined_signbit): New macro.
5210 2019-04-12  Bruno Haible  <bruno@clisp.org>
5212         openmp: Fix compilation error on platforms without OpenMP.
5213         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
5215 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
5217         mountlist: make parsing /proc/self/mountinfo more robust
5218         Cater for the following issues with mountinfo parsing (the first
5219         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
5220         in <https://bugs.gnu.org/35137>).
5221         1. The fields source, target, mntroot and fstype may contain characters
5222         like '\r'; sscanf(3) fails to read such values with the %s format
5223         specifier because it would stop at such characters.
5224         Example: "mount -t tmpfs tmpfs /foo^Mbar".
5225         The only true separator in that file is the ' ' character.
5226         2. The source field may be an empty string, which happens e.g. with
5227         "mount -t tmpfs '' /target".
5228         3. The fstype field may contain mangled characters as well which need
5229         unescaping.
5230         * lib/mountlist.c (terminate_at_blank): Add utility function.
5231         (read_file_system_list): In the block trying to read the mountinfo file,
5232         avoid using sscanf(3) with %s format; instead, parse the above fields
5233         separated by spaces one by one.
5234         This also handles the case when the source field is an empty string.
5235         Unescape the fstype field.
5237 2019-04-09  Bruno Haible  <bruno@clisp.org>
5239         openmp: Add workaround for 32-bit programs on AIX.
5240         * lib/omp.in.h: New file.
5241         * lib/omp-init.c: New file, based on lib/nproc.c.
5242         * m4/omp_h.m4: New file.
5243         * modules/openmp (Files): Add them.
5244         (Depends-on): Add include_next, c-ctype, setenv.
5245         (configure.ac): Invoke gl_OMP_H.
5246         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
5247         (Include): Mention <omp.h>.
5249 2019-04-09  Bruno Haible  <bruno@clisp.org>
5251         nproc: Fix return value for privileged processes.
5252         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
5253         getpid().
5255 2019-04-07  Bruno Haible  <bruno@clisp.org>
5257         Add copyright notices in several files.
5258         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
5259         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
5260         * lib/libunistring.valgrind: Likewise.
5261         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
5262         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
5263         * lib/memchr.valgrind: Likewise.
5264         * lib/memchr2.valgrind: Likewise.
5265         * lib/rawmemchr.valgrind: Likewise.
5266         * lib/relocatable.valgrind: Likewise.
5267         * lib/strchrnul.valgrind: Likewise.
5269 2019-03-25  Bruno Haible  <bruno@clisp.org>
5271         term-style-control tests: Fix link error.
5272         Reported by Tom G. Christensen in
5273         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
5274         * modules/term-style-control-tests (Makefile.am): Link
5275         test-term-style-control-hello and test-term-style-control-yes against
5276         LIBINTL.
5278 2019-03-24  Bruno Haible  <bruno@clisp.org>
5280         term-style-control: Add tests.
5281         * tests/test-term-style-control-hello.c: New file.
5282         * tests/test-term-style-control-yes.c: New file.
5283         * modules/term-style-control-tests: New file.
5285         term-style-control: New module.
5286         * lib/term-style-control.h: New file, based on libtextstyle's
5287         term-ostream.oo.h and term-ostream.oo.c.
5288         * lib/term-style-control.c: New file, based on libtextstyle's
5289         term-ostream.oo.c.
5290         * modules/term-style-control: New file.
5292 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
5294         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
5295         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
5296         C++98 appears to be supported by Clang, but not by GCC nor ICC.
5298 2019-03-23  Bruno Haible  <bruno@clisp.org>
5300         Support cross-compilation to musl libc.
5301         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
5302         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
5303         musl libc.
5304         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5305         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
5306         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5307         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5308         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5309         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
5310         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5311         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
5312         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5313         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
5314         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
5315         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
5316         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5317         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5318         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
5319         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5320         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5321         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5322         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
5323         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
5324         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5325         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
5326         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
5327         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5328         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
5329         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5330         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
5331         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
5332         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
5333         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
5334         * m4/log.m4 (gl_FUNC_LOG): Likewise.
5335         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
5336         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
5337         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
5338         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
5339         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
5340         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
5341         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
5342         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
5343         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
5344         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
5345         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
5346         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5347         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5348         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
5349         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5350         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5351         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
5352         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
5353         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
5354         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
5355         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
5356         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
5357         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
5358         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5359         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
5360         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5361         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5362         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
5363         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5364         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5365         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5366         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5367         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
5368         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5369         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5370         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
5371         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
5372         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5373         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
5374         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5375         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5376         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5377         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5378         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5379         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5380         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5381         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5383 2019-03-23  Bruno Haible  <bruno@clisp.org>
5385         posix_spawn_file_actions_*: Document musl libc bugs.
5386         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
5387         the bug.
5388         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
5389         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
5390         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
5391         cross-compiling to a musl system, guess no.
5392         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
5393         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
5395 2019-03-23  Bruno Haible  <bruno@clisp.org>
5397         futimens: Document musl libc bug.
5398         * doc/posix-functions/futimens.texi: Mention the bug.
5399         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
5400         cross-compiling, guess no on glibc and musl systems.
5402 2019-03-23  Bruno Haible  <bruno@clisp.org>
5404         Clarify that cross-compilation guesses are guesses.
5405         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
5406         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
5407         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
5408         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
5409         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
5410         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
5411         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
5412         gl_cv_glob_lists_symlinks.
5413         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
5414         'guessing ' to ac_cv_func_malloc_0_nonnull.
5415         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
5416         'guessing ' to ac_cv_func_realloc_0_nonnull.
5417         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
5418         'guessing ' to gl_cv_func_poll.
5419         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
5420         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
5421         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
5423 2019-03-23  Bruno Haible  <bruno@clisp.org>
5425         strtold: Fix typo.
5426         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
5428 2019-03-23  Bruno Haible  <bruno@clisp.org>
5430         noreturn: In C++ mode with clang, use _Noreturn as fallback.
5431         Reported by Akim Demaille.
5432         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
5433         [[noreturn]] would not work, use _Noreturn instead.
5435 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
5437         libtextstyle-optional: Fix compiler warnings.
5438         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
5439         as unused.
5441 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
5443         bitset: fix memory leaks
5444         Reported by Bruno Haible.
5445         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
5446         * lib/bitset/vector.c (vbitset_free): New.
5447         (vbitset_vtable): Use it.
5449 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
5451         bitset: minor changes
5452         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
5453         * lib/bitset/table.c: Formatting changes.
5454         Remove useless braces.
5455         Prefer using else in cascades of if/else-if with returns.
5456         * lib/bitset/vector.c: Reduce scopes.
5458 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
5460         bitset: expose bitset_resize
5461         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
5462         * tests/test-bitset.c (check_attributes): Check bitset_resize.
5463         (main): Use a variable bitset as reference, since fixed does not support resize.
5465 2019-03-19  Bruno Haible  <bruno@clisp.org>
5467         doc: Document the 'stdnoreturn' and 'noreturn' modules.
5468         Reported by Akim Demaille.
5469         * doc/noreturn.texi: New file.
5470         * doc/gnulib.texi: Include it.
5472 2019-03-19  Bruno Haible  <bruno@clisp.org>
5474         doc: Document how to use 'static inline'.
5475         * doc/static-inline.texi: New file.
5476         * doc/gnulib.texi: Include it.
5478 2019-03-19  Bruno Haible  <bruno@clisp.org>
5480         libtextstyle-optional: Add tests.
5481         * tests/test-libtextstyle.c: New file, based on libtextstyle's
5482         adhoc-tests/hello.c.
5483         * tests/test-libtextstyle-default.css: New file, copied from
5484         libtextstyle's adhoc-tests/hello-default.css.
5485         * modules/libtextstyle-optional-tests: New file.
5487         libtextstyle-optional: New module.
5488         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
5489         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
5490         * modules/libtextstyle-optional: New file.
5492 2019-03-19  Bruno Haible  <bruno@clisp.org>
5494         c-stack: Make signal handlers more reliable.
5495         * lib/c-stack.c (progname): New variable.
5496         (die): Use it.
5497         (c_stack_action): Initialize it.
5498         (segv_handler): Save and restore errno.
5500 2019-03-19  Bruno Haible  <bruno@clisp.org>
5502         Help making signal handlers more reliable.
5503         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
5504         _GL_ASYNC_SAFE into config.h.
5505         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
5506         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
5507         argument.
5508         * lib/fatal-signal.c (action_t, uninstall_handlers,
5509         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
5510         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
5511         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
5512         _GL_ASYNC_SAFE.
5513         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
5514         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
5516 2019-03-18  Bruno Haible  <bruno@clisp.org>
5518         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
5519         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
5520         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
5522 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
5524         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
5525         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
5526         GCC 4.8.
5528 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
5530         fts: minor simplification
5531         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
5533 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
5535         bitset, timevar: Depend on c99.
5536         Reported by Bruno Haible.
5537         * modules/bitset, modules/timevar (Depends-on): Add c99.
5539 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
5541         bitset: a bit (...) more tests
5542         * tests/test-bitset.c (check_attributes): Check zero and ones.
5544 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
5546         bitset: fix overflows.
5547         Reported by Bruno Haible.
5548         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
5549         * lib/bitset/table.c (tbitset_test): last_bit is the position of
5550         the bit in the array of bitset_word, so be sure to take its modulo
5551         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
5552         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
5554 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
5556         bitset: style changes.
5557         * lib/bitset/table.c: Use NULL, not 0, for pointers.
5558         Formatting changes.
5559         (tbitset_list): Reduce scopes.
5561 2019-03-16  Bruno Haible  <bruno@clisp.org>
5563         fatal-signal: Pass the signal number to the action.
5564         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
5565         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
5566         (fatal_signal_handler): Pass the signal number to the action.
5567         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
5568         signal number as parameter.
5569         (create_temp_dir): Update.
5570         * lib/wait-process.c (cleanup_slaves_action): New function.
5571         (register_slave_subprocess): Update at_fatal_signal invocation.
5572         * NEWS: Mention the change.
5574 2019-03-16  Bruno Haible  <bruno@clisp.org>
5576         fatal-signal: Add function that lists the fatal signals.
5577         * lib/fatal-signal.h (get_fatal_signals): New declaration.
5578         * lib/fatal-signal.c (get_fatal_signals): New function.
5580 2019-03-14  Bruno Haible  <bruno@clisp.org>
5582         isatty: Make it return true in Cygwin consoles on native Windows.
5583         * lib/isatty.c: Include <string.h>.
5584         (GetProcAddress): New macro.
5585         (GetNamedPipeClientProcessIdFuncType): New type.
5586         (GetNamedPipeClientProcessIdFunc): New variable.
5587         (QueryFullProcessImageNameFuncType): New type.
5588         (QueryFullProcessImageNameFunc): New variable.
5589         (initialized): New variable.
5590         (initialize): New function.
5591         (IsCygwinConsoleHandle): New function.
5592         (isatty): Invoke it.
5593         * doc/posix-functions/isatty.texi: Mention the issue.
5595 2019-03-14  Bruno Haible  <bruno@clisp.org>
5597         all: Update URLs to msdn.microsoft.com.
5598         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
5599         was moved to docs.microsoft.com.
5601 2019-03-13  Bruno Haible  <bruno@clisp.org>
5603         gnulib-tool: Clarify the coding style.
5604         Suggested by Pavel Raiskup <praiskup@redhat.com>.
5605         * gnulib-tool: Add comment about coding style.
5607 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
5609         strtod: fix clash with strtold
5610         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
5611         * lib/strtod.c (compute_minus_zero, minus_zero):
5612         Simplify by remving the macro / external variable,
5613         and having just a function.  User changed.  This avoids
5614         the need for an external variable that might clash.
5616 2019-03-10  Bruno Haible  <bruno@clisp.org>
5618         alloca-opt: Fix conflict mingw's new <alloca.h> file.
5619         Reported by Eli Zaretskii <eliz@gnu.org>.
5620         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
5621         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
5622         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
5624 2019-03-10  Bruno Haible  <bruno@clisp.org>
5626         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
5627         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
5628         is in use.
5629         * tests/test-printf-posix2.c: Likewise.
5631 2019-03-10  Bruno Haible  <bruno@clisp.org>
5633         uninorm tests: Free allocated memory.
5634         * tests/uninorm/test-u32-normalize-big.h
5635         (struct normalization_test_file): Remove 'const' from allocated member.
5636         (free_normalization_test_file): New declaration.
5637         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
5638         memory.
5639         (free_normalization_test_file): New function.
5640         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
5641         'struct normalization_test_file' contents.
5642         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
5643         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
5644         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
5646 2019-03-10  Bruno Haible  <bruno@clisp.org>
5648         di-set: Fix memory leak.
5649         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
5650         not free().
5652 2019-03-10  Bruno Haible  <bruno@clisp.org>
5654         tests: Free allocated memory.
5655         Reported by <deltatau@protonmail.com> via Assaf Gordon.
5656         * tests/test-astrxfrm.c (main): Free allocated memory.
5657         * tests/test-bitset.c (compare, check_attributes): Free allocated
5658         bitsets.
5659         * tests/test-filenamecat.c (main): Free allocated memory.
5660         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
5661         * tests/test-freadptr.c (main): Likewise.
5662         * tests/test-freadptr2.c (main): Free allocated memory.
5663         * tests/test-freadseek.c (main): Likewise.
5664         * tests/test-gc-arcfour.c (main): Close allocated context.
5665         * tests/test-gc-arctwo.c (main): Likewise.
5666         * tests/test-gc-des.c (main): Close all allocated contexts.
5667         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
5668         * tests/test-pipe-filter-ii1.c (main): Likewise.
5669         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
5670         allocated file actions.
5671         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
5672         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
5673         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
5674         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
5675         * tests/test-strfmon_l.c (main): Free allocated locales.
5676         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
5677         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
5678         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
5679         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
5680         * tests/unistr/test-chr.h (main): Free input32.
5681         * tests/unistr/test-strchr.h (test_strchr): Likewise.
5683 2019-03-10  Bruno Haible  <bruno@clisp.org>
5685         tests: Prepare for using valgrind.
5686         * tests/*.sh: Invoke all test programs through ${CHECKER}.
5687         * tests/*/*.sh: Likewise.
5688         * tests/test-freadptr.c (main): Update accordingly.
5689         * tests/test-freadseek.c (main): Likewise.
5691 2019-03-09  Bruno Haible  <bruno@clisp.org>
5693         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
5694         * lib/get-rusage-as.c (get_rusage_as): When compiled by
5695         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
5696         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
5697         before exiting.
5699 2019-03-09  Jim Meyering  <meyering@fb.com>
5701         test-userspec.c: don't print NULL
5702         * tests/test-userspec.c (main): A test release of gcc,
5703         9.0.1 20190310, warned that this test would attempt to
5704         print a NULL pointer via a %s printf format.  Fix that
5705         and remove the unnecessary preceding "!diag" conjunct.
5706         Also add a comment.
5708 2019-03-03  Bruno Haible  <bruno@clisp.org>
5710         getloadavg: Write NULL for the null pointer.
5711         Reported by Michal Privoznik <mprivozn@redhat.com>.
5712         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
5714 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
5716         alloca, tsearch-tests: Write NULL for the null pointer.
5717         * lib/alloca.c (i00afunc): Write NULL instead of 0.
5718         * tests/test-tsearch.c (mangle_tree): Likewise.
5720 2019-03-09  Bruno Haible  <bruno@clisp.org>
5722         strfmon_l: Fix -fsanitize=address finding.
5723         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
5724         <string.h>.
5725         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
5726         (directive_t, directives_t): New types.
5727         (fmon_parse): New function.
5728         (rpl_strfmon_l): Don't call va_arg more often than needed for the
5729         format string. Consume 'long double' arguments in places where the
5730         format string indicates so.
5731         * modules/strfmon_l (Depends-on): Add 'stdbool'.
5733 2019-03-09  Bruno Haible  <bruno@clisp.org>
5735         crypto/des: Fix undefined behaviour.
5736         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
5737         shift operations on 'int'.
5739 2019-03-09  Bruno Haible  <bruno@clisp.org>
5741         Fix undefined behaviour.
5742         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
5743         'unsigned int', to avoid shift operations on 'int'.
5744         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
5745         * tests/test-count-leading-zeros.c (main): Use a random number that has
5746         as many bits as TYPE, not only 2*15 or 2*31 bits.
5747         * tests/test-count-trailing-zeros.c (main): Likewise.
5748         * tests/test-count-one-bits.c (main): Likewise.
5749         * tests/test-memmem.c: Don't include "null-ptr.h".
5750         (main): Use zerosize_ptr() instead of null_ptr().
5751         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
5753 2019-03-08  Bruno Haible  <bruno@clisp.org>
5755         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
5756         Reported by Jeffrey Walton <noloader@gmail.com>.
5757         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
5758         invoke memset with a zero size.
5759         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
5760         Likewise.
5761         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
5762         Adjust accordingly.
5764 2019-03-08  Bruno Haible  <bruno@clisp.org>
5766         unistr/*, uniconv/*: Fix undefined behaviour.
5767         Reported by Jeffrey Walton <noloader@gmail.com>.
5768         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
5769         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
5770         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
5771         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
5773 2019-03-08  Bruno Haible  <bruno@clisp.org>
5775         unistr/u8-cmp: Fix undefined behaviour.
5776         Reported by Jeffrey Walton <noloader@gmail.com>.
5777         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
5779 2019-03-08  Bruno Haible  <bruno@clisp.org>
5781         unictype/numeric: Fix undefined behaviour.
5782         Reported by Jeffrey Walton <noloader@gmail.com>.
5783         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
5784         on shift overflow, caught by "gcc -fsanitize=undefined".
5785         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
5786         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
5787         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
5789 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
5791         git-version-gen: fix --version copyright year
5792         * build-aux/git-version-gen, build-aux/move-if-change (version):
5793         --version output copyright year is now taken from script year,
5794         so that it no longer needs to be updated by hand.
5796 2019-03-04  Bruno Haible  <bruno@clisp.org>
5798         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
5799         This approach supports relocatable installation of shared libraries
5800         which depend on other shared libraries from the same package.
5801         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
5802         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
5803         wrapper around the original LIBTOOL.
5804         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
5805         token '@loader_path' instead of '$ORIGIN'.
5806         * build-aux/libtool-reloc: New file.
5807         * modules/relocatable-prog (Files): Add it.
5808         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
5809         the recent changes. Document the need to set the *_LDFLAGS of libraries.
5810         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
5811         Makefile.am, not in configure.ac.
5813 2019-03-04  Bruno Haible  <bruno@clisp.org>
5815         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
5816         * build-aux/install-reloc: Revert change.
5817         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
5819 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5821         nstrftime: support the ‘+’ flag
5822         * lib/nstrftime.c (add, __strftime_internal):
5823         Add support for the ‘+’ flag introduced in POSIX.1-2017.
5824         (__strftime_internal): New arg ‘width’.  All uses changed.
5825         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
5827 2019-02-24  Bruno Haible  <bruno@clisp.org>
5829         relocatable-prog: Improve verbose output.
5830         * build-aux/install-reloc (func_verbose): Escape characters that would
5831         be interpreted by the shell.
5833 2019-02-24  Bruno Haible  <bruno@clisp.org>
5835         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
5836         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
5837         "sys/stat.h".
5838         * lib/lstat.c: Likewise.
5839         * lib/fstat.c: Likewise.
5840         * lib/fstatat.c: Likewise.
5842 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
5844         long-options: add parse_gnu_standard_options_only
5845         Discussed in https://bugs.gnu.org/33468 .
5847         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
5848         (parse_gnu_standard_options_only): Add function to process
5849         the GNU default options --help and --version and fail for
5850         any other unknown long or short option. See
5851         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
5852         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
5853         * modules/long-options (depends-on): Add stdbool, exitfail.
5854         * top/maint.mk (sc_prohibit_long_options_without_use): Update
5855         syntax-check rule, add new function name.
5857 2019-02-23  Bruno Haible  <bruno@clisp.org>
5859         relocatable-prog: Update documentation.
5860         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
5861         the recent changes.
5863 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
5865         nstrftime: tweak arg order
5866         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
5867         All callers changed.  Suggested by TAMUKI Shoichi in:
5868         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
5870 2019-02-23  Bruno Haible  <bruno@clisp.org>
5872         relocatable-prog: Use wrapper-free installation also on Mac OS X.
5873         Reported by Paul Smith <psmith@gnu.org>.
5874         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
5875         (func_relativize): New function, from gnulib-tool.
5876         Handle mode 'macosx' through invocations of 'otool' and
5877         'install_name_tool'.
5878         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
5879         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
5880         'install-reloc' invocation with mode 'macosx'.
5882 2019-02-23  Bruno Haible  <bruno@clisp.org>
5884         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
5885         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
5886         Hurd with glibc >= 2.27.
5888 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
5890         nstrftime: merge glibc strftime changes
5891         This incorporates:
5892         2019-02-11 Fix a few whitespace arrangement inconsistencies
5893         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
5894         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
5895         2019-01-11 strftime: use the "L_" macro with character literals
5896         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
5897         callers changed.  Default width of %Ey is now 2.  This is needed
5898         for proper handling of Japanese dates starting on 2019-05-01.
5900 2019-02-19  Bruno Haible  <bruno@clisp.org>
5902         relocatable-prog: Use $ORIGIN trick on more platforms.
5903         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
5904         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
5905         Solaris >= 10, Haiku. But don't use it on Android.
5906         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
5907         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
5909 2019-02-19  Bruno Haible  <bruno@clisp.org>
5911         progreloc: Speed up executable lookup on various platforms.
5912         * lib/progreloc.c: Include <errno.h>.
5913         (safe_read, full_read): New functions.
5914         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
5915         prefer the information from the /proc file system to a PATH search.
5917 2019-02-19  Bruno Haible  <bruno@clisp.org>
5919         progreloc: Simplify code for Android.
5920         * lib/progreloc.c (executable_fd): Don't define on Android.
5921         (maybe_executable, find_executable): Don't use executable_fd on Android.
5923 2019-02-15  Bruno Haible  <bruno@clisp.org>
5925         gnulib-tool: Support --import with just a few tests, not --with-tests.
5926         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
5927         'inctests' when generating files; use 'inctests' only for computing the
5928         transitive closure.
5930 2019-02-14  Bruno Haible  <bruno@clisp.org>
5932         gnulib-tool: Improve handling of multiple --local-dir options.
5933         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
5934         options work.
5935         * gnulib-tool (func_path_prepend): Remove function.
5936         (func_path_foreach): Make IFS handling more robust.
5937         (local_gnulib_path): Collect --local-dir values using func_path_append,
5938         not func_path_prepend.
5939         (func_determine_path_separator): Make IFS handling more robust.
5940         (func_lookup_file_cb): New function.
5941         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
5942         func_lookup_local_file. Apply the patches in the reverse order of their
5943         origin in $local_gnulib_path.
5944         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
5945         * NEWS: Mention that the first --local-dir option is the one with
5946         highest priority.
5948 2019-02-10  Bruno Haible  <bruno@clisp.org>
5950         libtextstyle: New module.
5951         * m4/libtextstyle.m4: New file.
5952         * modules/libtextstyle: New file.
5954 2019-02-05  Bruno Haible  <bruno@clisp.org>
5956         declared.sh: Fix bug with variables of pointer type.
5957         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
5958         before the symbol to be omitted if the preceding character is a '*'.
5960 2019-02-04  Bruno Haible  <bruno@clisp.org>
5962         Add script for running tests under valgrind.
5963         * build-aux/run-test: New file, from GNU libunistring.
5964         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
5965         as well.
5967 2019-02-04  Bruno Haible  <bruno@clisp.org>
5969         declared.sh: Fix --version output.
5970         * build-aux/declared.sh (func_version): Update package name.
5972 2019-02-03  Bruno Haible  <bruno@clisp.org>
5974         Add script for determining the set of symbols to export from a library.
5975         * build-aux/declared.sh: New file, from GNU libunistring.
5976         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
5977         Mention it.
5979 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
5981         vla: add commentary about VLA_ELEMS
5982         * lib/vla.h (VLA_ELEMS): Add commentary,
5983         some inspired by Bruno Haible’s proposal in:
5984         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
5986         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
5987         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
5988         assume the C99 signatures for strtod and strtold.  Programs that
5989         require stricter adherence to C99 should also use the strtod and
5990         strtold modules as needed, and we no longer need the
5991         HAVE_C99_STRTOLD macro.
5992         * NEWS: Mention this.
5993         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
5994         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
5995         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
5996         (Files): Remove m4/c-strtod.m4.
5997         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
5998         exists.
6000 2019-02-02  Bruno Haible  <bruno@clisp.org>
6002         fma: Improve code style.
6003         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
6005 2019-02-02  Colin Watson  <cjwatson@debian.org>
6007         *-map tests: Fix compilation error.
6008         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
6009         * tests/test-hash_map.c: Likewise.
6010         * tests/test-linkedhash_map.c: Likewise.
6012 2019-01-31  Bruno Haible  <bruno@clisp.org>
6014         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
6015         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
6016         GNULIB_defined_strtold_function): New macros.
6017         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
6018         (STRTOD): Ignore HAVE_C99_STRTOLD.
6019         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
6020         deemed buggy. But do use it on platforms where uselocale exists and is
6021         usable.
6022         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
6023         deemed buggy. On platforms where uselocale exists and is usable, use
6024         uselocale and strtod/strtold.
6025         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
6026         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
6027         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
6028         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
6029         (Depends-on): Add strtod.
6030         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
6031         (Depends-on): Add strtold.
6033 2019-01-31  Bruno Haible  <bruno@clisp.org>
6035         strtod, strtold: Use the locale's decimal point.
6036         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
6037         (decimal_point_char): New function, copied from lib/vasnprintf.c.
6038         (parse_number): Add a radixchar argument. Use it instead of '.'.
6039         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
6040         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
6041         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
6042         * tests/test-strtod1.c: New file.
6043         * tests/test-strtod1.sh: New file.
6044         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
6045         locale-fr.m4 and its dependencies.
6046         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
6047         (Makefile.am): Arrange to compile test-strtod1.c and run
6048         test-strtod1.sh.
6049         * tests/test-strtold1.c: New file.
6050         * tests/test-strtold1.sh: New file.
6051         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
6052         locale-fr.m4 and its dependencies.
6053         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
6054         (Makefile.am): Arrange to compile test-strtold1.c and run
6055         test-strtold1.sh.
6057 2019-01-31  Bruno Haible  <bruno@clisp.org>
6059         strtod, strtold tests: Simplify tests.
6060         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
6061         * tests/test-strtold.c (main): Likewise.
6063 2019-01-31  Bruno Haible  <bruno@clisp.org>
6065         strtod, strtold: Avoid unnecessary rounding errors.
6066         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
6067         decimal to DOUBLE conversion.
6069 2019-01-31  Bruno Haible  <bruno@clisp.org>
6071         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
6072         * lib/strtod.c (STRTOD): When there is an extra character after the
6073         exponent marker 'p', reparse the number.
6074         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
6075         * doc/posix-functions/strtold.texi: Likewise.
6077 2019-01-29  Bruno Haible  <bruno@clisp.org>
6079         strtold: Add tests.
6080         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
6081         * modules/strtold-tests: New file.
6083 2019-01-29  Bruno Haible  <bruno@clisp.org>
6085         strtold: New module.
6086         * lib/stdlib.in.h (strtold): New declaration.
6087         * lib/strtold.c: New file.
6088         * lib/strtod.c: Consider USE_LONG_DOUBLE.
6089         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
6090         USE_LDEXP): New macros.
6091         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
6092         USE_LONG_DOUBLE.
6093         (underlying_strtod): Remove function. Replace with some macros.
6094         Re-add the code for a missing underlying function that was removed on
6095         2013-02-19.
6096         * m4/strtold.m4: New file.
6097         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
6098         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
6099         REPLACE_STRTOLD.
6100         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
6101         REPLACE_STRTOLD.
6102         * modules/strtold: New file.
6103         * doc/posix-functions/strtold.texi: Document the new module.
6105 2019-01-29  Bruno Haible  <bruno@clisp.org>
6107         strtod: Fix compilation error on IRIX 6.5.
6108         * modules/strtod (Depends-on): Add 'math'.
6110 2019-01-28  Bruno Haible  <bruno@clisp.org>
6112         Fix build error when building a shared libunistring on Android.
6113         * tests/uninorm/test-nfc.c (n): Don't define on Android.
6114         (main): Add 'volatile', to defeat a GCC optimization that would
6115         eliminate the reference.
6116         * tests/uninorm/test-nfd.c (n): Don't define on Android.
6117         (main): Add 'volatile', to defeat a GCC optimization that would
6118         eliminate the reference.
6119         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
6120         (main): Add 'volatile', to defeat a GCC optimization that would
6121         eliminate the reference.
6122         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
6123         (main): Add 'volatile', to defeat a GCC optimization that would
6124         eliminate the reference.
6126 2019-01-27  Bruno Haible  <bruno@clisp.org>
6128         Avoid build errors due to wrong references between modules.
6129         * lib/uninorm/canonical-decomposition.c: Include
6130         "uninorm/decomposition-table.h", not "decomposition-table.h".
6131         * lib/uninorm/decomposition.c: Likewise.
6132         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
6133         not "decompose-internal.h".
6134         * lib/uninorm/u16-normalize.c: Likewise.
6135         * lib/uninorm/u32-normalize.c: Likewise.
6136         * lib/uninorm/uninorm-filter.c: Likewise.
6137         * lib/uninorm/nfkc.c: Likewise.
6138         * lib/uninorm/nfkd.c: Likewise.
6139         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
6140         "caseprop.h".
6141         * lib/unicase/u8-ct-totitle.c: Likewise.
6142         * lib/unicase/u8-prefix-context.c: Likewise.
6143         * lib/unicase/u8-suffix-context.c: Likewise.
6144         * lib/unicase/u16-casemap.c: Likewise.
6145         * lib/unicase/u16-ct-totitle.c: Likewise.
6146         * lib/unicase/u16-prefix-context.c: Likewise.
6147         * lib/unicase/u16-suffix-context.c: Likewise.
6148         * lib/unicase/u32-casemap.c: Likewise.
6149         * lib/unicase/u32-ct-totitle.c: Likewise.
6150         * lib/unicase/u32-prefix-context.c: Likewise.
6151         * lib/unicase/u32-suffix-context.c: Likewise.
6152         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
6153         "unicasemap.h".
6154         * lib/unicase/u8-toupper.c: Likewise.
6155         * lib/unicase/u8-ct-tolower.c: Likewise.
6156         * lib/unicase/u8-ct-toupper.c: Likewise.
6157         * lib/unicase/u16-tolower.c: Likewise.
6158         * lib/unicase/u16-toupper.c: Likewise.
6159         * lib/unicase/u16-ct-tolower.c: Likewise.
6160         * lib/unicase/u16-ct-toupper.c: Likewise.
6161         * lib/unicase/u32-tolower.c: Likewise.
6162         * lib/unicase/u32-toupper.c: Likewise.
6163         * lib/unicase/u32-ct-tolower.c: Likewise.
6164         * lib/unicase/u32-ct-toupper.c: Likewise.
6165         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
6166         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
6167         * lib/unicase/u16-ct-casefold.c: Likewise.
6168         * lib/unicase/u32-ct-casefold.c: Likewise.
6170 2019-01-27  Bruno Haible  <bruno@clisp.org>
6172         gperf: Fix error when this module is required by some test module.
6173         * modules/gperf (Applicability): Set to 'all'.
6175 2019-01-27  Bruno Haible  <bruno@clisp.org>
6177         tmpfile: Add support for Android.
6178         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
6179         works.
6180         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
6181         Android.
6182         * modules/tmpfile (Depends-on): Add 'stdbool'.
6183         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
6184         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
6186 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
6188         bitsetv: allow free on NULL.
6189         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
6191 2019-01-27  Bruno Haible  <bruno@clisp.org>
6193         test-framework-sh: Improve maintainability.
6194         * tests/init.sh: Clarify what belongs together. Reorder definitions.
6196 2019-01-27  Bruno Haible  <bruno@clisp.org>
6198         tests: Don't assume that /tmp exists.
6199         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
6200         * tests/test-copy-acl-1.sh: Likewise.
6201         * tests/test-file-has-acl-1.sh: Likewise.
6202         * tests/test-copy-file-1.sh: Likewise.
6204 2019-01-27  Bruno Haible  <bruno@clisp.org>
6206         tests: Accommodate a shell that is not in /bin/sh.
6207         * tests/init.sh (setup_): Set srcdir and builddir.
6208         (BOURNE_SHELL): New variable.
6209         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
6210         * modules/file-has-acl-tests (Depends-on): Likewise.
6211         * modules/copy-file-tests (Depends-on): Likewise.
6212         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
6213         scripts through $BOURNE_SHELL.
6214         * tests/test-set-mode-acl-2.sh: Likewise.
6215         * tests/test-copy-acl-1.sh: Likewise.
6216         * tests/test-copy-acl-2.sh: Likewise.
6217         * tests/test-file-has-acl-1.sh: Likewise.
6218         * tests/test-file-has-acl-2.sh: Likewise.
6219         * tests/test-copy-file-1.sh: Likewise.
6220         * tests/test-copy-file-2.sh: Likewise.
6221         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
6222         invoker.
6223         * tests/test-copy-acl.sh (builddir): Likewise.
6224         * tests/test-file-has-acl.sh (builddir): Likewise.
6225         * tests/test-copy-file.sh (builddir): Likewise.
6226         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
6227         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
6228         * tests/test-vc-list-files-git.sh: Likewise.
6230 2019-01-27  Bruno Haible  <bruno@clisp.org>
6232         tests: Fix some "unused variable" warnings.
6233         * tests/test-fts.c (fts_dealloc): Remove unused variable.
6234         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
6235         * tests/test-striconveh.c (main): Move some variable into the
6236         '#if HAVE_ICONV'.
6237         * tests/test-striconveha.c (main): Likewise.
6238         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
6239         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
6240         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
6241         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
6242         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
6243         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
6244         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
6245         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
6246         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
6247         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
6248         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
6249         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
6250         * tests/test-tsearch.c (main): Move some variable into the
6251         '#if HAVE_INITSTATE'.
6253 2019-01-27  Bruno Haible  <bruno@clisp.org>
6255         unigbrk/uc-grapheme-breaks: Fix build failure.
6256         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
6257         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
6259 2019-01-27  Bruno Haible  <bruno@clisp.org>
6261         mountlist: Merge two .m4 files.
6262         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
6263         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
6264         * m4/ls-mntd-fs.m4: Remove file.
6265         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
6267 2019-01-27  Bruno Haible  <bruno@clisp.org>
6269         tests: Enable Linux specific tests on Android.
6270         * tests/test-flock.c (main): Treat Android like Linux.
6271         * tests/test-openat-safer.c (main): Likewise.
6273 2019-01-27  Bruno Haible  <bruno@clisp.org>
6275         relocatable-prog: Use Linux code on Android.
6276         * lib/progreloc.c: Treat Android like Linux.
6278 2019-01-26  Bruno Haible  <bruno@clisp.org>
6280         getloadavg: Add support for Android.
6281         * lib/getloadavg.c: Treat Android like Linux.
6283 2019-01-26  Bruno Haible  <bruno@clisp.org>
6285         vma-iter: Add support for Android.
6286         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
6287         * lib/vma-iter.c: Treat Android like Linux.
6288         * lib/get-rusage-data.c (get_rusage_data): Likewise.
6290 2019-01-26  Bruno Haible  <bruno@clisp.org>
6292         fts: Optimize on Android.
6293         * lib/fts.c: Treat Android like Linux.
6295 2019-01-26  Bruno Haible  <bruno@clisp.org>
6297         fts: Add support for Android.
6298         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
6299         defined by this module and the ones in libc.
6300         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
6302 2019-01-26  Bruno Haible  <bruno@clisp.org>
6304         mountlist: Use Linux code on Android.
6305         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
6306         (unescape_tab, read_file_system_list): Enable Linux code on Android
6307         as well.
6308         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
6309         and endmntent.
6310         * modules/mountlist (Depends-on): Add 'getline'.
6312 2019-01-26  Bruno Haible  <bruno@clisp.org>
6314         localename tests: Fix test failure on Android.
6315         * modules/localename-tests (Depends-on): Add 'setlocale'.
6317 2019-01-26  Bruno Haible  <bruno@clisp.org>
6319         mountlist: Port better to Android.
6320         * lib/mountlist.c (MOUNTED): Redefine on Android.
6321         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
6322         Android.
6324 2019-01-26  Bruno Haible  <bruno@clisp.org>
6326         striconveh: Fix use of uninitialized iconv_t.
6327         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
6328         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
6329         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
6331 2019-01-26  Bruno Haible  <bruno@clisp.org>
6333         nonblocking-socket-tests: Fix test failure on Android 4.3.
6334         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
6335         also on Android.
6337 2019-01-26  Bruno Haible  <bruno@clisp.org>
6339         sh-filename: Add support for Android 4.3.
6340         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
6342 2019-01-26  Bruno Haible  <bruno@clisp.org>
6344         ptsname_r: Work around bug on Android 4.3.
6345         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
6346         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
6347         correct.
6348         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
6349         is defined, just fix the return value.
6350         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
6351         The behaviour of musl libc is nothing to be "fixed", since it is
6352         compliant with the next POSIX standard.
6354 2019-01-26  Bruno Haible  <bruno@clisp.org>
6356         ttyname_r: Work around bug on Android 4.3.
6357         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
6358         * lib/ttyname_r.c (ttyname_r): Implement for Android.
6359         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
6360         * doc/posix-functions/ttyname.texi: Likewise.
6362 2019-01-25  Bruno Haible  <bruno@clisp.org>
6364         getprogname: Port to Android 4.3.
6365         * lib/getprogname.c (getprogname): On Android, take only the last
6366         component of __progname.
6368 2019-01-25  Bruno Haible  <bruno@clisp.org>
6370         wcrtomb: Work around bug on Android 4.3.
6371         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
6372         the C locale.
6373         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
6374         which does not have the 'wctomb' function.
6375         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
6376         * tests/test-wcrtomb.c (main): Accept argument '5'.
6377         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
6379 2019-01-25  Bruno Haible  <bruno@clisp.org>
6381         setlocale: Work around bug on Android 4.3.
6382         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
6383         the "C" locale.
6384         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
6385         * doc/posix-functions/setlocale.texi: Mention the Android bug.
6387 2019-01-24  Bruno Haible  <bruno@clisp.org>
6389         memchr: Work around bug on Android <= 5.0.
6390         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
6391         * doc/posix-functions/memchr.texi: Mention the Android bug.
6393 2019-01-24  Bruno Haible  <bruno@clisp.org>
6395         random: Fix compilation error on Android 4.3.
6396         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
6397         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
6398         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
6399         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
6400         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
6401         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
6402         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
6403         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
6404         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
6405         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
6406         REPLACE_INITSTATE, REPLACE_SETSTATE.
6407         * doc/posix-functions/random.texi: Correct the description of the
6408         situation on Android.
6409         * doc/posix-functions/srandom.texi: Likewise.
6410         * doc/posix-functions/rand.texi: Likewise.
6411         * doc/posix-functions/srand.texi: Likewise.
6413 2019-01-24  Bruno Haible  <bruno@clisp.org>
6415         mbtowc: Fix compilation error on Android 4.3.
6416         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
6417         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
6418         HAVE_MBTOWC.
6419         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
6420         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
6421         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
6422         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
6423         * doc/posix-functions/mbtowc.texi: Mention the change.
6425 2019-01-24  Bruno Haible  <bruno@clisp.org>
6427         fdatasync: Fix compilation error on Android 4.3.
6428         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
6429         test whether fdatasync() exists.
6431 2019-01-24  Bruno Haible  <bruno@clisp.org>
6433         unlinkat: Fix compilation error on Android 4.3.
6434         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
6435         also on Android.
6436         * doc/posix-functions/unlinkat.texi: Mention the issue.
6438 2019-01-24  Bruno Haible  <bruno@clisp.org>
6440         renameat: Fix compilation error on Android 4.3.
6441         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
6442         * doc/posix-functions/renameat.texi: Mention the issue.
6444 2019-01-24  Bruno Haible  <bruno@clisp.org>
6446         fchownat: Fix compilation error on Android 4.3.
6447         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
6448         use.
6449         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
6450         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
6451         * doc/posix-functions/fchownat.texi: Mention the issue.
6453 2019-01-23  Bruno Haible  <bruno@clisp.org>
6455         gnulib-tool: Support running testdirs on Android.
6456         * build-aux/test-driver.diff: New file.
6457         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
6458         build-aux/test-driver after running automake.
6460 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
6462         relocatable-prog: avoid warnings from Automake
6463         * modules/relocatable-prog: Don't declare PHONY dependencies in
6464         Automake conditionals.
6466 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
6468         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
6469         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
6471 2019-01-23  Bruno Haible  <bruno@clisp.org>
6473         threadlib: Revert commit from 2018-06-25. We now have a better fix.
6474         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
6475         preceding -Wl,--as-needed option. Don't check whether the linker
6476         supports --as-needed/--no-as-needed and --push-state/--pop-state.
6478 2019-01-23  Bruno Haible  <bruno@clisp.org>
6480         thread: Force linking with -lpthread, even when --as-needed is in use.
6481         Reported by Richard W.M. Jones <rjones@redhat.com> in
6482         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
6483         * lib/glthread/thread.h (pthread_create): Don't declare weak.
6485 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
6486             Bruno Haible  <bruno@clisp.org>
6488         relocatable: avoid compiler warnings (-Wshadow)
6489         * lib/relocatable.c (compute_curr_prefix): Rename local variables
6490         to avoid name collisions with global variables.
6492 2019-01-22  Bruno Haible  <bruno@clisp.org>
6494         vasnprintf: Don't use %n on Android.
6495         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
6496         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
6497         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
6499 2019-01-22  Bruno Haible  <bruno@clisp.org>
6501         *printf: Support cross-compilation to Android.
6502         * m4/printf.m4: Add cross-compilation guesses for Android.
6504 2019-01-21  Bruno Haible  <bruno@clisp.org>
6506         diacrit: Mark deprecated.
6507         * modules/diacrit (Status, Notice): Mark as deprecated.
6508         * NEWS: Mention it.
6510 2019-01-20  Bruno Haible  <bruno@clisp.org>
6512         rintl: Override broken implementation on NetBSD.
6513         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
6514         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
6515         REPLACE_RINTL.
6516         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
6517         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
6518         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
6519         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
6521 2019-01-20  Bruno Haible  <bruno@clisp.org>
6523         log10l: Work around inaccurate implementation on NetBSD.
6524         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
6525         * lib/log10l.c: Comment out too simplistic override.
6526         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
6528 2019-01-20  Bruno Haible  <bruno@clisp.org>
6530         logl: Work around inaccurate implementation on NetBSD.
6531         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
6532         * lib/logl.c: Comment out unused code.
6533         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
6535 2019-01-20  Bruno Haible  <bruno@clisp.org>
6537         expm1l: Work around inaccurate implementation on NetBSD.
6538         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
6539         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
6540         REPLACE_EXPM1L.
6541         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
6542         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
6543         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
6544         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
6546 2019-01-20  Bruno Haible  <bruno@clisp.org>
6548         expl: Work around inaccurate implementation on NetBSD.
6549         * lib/math.in.h (expl): Test also REPLACE_EXPL.
6550         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
6551         REPLACE_EXPL.
6552         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
6553         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
6554         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
6555         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
6557 2019-01-20  Bruno Haible  <bruno@clisp.org>
6559         exp2l: Work around inaccurate implementation on NetBSD.
6560         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
6561         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
6563 2019-01-20  Bruno Haible  <bruno@clisp.org>
6565         floor, floorl: Avoid autoconf warnings.
6566         * modules/floor (configure.ac): Use AC_REQUIRE.
6567         * modules/floorl (configure.ac): Likewise.
6569 2019-01-20  Bruno Haible  <bruno@clisp.org>
6571         Defeat current GCC optimizations in math autoconf tests.
6572         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
6573         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6574         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6575         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6576         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
6577         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
6578         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6579         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6580         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
6581         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6582         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6583         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6584         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6585         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6586         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
6587         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
6588         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
6589         * m4/log.m4 (gl_FUNC_LOG): Likewise.
6590         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6591         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
6592         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6593         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
6594         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
6595         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
6596         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
6597         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
6598         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
6599         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6600         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6601         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6602         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6603         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6604         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6605         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6606         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6607         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6608         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6609         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6611 2019-01-19  Pádraig Brady  <P@draigBrady.com>
6613         gettext: support disabling use of VLAs
6614         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
6616 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
6618         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
6619         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
6621 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
6623         fcntl: Fix syntax error (regression from 2018-10-05).
6624         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
6626 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
6628         relocatable: improve documentation.
6629         * doc/relocatable-maint.texi (Supporting Relocation): For
6630         substitutions performed by config.status, we need more variables
6631         (for instance datarootdir defaults to '${prefix}/share' so we need
6632         prefix).
6634 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
6636         backup: update dependencies
6637         * modules/backup-rename (Depends-on): It now depends on opendirat
6638         instead of opendir.  It also uses stdint, and xalloc-oversized.
6639         But no longer dirfd.
6640         * modules/backupfile (Depends-on): Add xalloc-oversized.
6642 2019-01-13  Bruno Haible  <bruno@clisp.org>
6644         getcwd: Fix test failure when building on a Linux 9p file system.
6645         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
6646         EINVAL from mkdir like ENAMETOOLONG.
6647         * tests/test-getcwd.c (test_long_name): Likewise.
6649 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
6651         Fix typos found by codespell.
6652         * lib/*.[hc]: Fix typos in comments.
6653         * pygnulib/*.py: Fix typos in error messages and comments.
6655 2019-01-12  Bruno Haible  <bruno@clisp.org>
6657         doc: Fix documentation about container data types.
6658         Reported by Werner Lemberg <wl@gnu.org>.
6659         * doc/containers.texi (Container data types): Fix typo.
6661 2019-01-10  Bruno Haible  <bruno@clisp.org>
6663         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
6664         Reported by Reuben Thomas <rrt@sc3d.org>.
6665         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
6667 2019-01-06  Bruno Haible  <bruno@clisp.org>
6669         maintainer-makefile: Make the configure.ac section optional.
6670         * top/maint.mk (GREP, SED): Define if not defined.
6672 2019-01-06  Bruno Haible  <bruno@clisp.org>
6674         localename: Assume setlocale function.
6675         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
6676         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
6678 2019-01-06  Bruno Haible  <bruno@clisp.org>
6680         doc: Add documentation about container data types.
6681         * doc/containers.texi: New file.
6682         * doc/gnulib.texi (Particular Modules): Include it.
6684 2019-01-06  Bruno Haible  <bruno@clisp.org>
6686         doc: Update documentation about 'progname' module.
6687         * doc/progname.texi: Rename from doc/error.texi. Change node name and
6688         title. Rewrite.
6689         * doc/gnulib.texi (Particular Modules): Update.
6691 2019-01-06  Bruno Haible  <bruno@clisp.org>
6693         doc: Document the xstdopen and *-safer modules.
6694         * doc/xstdopen.texi: New file.
6695         * doc/gnulib.texi (Particular Modules): Include it.
6697 2019-01-06  Bruno Haible  <bruno@clisp.org>
6699         xstdopen: Add tests.
6700         * tests/test-xstdopen.c: New file.
6701         * tests/test-xstdopen.sh: New file.
6702         * modules/xstdopen-tests: New file.
6704         xstdopen: New module.
6705         * lib/xstdopen.h: New file.
6706         * lib/xstdopen.c: New file.
6707         * modules/xstdopen: New file.
6709 2019-01-06  Bruno Haible  <bruno@clisp.org>
6711         stdopen: Fix compilation error with IRIX cc.
6712         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
6714 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
6716         xfreopen need not include stdio--.h
6717         * lib/xfreopen.c: Do not include stdio--.h.
6719         xfreopen need not depend on freopen-safer
6720         * modules/xfreopen (Depends-on):
6721         Depend on freopen, not freopen-safer.
6723         stdopen: modernize and simplify
6724         * lib/stdopen.c: Update copyright date
6725         Do not include sys/types.h; no longer needed these days.
6726         (stdopen): Use C99-style decl in loop.  Return int errno
6727         value, rather than just a bool.  Do not worry about fd mismatches,
6728         since the caller cares only if 0, 1, 2 are occupied.
6729         * lib/stdopen.h: No need to include <stdbool.h>.
6730         * m4/stdopen.m4: Remove.
6731         * modules/stdopen: New file.
6733         stdopen: copy from last use in coreutils
6734         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
6735         New files, taken from their last commit in coreutils
6736         2007-07-23T12:35:58Z!jim@meyering.net
6737         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
6739 2019-01-05  Bruno Haible  <bruno@clisp.org>
6741         argp: Don't pass an invalid argument to dgettext().
6742         Reported by He X <xw897002528@gmail.com>.
6743         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
6744         dgettext().
6746 2019-01-05  Bruno Haible  <bruno@clisp.org>
6748         argp: Don't pass an invalid argument to dgettext().
6749         Reported by He X <xw897002528@gmail.com>.
6750         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
6751         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
6752         dgettext().
6754 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
6756         stdioext: port to newer 32-bit Android
6757         Problem reported by Tom Yan in:
6758         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
6759         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
6760         (fp_) [__ANDROID__]: Use it.
6762 2019-01-04  Bruno Haible  <bruno@clisp.org>
6764         lock: Fix link error with --enable-threads=pth.
6765         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
6766         Mark as weak.
6768 2019-01-04  Bruno Haible  <bruno@clisp.org>
6770         Fix link errors in unit tests.
6771         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6772         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
6773         * modules/array-map-tests (Makefile.am): Link test-array_map against
6774         libintl.
6775         * modules/array-set-tests (Makefile.am): Link test-array_set against
6776         libintl.
6777         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
6778         libintl.
6779         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
6780         libintl.
6781         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
6782         against libintl.
6783         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
6784         against libintl.
6786 2019-01-04  Bruno Haible  <bruno@clisp.org>
6788         Fix incorrect 'Link' sections.
6789         * modules/regex (Link): Mention the link requirement of module 'lock'.
6790         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
6792 2019-01-04  Bruno Haible  <bruno@clisp.org>
6794         Fix some 'Link' sections.
6795         * modules/c-stack (Link): Add link directive from the 'gettext-h'
6796         dependency.
6797         * modules/getaddrinfo (Link): Likewise.
6799 2019-01-04  Bruno Haible  <bruno@clisp.org>
6801         Remove redundant 'Link' sections.
6802         * modules/canon-host (Link): Remove section.
6803         * modules/timevar (Link): Likewise.
6805 2019-01-04  Bruno Haible  <bruno@clisp.org>
6807         Remove incorrect 'Link' sections.
6808         * modules/acl (Link): Remove section. Use combined 'Link' sections from
6809         the dependencies instead.
6810         * modules/crypto/md5 (Link): Likewise.
6811         * modules/crypto/sha1 (Link): Likewise.
6812         * modules/crypto/sha256 (Link): Likewise.
6813         * modules/crypto/sha512 (Link): Likewise.
6814         * modules/faccessat (Link): Likewise.
6815         * modules/fdutimensat (Link): Likewise.
6816         * modules/iconv_open-utf (Link): Likewise.
6817         * modules/propername (Link): Likewise.
6818         * modules/qacl (Link): Likewise.
6819         * modules/unicodeio (Link): Likewise.
6820         * modules/utimecmp (Link): Likewise.
6821         * modules/utimensat (Link): Likewise.
6822         * modules/xstriconv (Link): Likewise.
6823         * modules/xstriconveh (Link): Likewise.
6825 2019-01-04  Bruno Haible  <bruno@clisp.org>
6827         gnulib-tool: New option --extract-recursive-link-directive.
6828         * gnulib-tool (func_usage): Document the new options
6829         --extract-recursive-dependencies, --extract-recursive-link-directive.
6830         (func_verify_module): Document output variables.
6831         (func_get_dependencies_recursively): New function.
6832         (func_get_link_directive_recursively): New function.
6833         Use them to implement the new options
6834         --extract-recursive-dependencies, --extract-recursive-link-directive.
6835         * doc/gnulib-tool.texi (Link-time requirements): New section.
6837 2019-01-04  Bruno Haible  <bruno@clisp.org>
6839         Clarify meaning of 'Link' section in module description.
6840         * doc/gnulib.texi (Module description): Clarify the meaning of the
6841         'Link' section versus the one of the dependencies.
6842         * NEWS: Mention the change.
6844 2019-01-04  Bruno Haible  <bruno@clisp.org>
6846         pselect: Fix module description.
6847         * modules/pselect (Link): Put one link option per line.
6849 2019-01-04  Bruno Haible  <bruno@clisp.org>
6851         cosl: Fix module description.
6852         * modules/cosl (Link): Fix typo.
6853         * modules/mathl (configure.ac): Likewise.
6855 2019-01-04  Bruno Haible  <bruno@clisp.org>
6857         c-xvasprintf: Fix module dependencies.
6858         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
6860 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
6862         bootstrap: die when some submodules are not initialized
6863         * build-aux/bootstrap: Make sure all submodules are initialized.
6865 2019-01-04  Bruno Haible  <bruno@clisp.org>
6867         bitsetv: Fix module dependencies.
6868         * lib/bitsetv.c: Include xalloc.h.
6869         * modules/bitsetv (Depends-on): Add 'xalloc'.
6871 2019-01-04  Bruno Haible  <bruno@clisp.org>
6873         xmemdup0: Remove redundant code.
6874         * lib/xmemdup0.h (xalloc_die): Remove declaration.
6876 2019-01-04  Bruno Haible  <bruno@clisp.org>
6878         backupfile: Fix module dependencies.
6879         * modules/backupfile (Depends-on): Add 'xalloc'.
6881 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
6883         bitset, crypto/gc: fix conflicts with Solaris 11
6884         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
6885         avoid clash with Solaris 11 <sys/bitset.h>.
6886         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
6887         with Solaris 11 <xorg/gc.h>.
6889 2019-01-04  Bruno Haible  <bruno@clisp.org>
6891         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
6892         Reported by Andy Fiddaman <andy@omniosce.org>.
6893         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
6895 2019-01-03  Eric Blake  <eblake@redhat.com>
6897         maintainer-makefile: fix typo in previous patch
6898         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
6899         of Roman's work.
6901 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
6903         maintainer-makefile: prefer $(GREP) over grep
6904         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
6905         defined.
6906         * top/maint.mk: Use it everywhere.
6908         maintainer-makefile: split long argument lines
6909         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
6910         it would be too long for exec limits on BSD.
6912 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6914         mkfifo: bring back HAVE_MKFIFO macro
6915         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
6916         Problem reported by Andrew Janke in:
6917         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
6919 2018-12-21  Bruno Haible  <bruno@clisp.org>
6921         Assume Autoconf >= 2.63.
6922         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
6923         versions < 2.60.
6925 2018-12-21  Bruno Haible  <bruno@clisp.org>
6927         memcmp: Mention the clang bug.
6928         * tests/test-memcmp.c: Add comment about a known test failure.
6929         * doc/posix-functions/memcmp.texi: Mention the clang bug.
6931 2018-12-20  Jim Meyering  <meyering@fb.com>
6933         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
6934         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
6935           echo '123-x'|LC_ALL=C grep -E '.\bx'
6936         The goal is to revert the first, but reverting it requires to restore
6937         the function deleted in the second. I ran this to restore the deleted
6938         function:
6939           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
6940             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
6941             | patch -R -p1
6942         * lib/dfa.c (charclass_context): Restore deleted function.
6943         Reverting the primary commit removes this change:
6944         dfa: Simplify a building state
6945         * lib/dfa.c (build_state): Simplify a building state.
6947 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
6949         version-etc: allow zero authors
6950         * lib/version-etc.c (version_etc_arn): If no authors are given,
6951         omit authorship info instead of dumping core.
6953 2018-12-19  Bruno Haible  <bruno@clisp.org>
6955         lchown tests: Be more permissive regarding errno values.
6956         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
6957         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
6958         alternative to ENOSYS.
6959         * modules/lchown-tests (Depends-on): Add 'errno'.
6960         * modules/fchownat-tests (Depends-on): Likewise.
6962 2018-12-18  Bruno Haible  <bruno@clisp.org>
6964         duplocale: Avoid test failure on AIX 7.
6965         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
6966         (configure.ac): Invoke gt_FUNC_USELOCALE.
6967         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
6968         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
6969         works.
6971 2018-12-18  Bruno Haible  <bruno@clisp.org>
6973         localename: Fix test failure on AIX 7.
6974         Reported by Assaf Gordon in
6975         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
6976         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
6977         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
6978         instead of ac_cv_func_uselocale.
6979         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
6980         HAVE_USELOCALE.
6981         * lib/localename-table.h: Likewise.
6982         * lib/localename-table.c: Likewise.
6983         * tests/test-localename.c: Likewise.
6984         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
6986 2018-12-18  Bruno Haible  <bruno@clisp.org>
6988         localename: Update comments regarding Cygwin.
6989         * lib/localename.c: Update comment.
6990         * doc/posix-functions/uselocale.texi: Update platforms list.
6991         * doc/posix-functions/newlocale.texi: Likewise.
6992         * doc/posix-functions/duplocale.texi: Likewise.
6993         * doc/posix-functions/freelocale.texi: Likewise.
6995 2018-12-16  Bruno Haible  <bruno@clisp.org>
6997         c-stack: Fix for Linux/sparc.
6998         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
6999         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
7001 2018-12-16  Bruno Haible  <bruno@clisp.org>
7003         localename: Avoid test failure on some glibc systems.
7004         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
7005         Unset environment variables that might disturb the first setlocale call,
7006         and verify that this setlocale call succeeds.
7008 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
7010         random: Fix build error on native Windows (regression from 2018-06-21).
7011         * lib/random.c (__srandom, __initstate, __setstate, __random,
7012         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
7013         to the symbols without '__' prefix.
7015 2018-12-16  Bruno Haible  <bruno@clisp.org>
7017         obstack, libc-config: Support HP-UX cc in C99 mode.
7018         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
7019         compiler, even when in C99 mode.
7020         * lib/cdefs.h (__flexarr): Likewise.
7021         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
7023 2018-12-16  Bruno Haible  <bruno@clisp.org>
7025         localename: Fix test failure on OpenBSD >= 6.2.
7026         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
7027         locale system. Define HAVE_FAKE_LOCALES in this case.
7028         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
7029         HAVE_USELOCALE.
7030         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
7031         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
7032         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
7033         platforms list.
7034         * doc/posix-functions/newlocale.texi: Likewise.
7035         * doc/posix-functions/duplocale.texi: Update platforms list.
7036         * doc/posix-functions/freelocale.texi: Likewise.
7038 2018-12-16  Bruno Haible  <bruno@clisp.org>
7040         duplocale tests: Re-enable the test on platforms without <monetary.h>.
7041         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
7042         of the test, on platforms without <monetary.h>.
7044 2018-12-16  Bruno Haible  <bruno@clisp.org>
7046         localename: Update comments.
7047         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
7049 2018-12-15  Jim Meyering  <meyering@fb.com>
7051         regex: fix indentation
7052         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
7054 2018-12-15  Bruno Haible  <bruno@clisp.org>
7056         openat-safer tests: Avoid test failure on NetBSD 8.
7057         * tests/test-openat-safer.c (main): Execute a Linux specific test only
7058         on Linux.
7060 2018-12-15  Jim Meyering  <meyering@fb.com>
7062         regex: work around a bug in glibc-2.27 and prior
7063         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
7064         assertion for /0|()0|\1|0/.
7065         * tests/test-regex.c (main): Add the same test here.
7067 2018-12-15  Bruno Haible  <bruno@clisp.org>
7069         localename: Fix use of uninitialized shell variable.
7070         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
7071         gt_cv_locale_solaris114 always before use. Remove assignment without
7072         effect.
7074 2018-12-15  Bruno Haible  <bruno@clisp.org>
7076         dfa tests: Avoid test failure on Alpine Linux.
7077         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
7078         command found on Alpine Linux.
7080 2018-12-15  Jim Meyering  <meyering@fb.com>
7082         dfa: avoid new warnings from gcc
7083         These would prevent building with -Werror and a Dec snapshot of gcc.
7084         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
7085         Rename each inner instance to "p".
7086         (charclass_context): Remove unused static function.
7088 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
7090         mkdir-p: improve diagnostic for FUSE mounts
7091         Problem reported by Niklas Hambüchen in:
7092         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
7093         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
7094         errno to mkdir errno if the stat errno is likely more interesting.
7096 2018-12-14  Bruno Haible  <bruno@clisp.org>
7098         hash-map: Add tests.
7099         * tests/test-hash_map.c: New file.
7100         * modules/hash-map-tests: New file.
7102         linkedhash-map: Add tests.
7103         * tests/test-linkedhash_map.c: New file.
7104         * modules/linkedhash-map-tests: New file.
7106         array-map: Add tests.
7107         * tests/test-array_map.c: New file.
7108         * modules/array-map-tests: New file.
7110         xmap: New module.
7111         * lib/gl_xmap.h: New file.
7112         * lib/gl_xmap.c: New file.
7113         * modules/xmap: New file.
7115         hash-map: New module.
7116         * lib/gl_hash_map.h: New file.
7117         * lib/gl_hash_map.c: New file.
7118         * modules/hash-map: New file.
7120         linkedhash-map: New module.
7121         * lib/gl_linkedhash_map.h: New file.
7122         * lib/gl_linkedhash_map.c: New file.
7123         * lib/gl_anyhash1.h: Update comments.
7124         * lib/gl_anyhash2.h: Likewise.
7125         * modules/linkedhash-map: New file.
7127         array-map: New module.
7128         * lib/gl_array_map.h: New file.
7129         * lib/gl_array_map.c: New file.
7130         * modules/array-map: New file.
7132         map: New module.
7133         * lib/gl_map.h: New file.
7134         * lib/gl_map.c: New file.
7135         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
7136         conflict with gl_map.h.
7137         * modules/map: New file.
7139 2018-12-13  Bruno Haible  <bruno@clisp.org>
7141         select tests: Avoid test failure on Cygwin.
7142         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
7144 2018-12-13  Bruno Haible  <bruno@clisp.org>
7146         localtime-buffer: Avoid endless recursion in localtime and gmtime.
7147         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
7149 2018-12-13  Bruno Haible  <bruno@clisp.org>
7151         localeconv tests: Avoid test failure on Cygwin.
7152         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
7153         'mon_grouping' tests.
7155 2018-12-11  Bruno Haible  <bruno@clisp.org>
7157         omap: Don't dispose the old value when the function returns it.
7158         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
7159         here.
7160         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
7161         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
7162         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
7163         here.
7165         array-omap, avltree-omap, rbtree-omap: Tweak style.
7166         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
7167         false.
7168         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
7170         rbtree-omap: Add tests.
7171         * tests/test-rbtree_omap.c: New file.
7172         * modules/rbtree-omap-tests: New file.
7174         avltree-omap: Add tests.
7175         * tests/test-avltree_omap.c: New file.
7176         * modules/avltree-omap-tests: New file.
7178         array-omap: Add tests.
7179         * tests/test-array_omap.c: New file.
7180         * modules/array-omap-tests: New file.
7182         xomap: New module.
7183         * lib/gl_xomap.h: New file.
7184         * lib/gl_xomap.c: New file.
7185         * modules/xomap: New file.
7187         rbtree-omap: New module.
7188         * lib/gl_rbtree_omap.h: New file.
7189         * lib/gl_rbtree_omap.c: New file.
7190         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
7191         Parameterize.
7192         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
7193         * modules/rbtree-omap: New file.
7194         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
7195         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
7197         avltree-omap: New module.
7198         * lib/gl_avltree_omap.h: New file.
7199         * lib/gl_avltree_omap.c: New file.
7200         * lib/gl_avltree_ordered.h: Code moved to here from
7201         lib/gl_avltree_oset.c. Parameterize.
7202         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
7203         * lib/gl_anytree_omap.h: New file.
7204         * modules/avltree-omap: New file.
7205         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
7206         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
7208         array-omap: New module.
7209         * lib/gl_array_omap.h: New file.
7210         * lib/gl_array_omap.c: New file.
7211         * modules/array-omap: New file.
7213         omap: New module.
7214         * lib/gl_omap.h: New file.
7215         * lib/gl_omap.c: New file.
7216         * modules/omap: New file.
7218 2018-12-11  Bruno Haible  <bruno@clisp.org>
7220         hash-set, linkedhash-set: Reduce code duplication.
7221         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
7222         lib/gl_anyhash_set1.h.
7223         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
7224         lib/gl_anyhash_set2.h. Parameterize.
7225         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
7226         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
7227         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
7228         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
7229         * lib/gl_rbtreehash_list.c: Likewise.
7230         * lib/gl_linkedhash_list.c: Likewise.
7231         (hash_resize_after_add): Remove function.
7232         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
7233         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
7234         * gl_hash_set.c: Likewise.
7235         * modules/avltreehash-list (Files, Makefile.am): Update file list.
7236         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
7237         * modules/linkedhash-list (Files, Makefile.am): Likewise.
7238         * modules/linkedhash-set (Files, Makefile.am): Likewise.
7239         * modules/hash-set (Files, Makefile.am): Likewise.
7241 2018-12-11  Bruno Haible  <bruno@clisp.org>
7243         array-set: Optimize.
7244         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
7245         outside the loop, not inside the loop.
7247 2018-12-11  Bruno Haible  <bruno@clisp.org>
7249         times: Fix tests.
7250         * tests/test-times.c (doublecmp): Implement a total order.
7252 2018-12-11  Bruno Haible  <bruno@clisp.org>
7254         array-set, linkedhash-set, hash-set: Fix tests.
7255         * tests/test-array_set.c (cmp_objects_in_array): New function.
7256         (check_equals): Use it.
7257         * tests/test-hash_set.c: Likewise.
7258         * tests/test-linkedhash_set.c: Likewise.
7260 2018-12-08  Bruno Haible  <bruno@clisp.org>
7262         Fix comments.
7263         * lib/gl_list.h (gl_list_free): Clarify what it does.
7264         * lib/gl_oset.h (gl_oset_free): Likewise.
7265         * lib/gl_set.h (gl_set_free): Likewise.
7266         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
7267         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
7268         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
7269         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
7271 2018-12-03  Bruno Haible  <bruno@clisp.org>
7273         hash-set: Add tests.
7274         * tests/test-hash_set.c: New file.
7275         * modules/hash-set-tests: New file.
7277         linkedhash-set: Add tests.
7278         * tests/test-linkedhash_set.c: New file.
7279         * modules/linkedhash-set-tests: New file.
7281         array-set: Add tests.
7282         * tests/test-array_set.c: New file.
7283         * modules/array-set-tests: New file.
7285         xset: New module.
7286         * lib/gl_xset.h: New file.
7287         * lib/gl_xset.c: New file.
7288         * modules/xset: New file.
7290         hash-set: New module.
7291         * lib/gl_hash_set.h: New file.
7292         * lib/gl_hash_set.c: New file.
7293         * modules/hash-set: New file.
7295         linkedhash-set: New module.
7296         * lib/gl_linkedhash_set.h: New file.
7297         * lib/gl_linkedhash_set.c: New file.
7298         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
7299         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
7300         * lib/gl_anyhash_primes.h: New file, extracted from
7301         lib/gl_anyhash_list2.h.
7302         * lib/gl_anyhash_list2.h: Include it.
7303         (primes, next_prime): Remove definitions.
7304         * modules/linkedhash-set: New file.
7305         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
7306         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
7307         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
7308         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
7309         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
7310         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
7312         array-set: New module.
7313         * lib/gl_array_set.h: New file.
7314         * lib/gl_array_set.c: New file.
7315         * modules/array-set: New file.
7317         set: New module.
7318         * lib/gl_set.h: New file.
7319         * lib/gl_set.c: New file.
7320         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
7321         gl_set.h.
7322         * modules/set: New file.
7324 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
7326         bison: don't force the Yacc mode
7327         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
7328         errors when Bison features are used in the grammar file.  Some of
7329         these features (such as %expect) were flagged non-yacc recently.  Most
7330         of the time, -y is actually used to please Automake's ylwrap which
7331         expects the output to be y.tab.c.
7332         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
7334 2018-12-01  Bruno Haible  <bruno@clisp.org>
7336         gnupload: Document short options.
7337         * build-aux/gnupload (usage): Document the short options.
7339 2018-11-28  Ben Elliston  <bje@gnu.org>
7341         gnupload: Support option -h as alias of --help.
7342         * build-aux/gnupload: Support -h.
7344 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
7346         memrchr: port better to clang
7347         * lib/memrchr.c (__memrchr): Cast to void * instead of to
7348         longword *, to pacify clang -Wcast-align (Bug#33544).
7350 2018-11-29  Eric Blake  <eblake@redhat.com>
7352         docs: mention printf %m considerations
7353         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
7354         is not portable, and is easy enough to work around.
7355         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
7356         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
7357         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
7358         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
7359         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
7360         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
7361         * doc/posix-functions/printf.texi (printf): Likewise.
7362         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
7363         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
7364         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
7365         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
7366         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
7367         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
7368         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
7369         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
7370         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
7371         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
7372         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
7373         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
7375 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
7377         bitset: rename ebitset/expandable.* as tbitset/table.*
7378         See
7379         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
7380         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
7381         * lib/bitset/table.h, lib/bitset/table.c: these.
7382         Rename all the ebitset* symbols as tbitset*.
7383         Adjust dependencies.
7385 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
7387         bitset: check the operations
7388         * tests/test-bitset.c (bitset_random): New.
7389         Use it.
7390         * lib/bitset/expandable.c (ebitset_not): Fix typo.
7392 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
7394         bitset: properly use false/true instead of 0/1 for Booleans
7395         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
7396         0/1, as Booleans.
7398 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
7400         bitset: rename BITSET_VARRAY as BITSET_VECTOR
7401         For consistency with the name of the file.
7402         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
7403         * lib/bitset/stats.c, lib/bitset/vector.c
7404         (BITSET_VARRAY): Rename as...
7405         (BITSET_VECTOR): this.
7407 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
7409         strerror_r-posix: memmove, not memcpy
7410         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
7411         since the source and destination might overlap in the call
7412         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
7413         Simplify.
7415 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
7417         bitsetv: new module
7418         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
7420 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
7422         bitset: add tests and doc
7423         First stabs at providing a documentation and test for the bitset
7424         module.
7425         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
7427 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
7429         bitset: new module
7430         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
7431         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
7432         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
7433         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
7434         * lib/bitset/vector.h, modules/bitset:
7435         New.
7437 2018-11-23  Bruno Haible  <bruno@clisp.org>
7439         localename: Fix gettext test failures on mingw.
7440         * lib/localename.c (gl_locale_name_posix): Convert the result of
7441         gl_locale_name_environ to XPG syntax.
7443 2018-11-23  Karl Berry  <karl@freefriends.org>
7445         * config/srclistvars.txt,
7446         * config/srclist.txt: remove all gettext references;
7447         the gettext maintainers will sync as needed.
7449 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
7451         mktime: add libc-config dependency
7452         I missed this when we synced from glibc.
7453         * modules/mktime (Depends-on): Add libc-config.
7455 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7457         longlong: fix comment typo
7458         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
7460 2018-11-11  Bruno Haible  <bruno@clisp.org>
7462         havelib: Remove the need to include asm-underscore.m4.
7463         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
7464         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
7465         gl_HOST_CPU_C_ABI.
7466         * modules/havelib (Files): Add host-cpu-c-abi.m4.
7467         (Depends-on): Remove host-cpu-c-abi.
7469 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
7471         parse-datetime: simplify test for mktime failure
7472         * lib/parse-datetime.y (mktime_ok): Simplify.
7473         Remove args TZ and T; no longer needed.  Callers changed.
7475         posixtm: simplify test for mktime failure
7476         * lib/posixtm.c (posixtime): Simplify.
7478         nstrftime: simplify test for mktime failure
7479         * lib/nstrftime.c (__strftime_internal): Simplify.
7481 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
7483         gnulib-common.m4: port _Noreturn to C++
7484         Problem reported by Akim Demaille in:
7485         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
7486         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
7487         Merge adjustments from _Noreturn.h and from glibc into the non-C++
7488         version.
7489         * lib/_Noreturn.h: Match gnulib-common.
7491 2018-10-30  Bruno Haible  <bruno@clisp.org>
7493         gnu-make: Fix for NetBSD 8 'make'.
7494         Reported by Reuben Thomas in
7495         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
7496         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
7497         output, ignoring exit codes.
7499 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
7501         maintainer-makefile: fix syntax-check rule for "same.h"
7502         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
7503         for 'same_nameat', too.
7505 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
7507         havelib: fix nested ‘configure’ chatter
7508         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
7509         AC_CACHE_CHECK calls, which resulted in confusing output like
7510         “checking for the common suffixes of directories in the library
7511         search path... checking for 64-bit host... no lib,lib”.
7513         backupfile: tweak for better code
7514         * lib/backupfile.c: Sort include directives, and remove
7515         unnecessary <limits.h> include.
7516         (FALLTHROUGH): New macro, copied from other modules.
7517         (backupfile_internal): Use it to avoid code duplication.
7518         This lets GCC 8.2.1 generate better code by inlining the
7519         call to check_extension.
7521 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
7523         backupfile: new dir_fd args
7524         New module opendirat with code taken from fts.
7525         Use this module to let backupfile use a directory file descriptor.
7526         * NEWS: Document the incompatible change.
7527         * lib/backup-find.c (find_backup_file_name):
7528         * lib/backup-rename.c (backup_file_rename):
7529         New arg DIR_FD.
7530         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
7531         (SIZE_MAX): Remove.
7532         Include opendirat.h rather than dirent--.h.
7533         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
7534         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
7535         (backupfile_internal): New arg DIR_FD.  All callers changed.
7536         * lib/fts.c: Include opendirat.h.
7537         (opendirat): Move to opendirat.c.
7538         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
7539         * modules/backupfile (Depends-on): Remove dirfd, opendir.
7540         Add opendirat.
7541         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
7542         Add opendirat.
7544 2018-10-23  Bruno Haible  <bruno@clisp.org>
7546         localename: Simplify support for per-thread locales on Solaris 11.4.
7547         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
7548         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
7549         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
7550         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
7551         specific code.
7552         * lib/localename-table.h: Update comments.
7553         * lib/localename-table.c: Update comments.
7554         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
7555         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
7556         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
7557         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
7558         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
7559         HAVE_NAMELESS_LOCALES here.
7560         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
7561         m4/intlsolaris.m4.
7562         * modules/gettext (Files): Likewise.
7564 2018-10-22  Bruno Haible  <bruno@clisp.org>
7566         std-gnu11: Support Autoconf versions < 2.64.
7567         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
7568         when _AC_DO_LIMIT does not exist.
7570 2018-10-22  Bruno Haible  <bruno@clisp.org>
7572         Assume Autoconf >= 2.63.
7573         * DEPENDENCIES: Mention the requirement.
7575         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
7576         (func_get_filelist): Don't list m4/onceonly.m4 any more.
7577         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
7578         * m4/onceonly.m4: Remove file.
7580         * m4/openmp.m4: Remove file.
7581         * modules/openmp (Files): Remove m4/openmp.m4.
7583         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
7584         htmldir, dvidir, pdfdir, psdir, localedir.
7585         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
7587         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
7588         Autoconf < 2.60.
7589         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
7590         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
7592         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
7593         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
7594         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
7596         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
7597         exists.
7598         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
7600         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
7601         Autoconf < 2.61.
7603         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
7604         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
7605         Autoconf >= 2.52.
7607         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
7608         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
7609         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
7611 2018-10-22  Bruno Haible  <bruno@clisp.org>
7613         Assume Automake >= 1.11.
7614         * m4/configmake.m4: Update comments.
7615         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
7616         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
7617         of 'eval'.
7618         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
7619         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
7620         requires Automake >= 1.11.
7622 2018-10-22  Bruno Haible  <bruno@clisp.org>
7624         localename: Fix typo in comment.
7625         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
7627 2018-10-22  Bruno Haible  <bruno@clisp.org>
7629         Fix failure of 'gnulib-tool --create-testdir' with all modules.
7630         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
7632 2018-10-21  Bruno Haible  <bruno@clisp.org>
7634         locale: Ease integration with GNU libintl.
7635         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
7636         GNULIB_defined_freelocale): New macros.
7638 2018-10-21  Bruno Haible  <bruno@clisp.org>
7640         localename: Fine-tune support for per-thread locales on Solaris 11.4.
7641         * lib/localename-table.h: New file, extracted from lib/localename.c.
7642         * lib/localename-table.c: Likewise.
7643         * lib/localename.c: Include localename-table.h.
7644         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
7645         locale_hash_function instead of pointer_hash.
7646         * modules/localename (Files): Add lib/localename-table.h,
7647         lib/localename-table.c.
7648         (lib_SOURCES): Add localename-table.c.
7649         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
7650         for Solaris 11.4 locale system only on Solaris. Test for it
7651         independently whether getlocalename_l exists.
7652         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
7653         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
7654         HAVE_NAMELESS_LOCALES.
7655         * modules/gettext (Files): Add m4/intlsolaris.m4.
7657 2018-10-21  Bruno Haible  <bruno@clisp.org>
7659         Small update from gettext.
7660         * m4/intl.m4: Update from gettext:
7661         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
7662         mode on AIX.
7663         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
7664         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
7666 2018-10-16  Bruno Haible  <bruno@clisp.org>
7668         mountlist: Remove support for Cray with UNICOS 9.
7669         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
7670         MOUNTED_LISTMNTENT.
7671         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
7673 2018-10-16  Bruno Haible  <bruno@clisp.org>
7675         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
7676         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
7677         STAT_STATFS2_FS_DATA.
7678         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
7679         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
7680         MOUNTED_GETMNT.
7681         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
7682         * lib/getloadavg.c (decstation): Remove definition and case.
7683         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
7684         * lib/getgroups.c: Likewise.
7685         * doc/posix-functions/getgroups.texi: Likewise.
7686         * lib/time.in.h: Update comments.
7688 2018-10-16  Bruno Haible  <bruno@clisp.org>
7690         getloadavg: Remove support for ConvexOS.
7691         * lib/getloadavg.c: Remove convex case.
7693 2018-10-16  Bruno Haible  <bruno@clisp.org>
7695         getloadavg: Remove support for Sony NEWS.
7696         * lib/getloadavg.c: Remove sony_news case.
7698 2018-10-16  Bruno Haible  <bruno@clisp.org>
7700         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
7701         * lib/fsusage.c: Remove _SEQUENT_ case.
7702         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
7703         * lib/mountlist.c: Don't test for MNTTABNAME.
7704         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
7705         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
7706         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
7707         * lib/stat-size.h: Don't mention the Sequent bug.
7708         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
7710 2018-10-16  Bruno Haible  <bruno@clisp.org>
7712         fsusage: Remove support for AIX 3.
7713         * lib/fsusage.c: Remove code for AIX 3.
7714         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
7716 2018-10-16  Bruno Haible  <bruno@clisp.org>
7718         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
7719         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
7720         * lib/fsusage.c: Remove code for AIX PS/2.
7721         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
7722         * lib/getloadavg.c: Likewise.
7724 2018-10-16  Bruno Haible  <bruno@clisp.org>
7726         getloadavg: Remove support for HP-UX on m68k.
7727         * lib/getloadavg.c: Remove hp9000s300 case.
7729 2018-10-16  Bruno Haible  <bruno@clisp.org>
7731         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
7732         * lib/fsusage.c: Remove DOLPHIN case.
7733         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
7734         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
7736 2018-10-16  Bruno Haible  <bruno@clisp.org>
7738         getloadavg: Remove support for Alliant FX/2800.
7739         * lib/getloadavg.c: Remove alliant case.
7741 2018-10-16  Bruno Haible  <bruno@clisp.org>
7743         getloadavg: Remove support for tek4300.
7744         * lib/getloadavg.c: Remove tek4300 case.
7746 2018-10-16  Bruno Haible  <bruno@clisp.org>
7748         getloadavg: Remove support for Ardent.
7749         * lib/getloadavg.c: Remove ardent case.
7751 2018-10-16  Bruno Haible  <bruno@clisp.org>
7753         mountlist: Remove support for SVR2.
7754         Reported by Andrew Borodin <aborodin@vmail.ru> in
7755         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
7756         * lib/mountlist.c: Remove MOUNTED_FREAD case.
7757         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
7758         MOUNTED_FREAD.
7760 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
7762         libc-config: merge from glibc
7763         * lib/cdefs.h (__glibc_has_attribute): New macro.
7765         regex: depend on libc-config
7766         * modules/regex (Depends-on): Add libc-config.
7767         This is needed after the recent autoupdate from glibc.
7769 2018-10-14  Bruno Haible  <bruno@clisp.org>
7771         localename: Add support for per-thread locales on Solaris 11.4.
7772         * lib/locale.in.h (newlocale, freelocale): New declarations.
7773         (duplocale): Declare also when the 'localename' module requests it.
7774         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
7775         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
7776         (struniq): Update.
7777         (struct locale_categories_names, struct locale_hash_node): New types.
7778         (LOCALE_HASH_TABLE_SIZE): New constant.
7779         (locale_hash_table, locale_lock): New variables.
7780         (pointer_hash, get_locale_t_name): New functions.
7781         (newlocale, duplocale, freelocale): New overridden functions.
7782         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
7783         * m4/intlsolaris.m4: New file.
7784         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
7785         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
7786         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
7787         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
7788         declared.
7789         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
7790         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
7791         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
7792         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
7793         * modules/localename (Files): Add intlsolaris.m4.
7794         (Depends-on): Add 'locale'.
7795         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
7796         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
7797         the signatures.
7799 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
7801         timevar: use gethrxtime to get wall clock time
7802         clock_gettime is not portable.  gethrxtime takes the best available
7803         option to get the wall clock time, including clock_gettime (monotonic
7804         clock), and gettime (non monotonic).
7805         Also, using xtime_t instead of float preserves the precision.
7806         Suggested by Bruno Haible.
7807         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
7808         * modules/timevar (Depends-on): We need gethrxtime.
7809         We no longer use times().
7810         (Link): Update.
7811         * lib/timevar.h (timevar_time_def): Use xtime_t.
7812         * lib/timevar.c (set_to_current_time): Use gethrxtime.
7813         (timevar_print): Instead of checking whether the timings themselves
7814         are large enough for the timevar to be printed, check the percentages.
7816 2018-10-14  Bruno Haible  <bruno@clisp.org>
7818         wcsnrtombs: Work around Solaris 11.4 bug.
7819         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
7820         macro.
7821         (gl_FUNC_WCSNRTOMBS): Invoke it.
7822         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
7824 2018-10-14  Bruno Haible  <bruno@clisp.org>
7826         mbsnrtowcs: Work around Solaris 11.4 bug.
7827         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
7828         macro.
7829         (gl_FUNC_MBSNRTOWCS): Invoke it.
7830         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
7832 2018-10-14  Bruno Haible  <bruno@clisp.org>
7834         doc: Update for Solaris 11.4.
7835         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
7836         mention Solaris 11.4.
7837         * m4/printf.m4: Update comments about Solaris.
7838         * m4/log.m4: Likewise.
7839         * m4/log10.m4: Likewise.
7840         * m4/logb.m4: Likewise.
7841         * m4/logbf.m4: Likewise.
7842         * m4/logbl.m4: Likewise.
7843         * m4/rename.m4: Likewise.
7844         * m4/wcrtomb.m4: Likewise.
7845         * m4/hostent.m4: Likewise.
7846         * m4/servent.m4: Likewise.
7848 2018-10-14  Bruno Haible  <bruno@clisp.org>
7850         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
7851         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
7852         pointer.
7853         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
7854         pointer.
7855         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
7856         pointer.
7857         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
7858         pointer.
7859         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
7860         pointer.
7862 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
7864         bootstrap: fix wget command for po files.
7865         * build-aux/bootstrap (po_download_command_format): Fix comment,
7866         and adjust callers.
7868 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
7870         timevar: improve the output format
7871         Suggested by Bruno Haible.
7872         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
7873         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
7874         wall, since its resolution is much higher.
7876 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
7878         timevar: expect that getrusage is available.
7879         Don't keep both times and getrusage as backend: both are guaranteed by
7880         gnulib, a single one suffices.  Using getrusage is open to possibly
7881         tracking other types of resources in the future.
7882         * modules/timevar (Depends-on): Add getrusage.
7883         (configure.ac): Remove gl_TIMEVAR.
7884         (Files): Remove m4/timevar.m4.
7885         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
7886         * lib/timevar.h (timevar_enabled): Clarify documentation.
7887         * lib/timevar.c: Remove all the code about times.
7888         Remove all the CPP guards about getrusage: expect it to be present
7889         (courtesy of gnulib).
7891 2018-10-12  Bruno Haible  <bruno@clisp.org>
7893         mountlist: Improve support for Solaris in 64-bit mode.
7894         Reported by David Wood <David.Wood@deshaw.com> in
7895         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
7896         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
7897         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
7898         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
7900 2018-10-12  Bruno Haible  <bruno@clisp.org>
7902         mountlist: Add support for Minix.
7903         Reported by Assaf Gordon in
7904         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
7905         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
7906         AC_CHECK_FUNCS to check for 'getmntinfo'.
7907         * lib/mountlist.c: Update comments.
7909 2018-10-12  Bruno Haible  <bruno@clisp.org>
7911         Make better use of Autoconf.
7912         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
7913         * m4/manywarnings.m4: Likewise.
7914         * m4/manywarnings-c++.m4: Likewise.
7915         * m4/socklen.m4: Likewise.
7916         * m4/sockpfaf.m4: Likewise.
7917         * m4/stdarg.m4: Likewise.
7918         * m4/visibility.m4: Likewise.
7919         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
7920         indentation.
7921         * m4/ls-mntd-fs.m4: Likewise.
7923 2018-10-11  Bruno Haible  <bruno@clisp.org>
7925         mountlist: Modernize platform lists.
7926         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
7927         platforms, deemphasizing the obsolete ones.
7928         * lib/mountlist.c: Likewise.
7930 2018-10-11  Bruno Haible  <bruno@clisp.org>
7932         getprogname: Add support for 32-bit programs on HP-UX.
7933         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
7934         try the similar functions 32-bit programs on 64-bit HP-UX.
7936 2018-10-11  Bruno Haible  <bruno@clisp.org>
7938         getprogname: Work around program name truncation when possible.
7939         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
7940         possibly use pst_cmd instead.
7942 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7944         fts: cleanup after FTS_NOATIME removal
7945         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
7946         (FTS_STOP): Shrink to minimal values.  We don’t need to
7947         worry about binary compatibility in Gnulib, and the old way
7948         of doing things had a hole in the user options that caused
7949         FTS_OPTIONMASK to not work as desired.
7951 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
7953         fts: remove FTS_NOATIME
7954         This reverts commit da4d6974013c822af1498941e32db774b2031765.
7955         We cannot guarantee that O_NOATIME works: e.g. openat fails
7956         with EPERM if the effective user ID of the caller does not match
7957         the owner of the file and the caller is not privileged.
7958         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
7959         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
7960         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
7961         (FTS_OPTIONMASK): Adjust.
7962         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
7963         (fd_ring_check): Likewise.
7965 2018-10-08  Bruno Haible  <bruno@clisp.org>
7967         csharpcomp*, csharpexec*: Remove support for pnet.
7968         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
7969         HAVE_CSCC.
7970         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
7971         Don't test HAVE_CSCC.
7972         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
7973         (compile_csharp_class): Don't invoke it.
7974         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
7975         HAVE_ILRUN.
7976         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
7977         Don't test HAVE_ILRUN.
7978         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
7979         (execute_csharp_program): Don't invoke it.
7980         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
7981         any more.
7983 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
7985         renameatu: prefer renameat2 to syscall
7986         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
7987         Use renameat2 instead of syscall (Bug#32796).
7988         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
7990 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
7992         bootstrap, gnulib-tool: use https instead of insecure rsync
7993         * build-aux/bootstrap (download_po_files, po_download_command_format):
7994         Don't try using rsync; always use wget over https to fetch PO files.
7995         * gnulib-tool (func_import): Likewise.
7996         * pygnulib/GLImport.py (GLImport.execute): Likewise.
7998 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
8000         bootstrap, gnulib-tool: correct the translations wget command
8001         * build-aux/bootstrap (po_download_command_format2): Restrict
8002         recursion to a single level.
8003         * gnulib-tool (func_import): Likewise.
8004         * pygnulib/GLImport.py (GLImport.execute): Likewise.
8006 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
8008         doc: the gnulib snapshots are not maintained
8009         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
8011 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
8013         timevar: add to lib_SOURCES
8014         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
8016 2018-10-07  Bruno Haible  <bruno@clisp.org>
8018         dirent: Update documentation.
8019         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
8021 2018-10-05  Bruno Haible  <bruno@clisp.org>
8023         strpbrk: Make it possible to namespace the defined symbol.
8024         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
8026 2018-10-05  Bruno Haible  <bruno@clisp.org>
8028         strcspn: Make it possible to namespace the defined symbol.
8029         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
8031 2018-10-05  Bruno Haible  <bruno@clisp.org>
8033         raise: Make it possible to namespace the defined symbol.
8034         * lib/raise.c (raise): Undefine only after the replacement function has
8035         been defined.
8036         (raise): Renamed from rpl_raise.
8037         (raise_nothrow): Move to the end of the compilation unit.
8039 2018-10-05  Bruno Haible  <bruno@clisp.org>
8041         memcmp: Make it possible to namespace the defined symbol.
8042         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
8044 2018-10-05  Bruno Haible  <bruno@clisp.org>
8046         explicit_bzero: Make it possible to namespace the defined symbol.
8047         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
8048         glibc.
8050 2018-10-05  Bruno Haible  <bruno@clisp.org>
8052         mkdir-p: Depend on 'mkdir'.
8053         * modules/mkdir-p (Depends-on): Add 'mkdir'.
8055 2018-10-05  Bruno Haible  <bruno@clisp.org>
8057         tempname: Depend on 'mkdir'.
8058         Reported by Maarten Bosmans <mkbosmans@gmail.com>
8059         at <https://savannah.gnu.org/bugs/?33379>.
8060         * modules/tempname (Depends-on): Add 'mkdir'.
8062 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
8064         timevar: rely on gnulib modules for time portability.
8065         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
8066         * m4/timevar.m4: Don't check for clock_t and struct tms,
8067         guaranteed by gnulib.
8068         * lib/timevar.h: Use extern "C" protection.
8069         Include <stdio.h> for FILE.
8070         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
8071         they are guaranteed by gnulib.
8072         Remove uses of clock as (now useless) fallback.
8074 2018-10-04  Bruno Haible  <bruno@clisp.org>
8076         sh-filename: New module.
8077         * m4/sh-filename.m4: New file.
8078         * modules/sh-filename: New file.
8079         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
8080         "/bin/sh".
8081         * tests/test-posix_spawn1.c (main): Likewise.
8082         * tests/test-posix_spawn2.c (main): Likewise.
8083         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
8084         is_envjavac_gcj43): Likewise.
8085         * lib/javaexec.c (execute_java_class): Likewise.
8086         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
8087         * modules/posix_spawnp-tests (Depends-on): Likewise.
8088         * modules/javacomp (Depends-on): Likewise.
8089         * modules/javaexec (Depends-on): Likewise.
8091 2018-10-04  Bruno Haible  <bruno@clisp.org>
8093         spawn-pipe tests: Avoid test failure on native Windows.
8094         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
8095         that fd 2 is closed.
8097 2018-10-04  Bruno Haible  <bruno@clisp.org>
8099         fcntl: Make it possible to namespace the defined symbol.
8100         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
8101         been defined.
8102         (fcntl): Renamed from rpl_fcntl.
8103         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
8104         from fcntl.
8105         (klibc_fcntl): Move to the end of the compilation unit.
8107 2018-10-02  Bruno Haible  <bruno@clisp.org>
8109         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
8110         * tests/test-vasnprintf.c (test_function): Change the test added on
8111         2018-09-23 to check only the 18 most significant digits.
8113         vasnprintf tests: Avoid test failure on Cygwin.
8114         * tests/test-vasnprintf.c (test_function): Change the test added on
8115         2018-09-23 to check only the 42 most significant digits.
8117 2018-10-01  Bruno Haible  <bruno@clisp.org>
8119         mkostemp, mkostemps: Update documentation.
8120         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
8121         * doc/glibc-functions/mkostemps.texi: Likewise.
8123 2018-10-01  Tom Tromey  <tom@tromey.com>
8125         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
8126         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
8127         on OS X.
8129 2018-09-30  Pádraig Brady  <P@draigBrady.com>
8131         hmac-*: refactor to remove repetitive code
8132         * lib/hmac.c: A new parameterized single implementation.
8133         * lib/hmac-md5.c: Define parameters and include implementation.
8134         * lib/hmac-sha1.c: Likewise.
8135         * lib/hmac-sha256.c: Likewise.
8136         * lib/hmac-sha512.c: Likewise.
8137         * modules/crypto/hmac-md5: Reference the new implementation file.
8138         * modules/crypto/hmac-sha1: Likewise.
8139         * modules/crypto/hmac-sha256: Likewise.
8140         * modules/crypto/hmac-sha512: Likewise.
8141         * tests/test-hmac-md5.c: Refactor common code to a single function.
8142         * tests/test-hmac-sha1.c: Likewise.
8143         * tests/test-hmac-sha256.c: Likewise.
8144         * tests/test-hmac-sha512.c: Likewise.
8146 2018-09-30  Zhang Qing  <zhangqingl@126.com>
8148         hmac-sha512: fix hash for keys > blocksize (128 bytes)
8149         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
8150         key length to that output by sha512, not the blocksize.
8151         Otherwise uninitialized data from the stack
8152         is used when computing the hash.
8153         * tests/test-hmac-sha512.c: Add a shortened key test case.
8154         Reported at https://github.com/coreutils/gnulib/pull/5
8156 2018-09-30  Bruno Haible  <bruno@clisp.org>
8158         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
8159         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
8160         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
8161         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
8162         'unsigned int' before comparison with an unsigned value.
8164 2018-09-30  Bruno Haible  <bruno@clisp.org>
8166         grantpt: Remove unnecessary dependency.
8167         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
8169 2018-09-30  Bruno Haible  <bruno@clisp.org>
8171         timevar: Small tweaks.
8172         * lib/timevar.h: Fix comments. Add parameter names to function
8173         declarations.
8174         * lib/timevar.c: Include timevar.h immediately after config.h.
8175         * lib/timevar.def: Fix comments.
8176         * modules/timevar (Maintainer): List Akim Demaille.
8178 2018-09-30  Bruno Haible  <bruno@clisp.org>
8180         timevar: Include documentation in gnulib manual.
8181         * doc/timevar.texi: Change node and section name to 'Profiling of
8182         program phases'.
8183         In the code snippets, tweak the #includes and use GNU coding style.
8184         * doc/gnulib.texi: Include timevar.texi.
8186 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
8188         timevar: import from Bison.
8189         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
8190         New files.
8191         * lib/timevar.def: New file.
8192         * doc/timevar.texi: New file.
8194 2018-09-26  Bruno Haible  <bruno@clisp.org>
8196         javacomp-script, javacomp: Add preliminary support for Java 12..17.
8197         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
8198         * lib/javacomp.c (default_target_version): Likewise.
8200 2018-09-26  Bruno Haible  <bruno@clisp.org>
8202         javacomp-script, javacomp: Add support for Java 11.
8203         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
8204         target-version 11.
8205         * lib/javaversion.h: Update comments.
8206         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
8207         source_version_index, get_goodcode_snippet, get_failcode_snippet,
8208         TARGET_VERSION_BOUND, target_version_index,
8209         corresponding_classfile_version): Accept source_version 11 and
8210         target_version 11.
8211         * lib/javacomp.h: Update comments accordingly.
8213 2018-09-23  Bruno Haible  <bruno@clisp.org>
8215         vasnprintf: Fix heap memory overrun bug.
8216         Reported by Ben Pfaff <blp@cs.stanford.edu> in
8217         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
8218         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
8219         memory.
8220         * tests/test-vasnprintf.c (test_function): Add another test.
8222 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
8224         maint: mktime.c now shared with glibc
8225         * config/srclist.txt: intprops.h, timegm.c and mktime.c
8226         are now the same in Gnulib and glibc.
8228         mktime: fix _LIBC typo
8229         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
8231 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
8233         dfa: optimization for state merge
8234         * lib/dfa.c (merge2): New function.
8235         (merge_nfa_state): Use it.
8237 2018-09-18  Jim Meyering  <meyering@fb.com>
8239         dfa: trivial comment fix: s/is/if/
8240         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
8242 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
8244         dfa: use more-informative function name
8245         * lib/dfa.c (maybe_disable_superset_dfa):
8246         Rename from dfautf8noss.  Use change.
8248         dfa: tweak allocation performance
8249         * lib/dfa.c (merge_nfa_state, dfaoptimize):
8250         Prefer ptrdiff_t for indexes some more.
8251         Use char for flags, as it’s wide enough.
8252         Allocate queue and flags together, with one malloc call.
8253         No need to use xnmalloc since the multiplication and
8254         addition cannot overflow (it’s already been checked by
8255         earlier allocation).  Prefer memset to open-coding.
8257         dfa: prune states as we go
8258         * lib/dfa.c (prune): Remove.
8259         dfa: reorder enum for efficiency
8260         (merge_nfa_state): Prune as we go instead of at the end.
8261         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
8263         * lib/dfa.c (END): Now -1 again.  Reorder other elements
8264         of the enumeration to make it easier for GCC to generate
8265         efficient code by using fewer comparisons to check for
8266         ranges of values.
8267         (atom): Take advantage of the reordering.
8269 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
8271         dfa: optimize alternation in NFA
8272         Even when similar states exist in alternation, the DFA treats them
8273         as separate items, which may complicate the transition in NFA and
8274         cause slowdown.  This change assembles the states into one.  For
8275         example, ab|ac is changed into a(b|c).  This change speeds-up
8276         matching for many branched patterns.  For example, grep speeds up
8277         more than 30× in:
8279           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
8280           time -p env LC_ALL=C grep -vf in in
8282         * lib/dfa.c (prune): New function.
8283         (merge_nfa_state): New function.  It merges similar NFA states.
8284         (dfaoptimize): New function.  It seeks merged and removed nodes.
8285         (dfaanalyze): Call new function.
8286         (dfautf8noss): Change name from dfaoptimize because of addition of new
8287         function.
8288         (dfacomp): Update caller.
8290         dfa: simplify initial state
8291         Simplifying the initial state enables easier optimization of the NFA.
8292         * lib/dfa.c (enum token): Add new element BEG.
8293         (prtok): Adjust due to adding element BEG.
8294         (dfaparse): Put BEG at a head of tokens.
8295         (state_index): Adjust due to adding element BEG.
8296         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
8297         build initial state.
8298         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
8300 2018-09-18  Bruno Haible  <bruno@clisp.org>
8302         file-has-acl: Fix test failure on Cygwin 2.9.
8303         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
8304         * lib/acl-internal.h: Likewise.
8305         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
8306         * lib/acl-internal.c: Update comments regarding Cygwin.
8307         * lib/acl_entries.c: Likewise.
8308         * lib/file-has-acl.c: Likewise.
8309         (file_has_acl): For Cygwin, use a different way to determine whether
8310         the "default" ACL of a directory is nontrivial.
8311         * lib/get-permissions.c: Update comments regarding Cygwin.
8312         * lib/set-permissions.c: Likewise.
8314 2018-09-18  Bruno Haible  <bruno@clisp.org>
8316         stat-time tests: Fix test failure on Cygwin.
8317         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
8319 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
8321         doc: OS X 10.11 lacked ns time functions
8322         According to <https://github.com/zeromq/libzmq/issues/2175>,
8323         nanosecond-resolution timestamp functions were introduced
8324         in macOS 10.12, so document the last version (OS X 10.11)
8325         where they were absent.
8327         gettime: nanotime never existed
8328         Problem reported by Bruno Haible in:
8329         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
8330         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
8331         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
8333 2018-09-18  Bruno Haible  <bruno@clisp.org>
8335         doc: Update statement about target platforms.
8336         Reported by Simon Sobisch.
8337         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
8338         restrictions on MSVC versions.
8340 2018-09-18  Bruno Haible  <bruno@clisp.org>
8342         posix_spawn tests: Fix link error on 64-bit Cygwin.
8343         * tests/test-posix_spawn1.c (environ): Remove declaration.
8344         * tests/test-posix_spawn2.c (environ): Likewise.
8345         * tests/test-posix_spawn3.c (environ): Likewise.
8346         * tests/test-posix_spawn4.c (environ): Likewise.
8347         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
8348         * modules/posix_spawnp-tests (Depends-on): Likewise.
8350 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8352         timespec: new function current_timespec
8353         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
8354         and don’t worry about it failing on a CLOCK_REALTIME arg.
8355         POSIX requires it to succeed and I don’t know of any
8356         counterexamples where the fallbacks would work.
8357         (current_timespec): New function, taken from Emacs.  It is more
8358         convenient than gettime, and can help register allocation.
8359         * lib/timespec.h: Include arg-nonnull.h.
8360         (current_timespec): New declaration.
8361         (gettime, settime): Declare args to be nonnull.
8362         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
8364 2018-09-16  Bruno Haible  <bruno@clisp.org>
8366         setlocale: Improve locale handling on macOS 10.12 or newer.
8367         * lib/setlocale.c: Include header files for CoreFoundation. Declare
8368         gl_locale_name_canonicalize.
8369         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
8370         and LC_MESSAGES.
8371         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
8373 2018-09-16  Bruno Haible  <bruno@clisp.org>
8375         Update list of locale names with scripts on macOS.
8376         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
8377         match Mac OS X 10.13 and recent glibc.
8379 2018-09-16  Bruno Haible  <bruno@clisp.org>
8381         gettext: Use newer macOS APIs when possible.
8382         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
8383         CFLocaleCopyPreferredLanguages.
8385 2018-09-16  Bruno Haible  <bruno@clisp.org>
8387         localename: Revisit macOS specific code.
8388         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
8389         Fix comments about Mac OS X versions.
8391 2018-09-15  Bruno Haible  <bruno@clisp.org>
8393         setlocale: Improve support for locales not supported by libc.
8394         Reported by Dapeng Gao <peter@dpgao.cc> at
8395         <https://savannah.gnu.org/bugs/?54479>.
8396         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
8397         (libintl_setlocale): Use a more error-tolerant strategy when the locale
8398         to be set is not supported by libc: Emit warnings instead of failing.
8400 2018-09-15  Bruno Haible  <bruno@clisp.org>
8402         strstr, strcasestr: Add workaround against glibc-2.28 bug.
8403         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
8404         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
8405         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
8406         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
8407         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
8408         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
8409         * doc/glibc-functions/strcasestr.texi: Likewise.
8411 2018-09-14  Bruno Haible  <bruno@clisp.org>
8413         doc: Fix bottom of top-level page.
8414         Reported by Akim Demaille <akim.demaille@gmail.com> in
8415         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
8416         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
8417         mode.
8418         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
8419         accordingly.
8421 2018-09-12  Bruno Haible  <bruno@clisp.org>
8423         Add test case from a recent glibc bug.
8424         * tests/test-strstr.c (main): Add test of long needle.
8425         * tests/test-strcasestr.c (main): Likewise.
8426         * tests/test-c-strstr.c (main): Likewise.
8427         * tests/test-c-strcasestr.c (main): Likewise.
8428         * tests/test-memmem.c (main): Likewise.
8430 2018-09-12  Bruno Haible  <bruno@clisp.org>
8432         Apply Eric Blake's improvements from 2011-02-25 to more tests.
8433         * tests/test-c-strstr.c (main): Add the same tests here as well.
8435 2018-09-12  Bruno Haible  <bruno@clisp.org>
8437         Apply Jim Meyering's fix from 2015-01-11 to more tests.
8438         * tests/test-memmem.c (main): Free haystack.
8439         * tests/test-strcasestr.c (main): Likewise.
8440         * tests/test-c-strcasestr.c (main): Likewise.
8442 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8444         xstrtol: fix missing-TYPE_SIGNED typo
8445         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
8447 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8449         timespec: fix resolution confusion
8450         In normal usage, clock resolution is given in seconds, but the
8451         code was mistakenly using inverse seconds and calling it
8452         “resolution”.  Fix this, partly by renaming two identifiers.
8453         The old names will be kept for a bit, to ease transition.
8454         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
8455         New constants, replacing TIMESPEC_RESOLUTION and
8456         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
8457         All uses changed.
8459 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
8461         mktime: simplify in prep for glibc merge
8462         * lib/mktime.c, lib/timegm.c [_LIBC]:
8463         Include mktime-internal.h (a small file just for glibc)
8464         instead of using a typedef.
8466 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
8468         intprops: minor clarification of code
8469         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
8470         Use _GL_INT_CONVERT rather than reinventing it.
8472 2018-09-07  Bruno Haible  <bruno@clisp.org>
8474         Fix a comment.
8475         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
8477 2018-09-07  Bruno Haible  <bruno@clisp.org>
8479         posix_spawn_file_actions_addchdir: Add tests.
8480         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
8481         * tests/test-posix_spawn4.c: New file.
8482         * modules/posix_spawn_file_actions_addchdir-tests: New file.
8484 2018-09-07  Bruno Haible  <bruno@clisp.org>
8486         posix_spawn_file_actions_addchdir: New module.
8487         Suggested by Eric Blake in
8488         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
8489         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
8490         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
8491         union member 'chdir_action'.
8492         * lib/spawn_faction_addchdir.c: New file.
8493         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
8494         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
8495         HAVE_WORKING_POSIX_SPAWN.
8496         * lib/spawn_faction_adddup2.c: Likewise.
8497         * lib/spawn_faction_addopen.c: Likewise.
8498         * m4/posix_spawn_faction_addchdir.m4: New file.
8499         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
8500         'posix_spawn_file_actions_addchdir' is present and whether
8501         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
8502         instead of HAVE_WORKING_POSIX_SPAWN.
8503         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
8504         posix_spawn_file_actions_addchdir is declared.
8505         (gl_SPAWN_H_DEFAULTS): Initialize
8506         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
8507         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
8508         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
8509         * modules/spawn (Makefile.am): Substitute
8510         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
8511         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
8512         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
8513         * modules/posix_spawn_file_actions_addchdir: New file.
8514         * modules/posix_spawn_file_actions_addclose (Depends-on,
8515         configure.ac): Test also REPLACE_POSIX_SPAWN.
8516         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
8517         configure.ac): Likewise.
8518         * modules/posix_spawn_file_actions_addopen (Depends-on,
8519         configure.ac): Likewise.
8520         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
8521         signature.
8522         * doc/posix-functions/posix_spawn.texi: Mention the new module.
8523         * doc/posix-functions/posix_spawnp.texi: Likewise.
8525 2018-09-06  Bruno Haible  <bruno@clisp.org>
8527         stddef: Override max_align_t on NetBSD 8.0/x86.
8528         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
8529         the value of __alignof__ (max_align_t).
8530         * doc/posix-headers/stddef.texi: Mention the issue.
8532 2018-09-06  Bruno Haible  <bruno@clisp.org>
8534         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
8535         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
8536         system fcntl.
8537         * doc/posix-functions/fcntl.texi: Document the issue.
8539 2018-09-06  Bruno Haible  <bruno@clisp.org>
8541         count-trailing-zeros tests: Rely on limits-h module.
8542         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
8543         definition.
8544         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
8546 2018-09-06  Bruno Haible  <bruno@clisp.org>
8548         count-leading-zeros tests: Rely on limits-h module.
8549         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
8550         definition.
8551         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
8553 2018-09-06  Bruno Haible  <bruno@clisp.org>
8555         count-one-bits tests: Rely on limits-h module.
8556         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
8557         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
8559 2018-09-06  Bruno Haible  <bruno@clisp.org>
8561         xstrtoll: Rely on limits-h module.
8562         * lib/xstrtol.c: Don't include intprops.h.
8563         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
8564         * modules/xstrtol (Depends-on): Remove 'intprops'.
8565         * modules/xstrtoll (Depends-on): Add 'limits-h'.
8567 2018-09-06  Bruno Haible  <bruno@clisp.org>
8569         strtoll, strtoull: Rely on limits-h module.
8570         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
8571         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
8572         * modules/strtoll (Depends-on): Add limits-h.
8573         * modules/strtoull (Depends-on): Likewise.
8575 2018-09-06  Bruno Haible  <bruno@clisp.org>
8577         intprops tests: Fix compilation error with pre-C99 compiler.
8578         * tests/test-intprops.c (verify_stmt): New macro.
8579         (VERIFY, main): Use it.
8581 2018-09-06  Bruno Haible  <bruno@clisp.org>
8583         limits-h: Provide numerical limits macros.
8584         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
8585         IRIX and for GCC.
8586         (WORD_BIT, LONG_BIT): Define.
8587         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
8588         <limits.h> does not define LLONG_MAX or WORD_BIT.
8589         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
8590         TYPE_MAXIMUM): New macros, from intprops.h.
8591         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
8592         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
8593         provides.
8595 2018-09-05  Bruno Haible  <bruno@clisp.org>
8597         fcntl: Don't access nonexistent optional argument.
8598         Reported by Frank Busse <f.busse@imperial.ac.uk> in
8599         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
8600         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
8601         don't consume an argument. For actions that take an 'int' argument,
8602         consume an 'int' argument.
8604 2018-09-05  Eric Blake  <eblake@redhat.com>
8606         doc: mention environ pitfall
8607         * doc/posix-functions/environ.texi (environ): Assigning NULL to
8608         environ is a glibc extension.
8610 2018-09-03  Bruno Haible  <bruno@clisp.org>
8612         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
8613         Reported by Antoine Luong <antoine.luong@c-s.fr> in
8614         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
8615         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
8616         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
8617         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
8619 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
8621         mktime: fix unlikely race+overflow bug
8622         Problem reported by Alexandre Oliva in:
8623         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
8624         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
8625         to avoid an unlikely race if the compiler delays a load and
8626         if this cascades into a signed integer overflow.
8628 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8630         mktime, timegm: simplify glibc time64_t
8631         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
8632         Now long int, not time_t, since long int is the longstanding type
8633         for this in glibc and there is no need to change it even if time_t
8634         becomes 64 bits - even int would do, though this would be a change
8635         to the glibc generated code.  When this change is merged into
8636         glibc, it should simplify the time_t vs time64_t situation.
8638         mktime, timegm: simplify merge to glibc
8639         Move code around to make a merge to glibc easier to audit.
8640         This should not change behavior.
8641         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
8642         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
8643         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
8644         simplify later conditionals; default the others to zero.  In uses
8645         of these conditionals, explicitly spell out how _LIBC affects
8646         things, so it’s easier to review from a glibc viewpoint.
8647         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
8648         compartmentalize tzset issues.  Move system-dependent tzsettish
8649         code here from mktime.
8650         (mktime): Move tzsettish code to my_tzset, and move
8651         localtime_offset to within mktime so that it doesn’t
8652         need a separate ifdef.
8654 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
8656         intprops: avoid evaluation of some expressions
8657         This makes EXPR_SIGNED (e) easier to use, as it no longer
8658         evaluates the expression E.  Formerly, E was required to be free
8659         of side effects.
8660         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
8661         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
8662         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
8664 2018-08-23  Bruno Haible  <bruno@clisp.org>
8666         getcwd: Add cross-compilation guesses.
8667         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
8668         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
8669         Based on a patch by Paul Eggert.
8670         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
8671         guesses for all GNU systems.
8673 2018-08-19  Bruno Haible  <bruno@clisp.org>
8675         glob-h: Formalize side effects from other modules.
8676         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
8677         * m4/glob.m4 (gl_GLOB): Invoke it.
8679         fnmatch-h: Formalize side effects from other modules.
8680         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
8681         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
8683         limits-h: Formalize side effects from other modules.
8684         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
8685         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
8687 2018-08-19  Bruno Haible  <bruno@clisp.org>
8689         getpass: Move declaration to <unistd.h>.
8690         * lib/unistd.in.h (getpass): New declaration.
8691         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
8692         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
8693         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
8694         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
8695         On glibc systems, don't set REPLACE_GETPASS to 1.
8696         * modules/getpass (Depends-on): Add 'unistd'.
8697         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
8698         (Include): Specify <unistd.h> instead of "getpass.h".
8699         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
8700         (configure.ac): Sync with the configure.ac section of modules/getpass.
8701         (Include): Specify <unistd.h> instead of "getpass.h".
8702         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
8703         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
8704         REPLACE_GETPASS.
8705         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
8706         REPLACE_GETPASS.
8707         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
8708         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
8709         and musl.
8710         * NEWS: Mention the change.
8712 2018-08-19  Bruno Haible  <bruno@clisp.org>
8714         glob: Fix over-optimization due to attribute __nonnull__.
8715         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
8717 2018-08-19  Bruno Haible  <bruno@clisp.org>
8719         glob: Fix another compilation error when glob.h is not replaced.
8720         Reported by Reuben Thomas <rrt@sc3d.org> in
8721         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
8722         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
8723         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
8725 2018-08-18  Bruno Haible  <bruno@clisp.org>
8727         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
8728         Reported by Reuben Thomas <rrt@sc3d.org> in
8729         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
8730         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
8731         in config.h.
8733 2018-08-18  Bruno Haible  <bruno@clisp.org>
8735         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
8736         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
8737         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
8738         Solution proposed by Eli Zaretskii.
8739         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
8740         * lib/gettimeofday.c (GetProcAddress): Likewise.
8741         * lib/link.c (GetProcAddress): Likewise.
8742         * lib/physmem.c (GetProcAddress): Likewise.
8743         * lib/poll.c (GetProcAddress): Likewise.
8744         * lib/select.c (GetProcAddress): Likewise.
8745         * lib/stat-w32.c (GetProcAddress): Likewise.
8747 2018-08-18  Bruno Haible  <bruno@clisp.org>
8749         glob: Fix another compilation error when glob.h is not replaced.
8750         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
8751         * lib/globfree.c: Include <libc-config.h>.
8753 2018-08-18  Bruno Haible  <bruno@clisp.org>
8755         glob: Fix compilation error when glob.h is not replaced.
8756         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
8757         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
8758         * lib/glob_pattern_p.c: Include <libc-config.h>.
8759         * modules/glob (Depends-on): Add libc-config.
8761 2018-08-18  Bruno Haible  <bruno@clisp.org>
8763         scratch_buffer: Add tests.
8764         * tests/test-scratch-buffer.c: New file.
8765         * modules/scratch_buffer-tests: New file.
8767 2018-08-18  Bruno Haible  <bruno@clisp.org>
8769         scratch_buffer: Fix include file.
8770         Reported by Reuben Thomas <rrt@sc3d.org> in
8771         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
8772         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
8773         double-inclusion guard.
8775 2018-08-18  Bruno Haible  <bruno@clisp.org>
8777         glob-h: Revert Paul Eggert's revert.
8778         * m4/glob_h.m4: Revert to previous state.
8779         * modules/glob-h: Likewise.
8781 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
8783         glob-h: always build glob.h
8784         This works around a problem reported by Reuben Thomas in:
8785         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
8786         This workaround always builds glob.h, even on platforms that
8787         do not need it; perhaps this could be improved someday.
8788         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
8789         is always created now.
8790         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
8792 2018-08-13  Bruno Haible  <bruno@clisp.org>
8794         monetary: Simplify m4 code.
8795         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
8796         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
8798 2018-08-13  Bruno Haible  <bruno@clisp.org>
8800         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
8801         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
8802         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
8803         and by Paul J. Lucas <paul@lucasmail.org> in
8804         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
8805         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
8807 2018-08-11  Bruno Haible  <bruno@clisp.org>
8809         setlocale: Trivial simplification.
8810         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
8812 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
8814         verify: port 'assume' to traditional tools
8815         * lib/verify.h (assume): Port better to Oracle Studio 12.6
8816         and other tools that use /*NOTREACHED*/ comments.
8818 2018-08-10  Bruno Haible  <bruno@clisp.org>
8820         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
8821         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
8822         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
8823         'fnmatch-gnu' is in use.
8825 2018-08-07  Bruno Haible  <bruno@clisp.org>
8827         glob-h: Add tests.
8828         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
8829         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
8830         tests/test-glob-h.c.
8831         * modules/glob-h-tests: New file.
8832         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
8833         conditions.
8834         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
8835         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
8837 2018-08-07  Bruno Haible  <bruno@clisp.org>
8839         glob-h: New module.
8840         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
8841         replacements.
8842         * lib/glob.c: Include <config.h>.
8843         * m4/glob_h.m4: New file.
8844         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
8845         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
8846         REPLACE_GLOB_PATTERN_P as appropriate.
8847         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
8848         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
8849         * modules/glob-h: New file.
8850         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
8851         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
8852         lstat, sys_stat. Change conditions.
8853         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
8854         REPLACE_GLOB_PATTERN_P. Set module indicator.
8855         (Makefile.am): Remove code that is moved to glob-h.
8856         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
8857         * modules/posixcheck (Depends-on): Add glob-h.
8859 2018-08-06  Bruno Haible  <bruno@clisp.org>
8861         Force generation of substitute .h file when C++ support is enabled.
8862         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
8863         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
8864         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
8865         FNMATCH_H to non-empty.
8866         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
8867         ICONV_H to non-empty.
8868         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
8869         MONETARY_H to non-empty.
8870         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
8871         non-empty.
8873 2018-08-06  Bruno Haible  <bruno@clisp.org>
8875         fnmatch-h: Fix test compilation error on mingw (regression from today).
8876         * lib/fnmatch.in.h: Fix conditions.
8878 2018-08-06  Bruno Haible  <bruno@clisp.org>
8880         sys_resource: Relicense under LGPLv2+.
8881         John Malmberg's approval is in
8882         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
8883         * modules/sys_resource (License): Change to LGPLv2+.
8885 2018-08-06  Bruno Haible  <bruno@clisp.org>
8887         fnmatch-h: Add tests.
8888         * tests/test-fnmatch-h.c: New file.
8889         * modules/fnmatch-h-tests: New file.
8890         * tests/test-fnmatch-h-c++.cc: New file.
8891         * modules/fnmatch-h-c++-tests: New file.
8893 2018-08-06  Bruno Haible  <bruno@clisp.org>
8895         fnmatch-h: New module.
8896         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
8897         replacements.
8898         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
8899         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
8900         'posixcheck' warning.
8901         * m4/fnmatch_h.m4: New file.
8902         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
8903         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
8904         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
8905         as appropriate.
8906         * modules/fnmatch-h: New file.
8907         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
8908         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
8909         conditions.
8910         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
8911         indicator.
8912         (Makefile.am): Remove code that is moved to fnmatch-h.
8913         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
8914         REPLACE_FNMATCH.
8915         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
8916         * modules/posixcheck (Depends-on): Add fnmatch-h.
8918 2018-08-06  Bruno Haible  <bruno@clisp.org>
8920         Enable more C++ tests.
8921         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
8922         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
8923         * modules/strings-tests (Depends-on): Add strings-c++-tests.
8924         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
8925         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
8927 2018-08-06  Bruno Haible  <bruno@clisp.org>
8929         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
8930         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
8931         getopt.h.
8932         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
8934 2018-08-05  Bruno Haible  <bruno@clisp.org>
8936         utime-h: Generate header file when module 'posixcheck' is in use.
8937         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
8938         UTIME_H to non-empty.
8940 2018-08-05  Bruno Haible  <bruno@clisp.org>
8942         monetary: Generate header file when module 'posixcheck' is in use.
8943         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
8944         use, set MONETARY_H to non-empty.
8946 2018-08-05  Bruno Haible  <bruno@clisp.org>
8948         iconv-h: Generate header file when module 'posixcheck' is in use.
8949         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
8950         set ICONV_H to non-empty.
8952 2018-08-05  Bruno Haible  <bruno@clisp.org>
8954         Optimize the "checking whether ... is declared without a macro" checks.
8955         Suggested by Paul Eggert in
8956         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
8957         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
8958         Gnulib module 'posixcheck' is not in use.
8960 2018-08-05  Bruno Haible  <bruno@clisp.org>
8962         iconv-h: Enable 'posixcheck' warnings.
8963         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
8964         iconv_open.
8965         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
8967 2018-08-05  Bruno Haible  <bruno@clisp.org>
8969         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
8970         * m4/extern-inline.m4: Add more comments.
8971         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
8972         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
8973         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
8975 2018-08-04  Bruno Haible  <bruno@clisp.org>
8977         New module 'posixcheck'.
8978         * modules/posixcheck: New file.
8979         * m4/posixcheck.m4: New file.
8980         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
8981         (Which modules?): Reference it.
8983 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
8985         dfa: fix memory leak
8986         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
8988 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
8990         ieee754-h: new module
8991         It looks like Emacs can use this for some NaN processing.
8992         Emacs uses it only on double NaNs so it should be safe.
8993         * MODULES.html.sh (func_all_modules): Add ieee754-h.
8994         * config/srclist.txt: Mention ieee754.h in a comment.
8995         * doc/glibc-headers/ieee754.texi (ieee754.h):
8996         Gnulib now has a substitute that should work
8997         except for long double and for non-IEEE platforms.
8998         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
8999         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
9001 2018-07-27  Bruno Haible  <bruno@clisp.org>
9003         iswcntrl: Mention minor problem on macOS.
9004         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
9006 2018-07-26  Colin Watson  <cjwatson@debian.org>
9008         bootstrap, gnulib-tool: fix translations rsync
9009         Previously, we created files such as $pobase/Makefile.in.in and then the
9010         subsequent rsync would immediately delete them.
9011         * build-aux/bootstrap (po_download_command_format): Avoid deleting
9012         non-.po files in target directory when rsyncing translations.
9013         * gnulib-tool (func_import): Likewise.
9014         * pygnulib/GLImport.py (GLImport.execute): Likewise.
9016 2018-07-25  Jim Meyering  <meyering@fb.com>
9018         bootstrap: reinstate definition fo gnulib_mk.
9019         That variable is used at least by cppi.
9020         * build-aux/bootstrap (gnulib_mk): Restore definition.
9021         This reverts the deletion from v0.1-1844-gc66dba9ba.
9023 2018-07-23  Bruno Haible  <bruno@clisp.org>
9025         doc: For module names, use texinfo markup @code{} or @samp{}.
9026         * doc/alloca.texi: Mark gnulib module names with @code.
9027         * doc/alloca-opt.texi: Likewise.
9028         * doc/quote.texi: Likewise.
9029         * doc/posix-functions/freopen.texi: Likewise.
9030         * doc/posix-functions/open.texi: Likewise.
9031         * doc/posix-functions/readlink.texi: Likewise.
9032         * doc/posix-functions/readlinkat.texi: Likewise.
9033         * doc/posix-functions/stdout.texi: Likewise.
9034         * doc/posix-functions/stderr.texi: Likewise.
9035         * doc/posix-functions/unlink.texi: Likewise.
9036         * doc/posix-functions/unlinkat.texi: Likewise.
9037         * doc/posix-functions/utime.texi: Likewise.
9038         * doc/posix-functions/utimensat.texi: Likewise.
9039         * doc/posix-functions/utimes.texi: Likewise.
9040         * doc/posix-headers/stdint.texi: Likewise.
9041         * doc/glibc-functions/futimesat.texi: Likewise.
9042         * doc/glibc-functions/lutimes.texi: Likewise.
9043         * doc/glibc-functions/memmem.texi: Likewise.
9045 2018-07-23  Werner LEMBERG  <wl@gnu.org>
9047         doc: Avoid some overfull lines in the TeX output.
9048         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
9049         @example.
9050         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
9051         newline before the long URL.
9052         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
9053         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
9054         Add line breaks in code snippets.
9056 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
9058         hard-locale: simplify by removing hard-locale.m4
9059         * m4/hard-locale.m4: Remove.
9060         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
9061         (configure.ac): Do not call gl_HARD_LOCALE.
9063         gnulib-tool: limit line length for git send-email
9064         * gnulib-tool (func_import): Break actioncmd log line
9065         into multiple lines.
9067 2018-07-16  Bruno Haible  <bruno@clisp.org>
9069         ffs: Ensure declaration on mingw.
9070         Reported by Daniel P. Berrangé <berrange@redhat.com>
9071         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
9072         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
9073         also declared.
9075 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
9077         regex-tests: add dependency
9078         * modules/regex-tests (Depends-on): Add gettext-h.
9079         This is needed given the recent changes to regex,
9080         which no longer depends on gettext-h.
9082 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9084         regex: now in sync with glibc
9085         * config/srclist.txt: Gnulib and glibc regex code
9086         are synchronized again.
9088 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9090         renameatu: rename from renameat2
9091         It's looking like Glibc will add a renameat2 function
9092         that is incompatible with Gnulib renameat2; see:
9093         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
9094         To help avoid future confusion, rename renameat2 to something else.
9095         Use the name 'renameatu', as the Gnulib function is close to the
9096         Glibc function.  Perhaps someday there will also be a renameat2
9097         Gnulib module, which mimicks the future glibc renameat2, but that
9098         can wait as nobody seems to need such a module now.
9099         * NEWS: Mention this.
9100         * lib/renameatu.c: Rename from lib/renameat2.c.
9101         * lib/renameatu.h: Rename from lib/renameat2.h.
9102         * modules/renameatu: Rename from modules/renameat2.
9103         * modules/renameatu-tests: Rename from modules/renameat2-tests.
9104         All uses of "renameat2" in identifiers or file name
9105         changed to "renameatu", except for two instances in
9106         lib/renameatu.c that deal with the Linux kernel's
9107         renameat2 syscall.
9109 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
9111         gnulib-tool: minor tweaks for --gnu-make
9112         * gnulib-tool: Do not allow --gnu-make in test modes,
9113         since they all require automake.
9114         (func_emit_lib_Makefile_am): Don’t emit automake comment
9115         if --gnu-make.
9117         regex: work around conditional-dependencies glitch
9118         * modules/regex (Depends-on): Add langinfo.
9119         Without this change, I had problems building an experimental
9120         version of GNU Emacs.  The symptom of the bug was a message
9121         ‘./configure: line 12726: test: =: unary operator expected’.
9122         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
9123         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
9124         was unset.  Although gl_FUNC_NL_LANGINFO has
9125         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
9126         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
9127         --conditional-dependencies sometimes arranges for the
9128         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
9129         code.  Since the regex code includes <langinfo.h> it should be
9130         depending on the langinfo module anyway, and this happens to work
9131         around the bug, so install that as a workaround for now.  To
9132         reproduce the original problem, run the following shell script on
9133         the version of Gnulib just before this patch was installed.
9134                 rm -fr foo
9135                 mkdir foo
9136                 cat >foo/configure.ac <<'EOF'
9137                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
9138                 gl_EARLY
9139                 gl_INIT
9140                 AC_OUTPUT
9141                 EOF
9142                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
9143                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
9144                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
9145                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
9146                 cd foo
9147                 aclocal -I m4
9148                 autoconf
9149                 ./configure --with-included-regex
9151 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9153         wchar: fix bug when checking for ‘inline’
9154         I discovered this when looking into using the regex module
9155         with Emacs.
9156         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
9157         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
9158         conftest1.c and conftest2.c but these files were not created.
9159         As far as I can see, this check never worked and nobody reported
9160         it until now, which is a bit worrisome.
9162 2018-06-30  Jim Meyering  <meyering@fb.com>
9164         bootstrap: s/--option val/--option=val/
9165         * build-aux/bootstrap (gnulib_tool_options): Change the
9166         spelling of "--option val" pairs to "--option=val", for
9167         aesthetics, and also so that this file no longer triggers
9168         a common help2man syntax-check warning when copied into
9169         projects like grep, gzip, etc.
9171 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9173         manywarnings: omit -Wswitch-default
9174         This should make things more consistent, as we already ignore
9175         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
9176         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
9177         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
9178         Add -Wswitch-default.
9179         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
9180         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
9181         Remove -Wswitch-default.
9183         regex: revert most trimming
9184         Problems reported by Bruno Haible in:
9185         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
9186         * modules/regex (Depends-on): Add lock, memcmp, memmove,
9187         and wctype back in.  lock because regex users shouldn’t
9188         need to know that regex needs locking, and the rest because
9189         gnulib-tool should ordinarily ignore them anyway.
9191 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9193         regex: trim module dependencies
9194         * modules/regex (Depends-on): Remove gettext-h and lock,
9195         since the regex code should work OK without these modules,
9196         and Emacs uses it that way.  Also remove memcmp, memmove,
9197         and wctype, as these modules are obsolete and should not be
9198         needed any more.
9200 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
9202         regex: glibc does not use intprops.h
9203         Maybe we can talk glibc into using intprops.h someday, but
9204         now doesn’t seem to be a good time.
9205         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
9206         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
9207         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
9209 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
9211         regex: port to recently proposed glibc regex merge
9212         This patch is inspired by Adhemerval Zanella's recent proposal
9213         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
9214         to merge glibc and Gnulib regex.  It aims to simplify the merge on
9215         the glibc side, without keeping Gnulib portable.
9216         * lib/regex.h: Fix a problem with glibc installed-header checking,
9217         as follows:
9218         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
9219         (_Restrict_arr_): Prefer __restrict_arr if defined,
9220         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
9221         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
9222         (build_wcs_upper_buffer, build_upper_buffer)
9223         (re_string_translate_buffer, re_string_context_at):
9224         Move decls here from lib/regex_internal.h, for glibc internal tests.
9225         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
9226         glibc BZ #18496.
9227         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
9228         -Wunused-value.
9229         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
9230         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
9231         (bitset_mask): Now static inline, and without any __attribute__
9232         ((unused)) decoration, for glibc internal tests.
9234 2018-06-25  Bruno Haible  <bruno@clisp.org>
9236         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
9237         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
9238         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
9239         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
9240         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
9241         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
9242         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
9243         / -lthread / -lpth does not get optimized away by a preceding
9244         --as-needed option.
9246 2018-06-25  Bruno Haible  <bruno@clisp.org>
9248         Continue to use spaces for indentation, not tabs.
9249         * MODULES.html.sh: Untabify.
9250         * doc/regex.texi: Likewise.
9251         * lib/acl-internal.c: Likewise.
9252         * lib/dfa.c: Likewise.
9253         * lib/exclude.c: Likewise.
9254         * lib/exclude.h: Likewise.
9255         * lib/get-permissions.c: Likewise.
9256         * lib/gettimeofday.c: Likewise.
9257         * lib/parse-datetime.y: Likewise.
9258         * lib/pselect.c: Likewise.
9259         * lib/set-permissions.c: Likewise.
9260         * lib/time.in.h: Likewise.
9261         * m4/canonicalize.m4: Likewise.
9262         * m4/gc.m4: Likewise.
9263         * m4/gnulib-common.m4: Likewise.
9264         * m4/pthread_sigmask.m4: Likewise.
9265         * m4/vararrays.m4: Likewise.
9266         * tests/test-digest.h: Likewise.
9267         * tests/test-fcntl-h.c: Likewise.
9268         * tests/test-timespec.c: Likewise.
9269         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
9271 2018-06-25  Bruno Haible  <bruno@clisp.org>
9273         manywarnings: Don't enable -Wjump-misses-init warnings by default.
9274         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
9275         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
9276         -Wjump-misses-init.
9278 2018-06-25  Jim Meyering  <meyering@fb.com>
9280         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
9281         * lib/acl-internal.h (free_permission_context): Remove that
9282         attribute directive.  Otherwise, it would provoke this from GCC 9:
9283         lib/acl-internal.h:300:3: error: 'const' attribute on function \
9284           returning 'void' [-Werror=attributes]
9286 2018-06-24  Jim Meyering  <meyering@fb.com>
9288         parse-datetime: accommodate gcc-4.8.5
9289         Bruno Haible reported the build failure in
9290         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
9291         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
9292         on declaration of new local.
9294 2018-06-24  Bruno Haible  <bruno@clisp.org>
9296         af_alg: Fail in continuable manner on Linux/powerpc64le.
9297         Reported by Assaf Gordon <assafgordon@gmail.com>
9298         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
9299         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
9300         byte send() as the first round.
9302 2018-06-24  Bruno Haible  <bruno@clisp.org>
9304         af_alg: Fix state of stream after sendfile() succeeds.
9305         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
9306         the stream is correctly positioned afterwards.
9307         * modules/crypto/af_alg (Depends-on): Add fflush.
9308         * tests/test-digest.h (test_digest_on_files): Verify that after the
9309         operation the stream is positioned at end of file.
9311 2018-06-24  Jim Meyering  <meyering@fb.com>
9313         canon-host: take GCC9's advice rather than ignoring warning
9314         Pádraig Brady suggested not to ignore this GCC9 advice.
9315         * lib/canon-host.c: Undo preceding change.
9316         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
9318         parse-datetime.y: avoid spurious GCC 9 warning
9319         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
9320         a function local prior to the first "goto fail".  The prior use would
9321         evoke this:
9322         parse-datetime.y: In function 'parse_datetime2':
9323         parse-datetime.y:1791:19: error: jump skips variable initialization \
9324           [-Werror=jump-misses-init]
9325         parse-datetime.y:2385:2: note: label 'fail' defined here
9326         parse-datetime.y:188:43: note: '({anonymous})' declared here
9327         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
9329         canon-host.c: avoid spurious GCC 9 warning
9330         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
9332         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
9333         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
9334         * m4/manywarnings.m4: Remove them.
9335         Otherwise, building coreutils, I would see this:
9336         cc1: error: deprecated command line option '-Wchkp' [-Werror]
9337         cc1: error: -Wabi won't warn about anything [-Werror=abi]
9338         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
9339           which is also used by default
9340         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
9342 2018-06-24  Bruno Haible  <bruno@clisp.org>
9344         af_alg tests: Add another test.
9345         * tests/test-digest.h (test_digest_on_files): Also check a large file
9346         with a skipped header.
9347         * tests/test-md5.c: Include macros.h.
9348         * tests/test-sha1.c: Likewise.
9349         * tests/test-sha256.c: Likewise.
9350         * tests/test-sha512.c: Likewise.
9351         * modules/crypto/md5-tests (Files): Add tests/macros.h.
9352         * modules/crypto/sha1-tests (Files): Likewise.
9353         * modules/crypto/sha256-tests (Files): Likewise.
9354         * modules/crypto/sha512-tests (Files): Likewise.
9356 2018-06-24  Pádraig Brady  <P@draigBrady.com>
9358         maint: clarify comments about sticky EOF
9359         * lib/af_alg.c: Be more direct that we can't
9360         assume stickiness of EOF for portability reasons.
9361         * lib/md5.c: Clarify that this isn't just a glibc issue.
9362         * lib/sha1.c: Likewise.
9363         * lib/sha256.c: Likewise.
9364         * lib/sha512.c: Likewise.
9366 2018-06-24  Bruno Haible  <bruno@clisp.org>
9368         af_alg: Comment and style improvements.
9369         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
9370         (afalg_buffer, afalg_stream): Improve comments.
9372 2018-06-24  Pádraig Brady  <P@draigBrady.com>
9374         af_alg: disable kernel hash functions by default
9375         All the kernel routines were seen to be significantly slower
9376         with these relatively recent components on an i3-2310M system:
9377           kernel-4.10.6-200.fc25.x86_64
9378           openssl-1.0.2m-1.fc25.x86_64
9379         sha1 was nearly twice as slow in the kernel for example.
9380         Further considerations why this should not be the default, at:
9381         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
9383         * m4/af_alg.m4: Require --with-linux-crypto to enable.
9384         * m4/gl-openssl.m4: Tweak accordingly.
9386 2018-06-24  Pádraig Brady  <P@draigBrady.com>
9388         af_alg: avoid hangs when reading from streams
9389         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
9390         and thus avoid doing a fread() when feof() is set.
9391         * lib/md5.c: Ensure feof() is called before fread().
9392         * lib/sha1.c: Likewise.
9393         * lib/sha256.c: Likewise.
9394         * lib/sha512.c: Likewise.
9396 2018-06-24  Pádraig Brady  <P@draigBrady.com>
9398         af_alg: fix error handling when hash not returned
9399         * lib/af_alg.c (afalg_stream): Handle the case where we've
9400         successfully written data to the kernel in the read/write loop,
9401         but the kernel doesn't respond with the hash.
9403 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
9405         libc-config: merge from glibc
9406         * lib/cdefs.h (__inline, __restrict):
9407         Copy from current glibc.  This fixes glibc bug 17721,
9408         which Gnulib had already fixed in a different way.
9409         (__nonnull): Lessen the distance from glibc by using the
9410         glibc definition inside an ‘#ifndef __nonnull’.
9411         (__attribute_nonstring__): New macro, copied from
9412         current glibc.
9413         * lib/libc-config.h (__attribute_nonstring__): New undef.
9414         (__restrict): Remove; workaround no longer needed.
9415         Keep the __inline workaround, though, as it uses HAVE___INLINE to
9416         support more compilers than the glibc __inline can.
9418 2018-06-24  Bruno Haible  <bruno@clisp.org>
9420         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
9421         * lib/mbrtowc.c (enc_t): New enum type.
9422         (locale_enc, locale_enc_cached): New functions.
9423         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
9424         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
9425         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
9426         instead.
9427         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
9428         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
9429         * modules/wcwidth (configure.ac): Invoke it.
9431 2018-06-24  Bruno Haible  <bruno@clisp.org>
9433         wchar-single: Fix test failure in wcwidth tests.
9434         * tests/test-wcwidth.c (main): If the wchar-single module is present,
9435         skip the tests in the C locale.
9437 2018-06-23  Pádraig Brady  <P@draigBrady.com>
9439         crypto: mention --without-linux-crypto in --with-openssl --help
9440         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
9441         routines take precedence in --with-openssl help output.
9443 2018-06-23  Pádraig Brady  <P@draigBrady.com>
9445         wchar-single: a new module to enable optimizations in wchar replacements
9446         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
9447         GNULIB_WCHAR_SINGLE is enabled.
9448         * lib/wcwidth.c (wcwidth): Likewise.
9450 2018-06-23  Bruno Haible  <bruno@clisp.org>
9452         libc-config: Fix conflict with FreeBSD include files.
9453         * lib/cdefs.h (__nonnull): Remove definition.
9454         * lib/libc-config.h (__nonnull): Remove undefinition.
9456 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
9458         random_r: do not crash if state is unaligned
9459         Problem reported by Bruce Korb in:
9460         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
9461         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
9462         with 'cc -O2 -xmemalign=8s'.
9463         * lib/random_r.c: Include string.h, for memcpy.
9464         (get_int32, set_int32): New functions.
9465         (__srandom_r, __initstate_r, __setstate_r, __random_r):
9466         Use them to avoid assumption that state pointer is aligned.
9467         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
9468         * tests/test-random_r.c (test_failed): New function.
9469         (main): Use it, to test for alignment bugs.
9471         random_r: omit unnecessary include
9472         * lib/random_r.c: Do not include limits.h.
9474         random, random_r: merge from glibc
9475         * lib/random.c, lib/random_r.c:
9476         Include libc-config.h if !_LIBC, not config.h unilaterally.
9477         * lib/random.c:
9478         Do not include stdint.h or time.h; not needed.
9479         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
9480         (unsafe_state): Rename from generator.  All uses changed.
9481         Use C99-style initializers.
9482         (__random, __srandom, __initstate, __setstate): Rename from
9483         non-underscored version, but define it to non-underscored version
9484         on Gnulib.  Add a lock.
9485         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
9486         Likewise.
9487         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
9488         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
9489         (__srandom_r): Use int32_t instead of long int where int32_t will do.
9490         (__random_r): Use uint32 to fix glibc bug 17343.
9491         * modules/random, modules/random_r (Depends-on): Add libc-config.
9492         Depend on stdint only if $HAVE_RANDOM = 0.
9494 2018-06-19  Jim Meyering  <meyering@fb.com>
9496         README-release: also run any check-very-expensive tests
9497         * top/README-release: Adjust instructions so they run the
9498         check-very-expensive tests when there is such a target.
9500 2018-06-18  Bruno Haible  <bruno@clisp.org>
9502         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
9503         * m4/pthread_rwlock_rdlock.m4: Add comment.
9504         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
9505         are reader-preferring in glibc.
9506         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
9507         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
9509 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
9511         crypto: use byteswap
9512         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
9513         * lib/sm3.c: Include <byteswap.h>.
9514         (SWAP): Use its macros rather than reinventing the wheel.
9515         * modules/crypto/md4, modules/crypto/md5-buffer:
9516         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
9517         * modules/crypto/sha512-buffer, modules/crypto/sm3:
9518         (Depends-on): Add byteswap.
9520 2018-06-17  Pádraig Brady  <P@draigBrady.com>
9522         gendocs.sh: fix support for legacy --texi2html
9523         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
9524         to the default makeinfo invocation.
9525         Reported by Bruce Korb
9527 2018-06-17  Bruno Haible  <bruno@clisp.org>
9529         gettext po infrastructure: Update from current gettext git.
9530         Reported by Akim Demaille <akim@lrde.epita.fr>.
9531         * build-aux/po/Makefile.in.in: Update from current gettext git.
9532         * build-aux/po/remove-potcdate.sin: Likewise.
9533         * config/srclist.txt: Temporarily disable sync for these files.
9535 2018-06-17  Bruno Haible  <bruno@clisp.org>
9537         getloadavg: Return 0 on Windows without Cygwin.
9538         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
9540 2018-06-17  Paul Smith  <psmith@gnu.org>
9542         getloadavg: Allow building on Windows without Cygwin
9543         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
9544         * m4/getloadavg.m4: Check for unistd.h.
9546 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
9548         Port crypto/af_alg to GCC 4.8.4
9549         Problem reported by Peter Simons in:
9550         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
9551         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
9553 2018-05-27  Colin Watson  <cjwatson@debian.org>
9555         bootstrap: document source fetching in --help
9556         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
9558 2018-04-09  Colin Watson  <cjwatson@debian.org>
9560         bootstrap: allow non-submodule control of gnulib
9561         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
9562         bootstrap.conf when fetching gnulib using "git clone" or via
9563         GNULIB_SRCDIR.
9565 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9567         crypto: omit stream ops Emacs doesn’t need
9568         * lib/md5.c (md5_stream):
9569         * lib/sha1.c (sha1_stream):
9570         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
9571         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
9572         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
9573         defined.  Emacs needs this, as it does not use the stream
9574         operations and doesn’t need all the af_alg stuff we’ve recently
9575         added.  Perhaps a similar change is needed to the other crypto
9576         modules, but this patch changes only those needed for Emacs.
9577         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
9578         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
9579         New modules, used by Emacs.
9580         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
9581         * modules/crypto/sha512: Rewrite to depend on the new modules.
9583 2018-05-20  Pádraig Brady  <P@draigBrady.com>
9585         fts: avoid a memory leak edge case
9586         * lib/fts.c (fts_open): Set an appropriate fts_level
9587         so that an immediate fts_close() will free the allocation.
9588         * tests/test-fts.c (fts_dealloc): Add a test case which
9589         will trigger under valgrind or address sanitizer.
9590         Fixes https://bugs.gnu.org/31439
9592 2018-05-20  Bruno Haible  <bruno@clisp.org>
9594         wcwidth tests: Fix link error.
9595         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
9596         $(LIBUNISTRING).
9598 2018-05-20  Bruno Haible  <bruno@clisp.org>
9600         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
9601         * modules/regex (Files): Add m4/glibc21.m4.
9603 2018-05-20  Bruno Haible  <bruno@clisp.org>
9605         localcharset: Optimize.
9606         * lib/localcharset.c (alias_table): Comment out no-op mappings for
9607         platforms where these don't matter. This reduces the table size,
9608         which in turn reduces the lookup time.
9610 2018-05-19  Bruno Haible  <bruno@clisp.org>
9612         localcharset: Map the locale encodings found in newer OSes.
9613         * lib/localcharset.c (alias_table): Add mapping for locale encodings
9614         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
9615         IRIX 6.5, Minix 3.3.
9616         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
9618 2018-05-19  Bruno Haible  <bruno@clisp.org>
9620         localcharset: Move mapping tables into the code. Use a binary search.
9621         * lib/localcharset.h: Document the GNU canonical names for character
9622         encodings here.
9623         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
9624         relocatable.h, configmake.h.
9625         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
9626         macros.
9627         (charset_aliases): Remove variable.
9628         (get_charset_aliases): Remove function.
9629         (struct table_entry): New type.
9630         (alias_table, locale_table): New constants.
9631         (locale_charset): Use the alias_table or locale_table to get the
9632         canonicalized encoding name.
9633         * lib/config.charset: Remove file.
9634         * lib/ref-add.sin: Remove file.
9635         * lib/ref-del.sin: Remove file.
9636         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
9637         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
9638         * modules/localcharset (Notice): Remove.
9639         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
9640         glibc21.m4.
9641         (Depends-on): Remove configmake.
9642         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
9643         (Makefile.am): Simplify.
9644         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
9646 2018-05-19  Bruno Haible  <bruno@clisp.org>
9648         localcharset: Add a manual test.
9649         * tests/test-localcharset.c: New file.
9650         * modules/localcharset-tests: New file.
9652 2018-05-19  Bruno Haible  <bruno@clisp.org>
9654         localcharset: Remove support for obsolete platforms.
9655         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
9656         Mac OS X 10.2. Comment out dubious entry for Solaris.
9658 2018-05-19  Jim Meyering  <meyering@fb.com>
9660         gnupload: adjust comment
9661         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
9662         more likely we'll remove the just-added code in a year or two.
9664 2018-05-19  Bruno Haible  <bruno@clisp.org>
9666         gnupload: Fix "gpg-agent is not available in this session" error.
9667         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
9669 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
9671         crypto/af_alg: fix --help
9672         * m4/af_alg.m4: Avoid spurious newline in --help output.
9674 2018-05-13  Bruno Haible  <bruno@clisp.org>
9676         nl_langinfo: Fix compilation error on Android.
9677         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
9678         INT_CURR_SYMBOL, etc. only if these items are defined.
9680 2018-05-13  Bruno Haible  <bruno@clisp.org>
9682         truncate: Fix compilation error on Android.
9683         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
9684         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
9685         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
9686         HAVE_TRUNCATE.
9687         * modules/truncate: Likewise.
9688         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
9689         not HAVE_TRUNCATE.
9690         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
9691         HAVE_TRUNCATE.
9692         * doc/posix-functions/truncate.texi: Mention the issue.
9694 2018-05-13  Bruno Haible  <bruno@clisp.org>
9696         pthread: Fix compilation error on Android.
9697         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
9698         recursive inclusion of this file.
9700 2018-05-13  Bruno Haible  <bruno@clisp.org>
9702         posix_spawn: Fix compilation error on Android.
9703         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
9704         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
9705         (posix_spawn_file_actions_t): Consider also the case
9706         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
9708 2018-05-13  Bruno Haible  <bruno@clisp.org>
9710         tsearch: Move from K&R C to ANSI C.
9711         * lib/tsearch.c (tfind): Convert definition to ANSI C.
9713 2018-05-13  Bruno Haible  <bruno@clisp.org>
9715         tsearch: Fix compilation error on Android.
9716         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
9717         is 0.
9718         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
9719         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
9720         GNULIB_defined_tsearch is true.
9721         (twalk): Define only if GNULIB_defined_twalk is true.
9722         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
9723         is 0.
9724         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
9725         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
9726         * modules/search (Makefile.am): Substitute HAVE_TWALK.
9728 2018-05-13  Bruno Haible  <bruno@clisp.org>
9730         imaxdiv: Fix compilation error on Android.
9731         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
9732         is not defined.
9733         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
9734         HAVE_DECL_IMAXDIV, is 0.
9735         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
9736         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
9738 2018-05-13  Bruno Haible  <bruno@clisp.org>
9740         Support selective inclusion mechanism of recent mingw.org header files.
9741         Reported by Eli Zaretskii <eliz@gnu.org>.
9742         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
9743         __need_ssize_t, or __need_time_t is defined, just include the system's
9744         <sys/types.h>.
9745         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
9746         include the system's <locale.h>.
9748 2018-05-13  Bruno Haible  <bruno@clisp.org>
9750         Avoid compilation error due to 'mmap' on Android.
9751         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
9752         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
9753         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
9754         Undefine on Android.
9756 2018-05-13  Bruno Haible  <bruno@clisp.org>
9758         Add cross-compilation guesses for Linux systems without glibc.
9759         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
9760         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
9761         * m4/link.m4 (gl_FUNC_LINK): Likewise.
9762         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
9763         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
9764         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
9765         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9766         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
9767         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
9768         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
9769         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
9770         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
9771         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
9772         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
9773         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
9774         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
9775         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
9776         * m4/utimens.m4 (gl_UTIMENS): Likewise.
9778 2018-05-13  Bruno Haible  <bruno@clisp.org>
9780         getpagesize: Fix compilation error on Android.
9781         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
9782         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
9783         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
9784         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
9785         HAVE_GETPAGESIZE accordingly.
9786         * modules/getcwd (Files): Add m4/getpagesize.m4.
9788 2018-05-13  Bruno Haible  <bruno@clisp.org>
9790         tcgetsid: Fix compilation error on Android.
9791         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
9792         AC_CHECK_FUNC.
9794 2018-05-13  Bruno Haible  <bruno@clisp.org>
9796         getpass: Fix configure test for Android.
9797         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
9798         AC_CHECK_FUNC.
9800 2018-05-13  Bruno Haible  <bruno@clisp.org>
9802         ffs: Fix compilation error on Android.
9803         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
9805 2018-05-13  Bruno Haible  <bruno@clisp.org>
9807         mkfifo: Fix compilation error on Android.
9808         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
9809         AC_CHECK_FUNC.
9811 2018-05-13  Bruno Haible  <bruno@clisp.org>
9813         c-strtod: Fix configure test for Android.
9814         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
9815         AC_CHECK_FUNC.
9817 2018-05-13  Bruno Haible  <bruno@clisp.org>
9819         random: Fix compilation error on Android.
9820         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
9821         AC_CHECK_FUNC.
9823 2018-05-13  Bruno Haible  <bruno@clisp.org>
9825         grantpt: Fix compilation error on Android.
9826         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
9827         AC_CHECK_FUNC.
9829 2018-05-13  Bruno Haible  <bruno@clisp.org>
9831         stdioext: Fix compilation errors with newer Android headers.
9832         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
9833         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
9834         fallbacks for Android.
9835         * lib/fpending.c: Update comments.
9836         * lib/fpurge.c: Likewise.
9837         * lib/freadable.h: Likewise.
9838         * lib/freadable.c: Likewise.
9839         * lib/freadahead.c: Likewise.
9840         * lib/freading.h: Likewise.
9841         * lib/freadptr.c: Likewise.
9842         * lib/fseterr.c: Likewise.
9843         * lib/fwritable.h: Likewise.
9844         * lib/fwritable.c: Likewise.
9845         * lib/fwriting.h: Likewise.
9846         * lib/fwriting.c: Likewise.
9848 2018-05-13  Bruno Haible  <bruno@clisp.org>
9850         doc: Add info about Android versions 2.0 to 8.1.
9851         * doc/**/*.texi: Add info about functions in all released versions of
9852         Bionic.
9854 2018-05-12  Bruno Haible  <bruno@clisp.org>
9856         fseeko: On mingw, don't use the hidden function _fseeki64.
9857         Reported by Eli Zaretskii <eliz@gnu.org>.
9858         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
9859         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
9861 2018-05-12  Bruno Haible  <bruno@clisp.org>
9863         glob: Choose 'dirent_type' in a way that works better on mingw.
9864         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
9865         * lib/glob.c (dirent_type): Define as uint_fast32_t.
9867 2018-05-12  Bruno Haible  <bruno@clisp.org>
9869         execute, spawn-pipe: Avoid warning about redefining 'close'.
9870         Reported by Eli Zaretskii <eliz@gnu.org>.
9871         * lib/execute.c: Undefine 'close' before redefining it.
9872         * lib/spawn-pipe.c: Likewise.
9874 2018-05-12  Bruno Haible  <bruno@clisp.org>
9876         nanosleep: Avoid test failure on mingw when it has nanosleep.
9877         Reported by Eli Zaretskii <eliz@gnu.org>.
9878         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
9879         If it does not exist, use a simpler test program that does not call
9880         alarm().
9882 2018-05-10  Bruno Haible  <bruno@clisp.org>
9884         lock, cond, thread, tls: Use a different symbol as libpthread witness.
9885         Reported by Devin Hussey <husseydevin@gmail.com>.
9886         Based on a patch by Paul Eggert.
9887         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
9888         as witness of libpthread.
9889         * lib/glthread/cond.h (pthread_in_use): Likewise.
9890         * lib/glthread/thread.h (pthread_in_use): Likewise.
9891         * lib/glthread/tls.h (pthread_in_use): Likewise.
9893 2018-05-10  Bruno Haible  <bruno@clisp.org>
9895         cond tests: Fix compilation error on Solaris.
9896         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
9897         macro.
9899 2018-05-10  Bruno Haible  <bruno@clisp.org>
9901         doc: Add partial info about Android 4.3.
9902         * doc/*-functions/*.texi: Add info about functions that were added
9903         to Bionic between Android 4.3 and Android 9.0.
9905 2018-05-10  Bruno Haible  <bruno@clisp.org>
9907         doc: Add info about Android 9.0.
9908         * doc/**/*.texi: Add info about functions and headers in Bionic from
9909         Android 9.0.
9911 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
9913         af_alg: fix my typo in afalg_buffer
9914         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
9915         (afalg_stream): Simplify and avoid the need for a runtime test
9916         at the end.
9918         af_alg: recover better from crypto failures
9919         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
9920         input stream is seekable, by repositioning the stream back to
9921         where it was, possibly by just calling sendfile with an offset
9922         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
9923         cases, which lets our callers try again with user-mode code.
9924         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
9925         instead of on fflush and lseek.
9927         af_alg: distiguish I/O errors better
9928         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
9929         not -EIO, if it’s OK for the caller to try again with user-mode code.
9930         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
9931         some other error number) if fflush fails, as the caller should not
9932         try again that case.
9934         af_alg: avoid gotos
9935         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
9936         gotos, as they were a source of unreliability and made the code a
9937         bit harder to follow.
9939         af_alg: don’t leak file descriptors into children
9940         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
9941         This code should be compiled only on recent GNU/Linux platforms
9942         so we shouldn’t have to also depend on the accept4 module.
9944         af_alg: coalesce socket creation
9945         * lib/af_alg.c (alg_socket): New function.
9946         (afalg_buffer, afalg_stream): Use it.  This avoids some
9947         code duplication and gotos.
9949         af_alg: fix file descriptor leak
9950         * lib/af_alg.c (afalg_stream): Close leak.
9952         af_alg: Pacify --enable-gcc-warnings on GCC 8
9953         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
9954         and checking to pacify gcc -Wjump-misses-init on GCC 8.
9956 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
9958         af_alg: Pacify --enable-gcc-warnings
9959         Problem reported by Assaf Gordon in:
9960         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
9961         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
9962         gcc -Wjump-misses-init.
9963         * lib/sha512.c (shaxxx_stream): Now static.
9965 2018-05-06  Bruno Haible  <bruno@clisp.org>
9967         af_alg: Add ability to use Linux kernel crypto API on data in memory.
9968         * lib/af_alg.h (afalg_buffer): New declaration.
9969         * lib/af_alg.c (afalg_buffer): New function.
9971 2018-05-06  Bruno Haible  <bruno@clisp.org>
9973         af_alg: Avoid warnings.
9974         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
9975         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
9977 2018-05-06  Bruno Haible  <bruno@clisp.org>
9979         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
9980         * tests/bench-digest.h: New file.
9981         * tests/bench-md5.c: New file.
9982         * tests/bench-sha1.c: New file.
9983         * tests/bench-sha224.c: New file.
9984         * tests/bench-sha256.c: New file.
9985         * tests/bench-sha384.c: New file.
9986         * tests/bench-sha512.c: New file.
9987         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
9988         tests/bench-digest.h.
9989         (Depends-on): Add getrusage, gettimeofday.
9990         (Makefile.am): Add variables to build bench-md5.
9991         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
9992         tests/bench-digest.h.
9993         (Depends-on): Add getrusage, gettimeofday.
9994         (Makefile.am): Add variables to build bench-sha1.
9995         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
9996         tests/bench-sha256.c, tests/bench-digest.h.
9997         (Depends-on): Add getrusage, gettimeofday.
9998         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
9999         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
10000         tests/bench-sha512.c, tests/bench-digest.h.
10001         (Depends-on): Add getrusage, gettimeofday.
10002         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
10004 2018-05-06  Bruno Haible  <bruno@clisp.org>
10006         af_alg: Fix a resource leak.
10007         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
10008         New local variable 'result'.
10010 2018-05-06  Bruno Haible  <bruno@clisp.org>
10012         af_alg: Fix bug with streams that are not at position 0.
10013         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
10014         assume that the stream is positioned at position 0.
10015         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
10016         of the stream.
10017         * lib/md5.h (md5_stream): Likewise.
10018         * lib/sha1.h (sha1_stream): Likewise.
10019         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
10020         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
10021         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
10023         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
10024         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
10025         stream that is not positioned at the beginning.
10027 2018-05-06  Bruno Haible  <bruno@clisp.org>
10029         af_alg: Add configure option to enable/disable use of Linux crypto API.
10030         Suggested by Assaf Gordon <assafgordon@gmail.com>.
10031         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
10032         USE_LINUX_CRYPTO_API.
10033         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
10034         * lib/af_alg.c: Likewise.
10036 2018-05-06  Bruno Haible  <bruno@clisp.org>
10038         Followup to 'af_alg: New module.'.
10039         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
10040         * modules/crypto/sha1 (Depends-on): Likewise.
10041         * modules/crypto/sha256 (Depends-on): Likewise.
10042         * modules/crypto/sha512 (Depends-on): Likewise.
10044 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10046         crypto/{md5,sha1,sha256,sha512}: simplify
10047         * lib/md5.c (md5_stream):
10048         * lib/sha1.c (sha1_stream):
10049         * lib/sha256.c (shaxxx_stream):
10050         Simplify, partly by assuming C99.
10051         * lib/sha256.c (shaxxx_stream):
10052         New function, which implements both sha256 and sha224.
10053         Simplify, partly by assuming C99.
10054         (sha256_stream, sha224_stream):
10055         Use it to avoid code duplication, removing a FIXME.
10056         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
10057         Likewise.
10059         af_alg: Improve comments.
10060         * lib/af_alg.h: Use imperatives and tighten up wording.
10062 2018-05-05  Bruno Haible  <bruno@clisp.org>
10064         af_alg: Improve comments.
10065         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
10067 2018-05-05  Bruno Haible  <bruno@clisp.org>
10069         af_alg: New module.
10070         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
10071         * lib/af_alg.c: Include "af_alg.h" before the other header files.
10072         * lib/md5.c: Include "af_alg.h" unconditionally.
10073         (md5_stream): Invoke afalg_stream unconditionally.
10074         * lib/sha1.c: Include "af_alg.h" unconditionally.
10075         (sha1_stream): Invoke afalg_stream unconditionally.
10076         * lib/sha256.c: Include "af_alg.h" unconditionally.
10077         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
10078         * lib/sha512.c: Include "af_alg.h" unconditionally.
10079         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
10080         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
10081         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
10082         * modules/crypto/af_alg: New file.
10083         * modules/crypto/md5 (Files): Remove files that are now in the
10084         'crypto/af_alg' module.
10085         (Depends-on): Add crypto/af_alg.
10086         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
10087         (Makefile.am): Don't mention af_alg.c here.
10088         * modules/crypto/sha1 (Files): Remove files that are now in the
10089         'crypto/af_alg' module.
10090         (Depends-on): Add crypto/af_alg.
10091         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
10092         (Makefile.am): Don't mention af_alg.c here.
10093         * modules/crypto/sha256 (Files): Remove files that are now in the
10094         'crypto/af_alg' module.
10095         (Depends-on): Add crypto/af_alg.
10096         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
10097         (Makefile.am): Don't mention af_alg.c here.
10098         * modules/crypto/sha512 (Files): Remove files that are now in the
10099         'crypto/af_alg' module.
10100         (Depends-on): Add crypto/af_alg.
10101         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
10102         (Makefile.am): Don't mention af_alg.c here.
10104 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10106         crypto tests: pacify GCC
10107         * tests/test-digest.h (test_digest_on_files):
10108         Don’t assume digest size fits in int (!).
10110         af_alg: minor style improvements
10111         * lib/af_alg.c (afalg_stream): Prefer C99 style
10112         decl-after-statement, since we’re already assuming C99.  Clarify
10113         by strengthening the bind test and omit unnecessary assignment.
10115 2018-05-05  Bruno Haible  <bruno@clisp.org>
10117         af_alg: Fix bug on empty files.
10118         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
10119         stream is empty.
10121 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10123         sys-limits.h: new file for crypto and safe I/O
10124         * lib/af_alg.c: Include sys-limits.h.
10125         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
10126         (afalg_stream): Also reject negative sizes for sendfile; they
10127         should not happen and the code is a bit cleaner and faster this way.
10128         * lib/safe-read.c: Include sys-limits.h.
10129         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
10130         * lib/sys-limits.h: New file, with values and commentary derived
10131         from the old safe-read.c and from GNU Emacs sysdep.c.
10132         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10133         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
10134         Add lib/sys-limits.h to Files section.
10136 2018-05-05  Bruno Haible  <bruno@clisp.org>
10138         af_alg: Improve function signature.
10139         * lib/af_alg.h (afalg_stream): Swap second and third argument.
10140         * lib/af_alg.c (afalg_stream): Likewise.
10141         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
10143 2018-05-05  Bruno Haible  <bruno@clisp.org>
10145         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
10146         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
10147         * modules/crypto/sha1 (Depends-on): Likewise.
10148         * modules/crypto/sha256 (Depends-on): Likewise.
10149         * modules/crypto/sha512 (Depends-on): Likewise.
10151 2018-05-05  Bruno Haible  <bruno@clisp.org>
10153         crypto/{md5,sha1,sha256,sha512}: Fix module description.
10154         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
10155         * modules/crypto/sha1 (Depends-on): Likewise.
10156         * modules/crypto/sha256 (Depends-on): Likewise.
10157         * modules/crypto/sha512 (Depends-on): Likewise.
10159 2018-05-05  Bruno Haible  <bruno@clisp.org>
10161         af_alg: Add documentation.
10162         * lib/af_alg.h: Add comments.
10164 2018-05-05  Bruno Haible  <bruno@clisp.org>
10166         sha512: Add tests.
10167         * tests/test-sha512.c: New file.
10168         * modules/crypto/sha512-tests: New file.
10170 2018-05-05  Bruno Haible  <bruno@clisp.org>
10172         sha256: Add tests.
10173         * tests/test-sha256.c: New file.
10174         * modules/crypto/sha256-tests: New file.
10176 2018-05-05  Bruno Haible  <bruno@clisp.org>
10178         sha1 tests: Add test for sha1_stream.
10179         * tests/test-sha1.c: Include test-digest.h.
10180         (main): Invoke test_digest_on_files on 'sha1_stream'.
10181         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
10183 2018-05-05  Bruno Haible  <bruno@clisp.org>
10185         md5 tests: Add test for md5_stream.
10186         * tests/test-digest.h: New file.
10187         * tests/test-md5.c: Include test-digest.h.
10188         (main): Invoke test_digest_on_files on 'md5_stream'.
10189         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
10191 2018-04-28  Matteo Croce  <mcroce@redhat.com>
10193         md5sum: Use AF_ALG when available.
10194         * lib/md5.c: Include af_alg.h.
10195         (md5_stream): Use afalg_stream when available.
10196         * modules/crypto/md5 (Files): Add the af_alg files.
10197         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
10198         (Makefile.am): Add af_alg.c.
10200 2018-04-28  Matteo Croce  <mcroce@redhat.com>
10202         sha512sum: Use AF_ALG when available.
10203         * lib/sha512.c: Include af_alg.h.
10204         (sha512_stream, sha384_stream): Use afalg_stream when available.
10205         * modules/crypto/sha512 (Files): Add the af_alg files.
10206         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
10207         (Makefile.am): Add af_alg.c.
10209 2018-04-28  Matteo Croce  <mcroce@redhat.com>
10211         sha256sum: Use AF_ALG when available.
10212         * lib/sha256.c: Include af_alg.h.
10213         (sha256_stream, sha224_stream): Use afalg_stream when available.
10214         * modules/crypto/sha256 (Files): Add the af_alg files.
10215         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
10216         (Makefile.am): Add af_alg.c.
10218 2018-04-28  Matteo Croce  <mcroce@redhat.com>
10220         sha1sum: Use AF_ALG when available.
10221         * lib/af_alg.h: New file.
10222         * lib/af_alg.c: New file.
10223         * lib/sha1.c: Include af_alg.h.
10224         (sha1_stream): Use afalg_stream when available.
10225         * m4/linux-if-alg.m4: New file.
10226         * modules/crypto/sha1 (Files): Add the new files.
10227         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
10228         (Makefile.am): Add af_alg.c.
10230 2018-05-05  Bruno Haible  <bruno@clisp.org>
10232         all: Replace more http URLs by https URLs.
10233         * lib/localename.c: Use https: URL.
10234         * lib/timespec.h: Likewise.
10236 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
10238         maint: port more modules to GCC 8
10239         * lib/dirname.h (base_name):
10240         * lib/exclude.h (new_exclude):
10241         * lib/xstrndup.h (xstrndup):
10242         Add malloc attribute.
10243         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
10244         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
10245         This pacifies GCC 8.
10246         * m4/gnulib-common.m4 (gl_COMMON_BODY):
10247         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
10249 2018-05-03  Bruno Haible  <bruno@clisp.org>
10251         Simplify code. Drop support for Borland C++ on Windows.
10252         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
10253         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
10254         'defined _WIN32'.
10255         * lib/canonicalize-lgpl.c: Likewise.
10256         * lib/classpath.c: Likewise.
10257         * lib/clean-temp.c: Likewise.
10258         * lib/csharpexec.c: Likewise.
10259         * lib/ctime.c: Likewise.
10260         * lib/dosname.h: Likewise.
10261         * lib/dup2.c: Likewise.
10262         * lib/errno.in.h: Likewise.
10263         * lib/error.c: Likewise.
10264         * lib/euidaccess.c: Likewise.
10265         * lib/execute.c: Likewise.
10266         * lib/fcntl.in.h: Likewise.
10267         * lib/fcntl.c: Likewise.
10268         * lib/filename.h: Likewise.
10269         * lib/findprog.c: Likewise.
10270         * lib/flock.c: Likewise.
10271         * lib/fopen.c: Likewise.
10272         * lib/freopen.c: Likewise.
10273         * lib/fstat.c: Likewise.
10274         * lib/fsync.c: Likewise.
10275         * lib/gc-gnulib.c: Likewise.
10276         * lib/get-rusage-data.c: Likewise.
10277         * lib/getaddrinfo.c: Likewise.
10278         * lib/getdelim.c: Likewise.
10279         * lib/getdtablesize.c: Likewise.
10280         * lib/gethostname.c: Likewise.
10281         * lib/getlogin.c: Likewise.
10282         * lib/getlogin_r.c: Likewise.
10283         * lib/getopt.c: Likewise.
10284         * lib/getpagesize.c: Likewise.
10285         * lib/getpass.c: Likewise.
10286         * lib/getrusage.c: Likewise.
10287         * lib/gettimeofday.c: Likewise.
10288         * lib/glob.c: Likewise.
10289         * lib/inttypes.in.h: Likewise.
10290         * lib/isapipe.c: Likewise.
10291         * lib/javaexec.c: Likewise.
10292         * lib/link.c: Likewise.
10293         * lib/localcharset.c: Likewise.
10294         * lib/localename.h: Likewise.
10295         * lib/localename.c: Likewise.
10296         * lib/localtime.c: Likewise.
10297         * lib/lseek.c: Likewise.
10298         * lib/mbsinit.c: Likewise.
10299         * lib/mkdir.c: Likewise.
10300         * lib/msvc-nothrow.h: Likewise.
10301         * lib/nanosleep.c: Likewise.
10302         * lib/nl_langinfo.c: Likewise.
10303         * lib/nonblocking.c: Likewise.
10304         * lib/nproc.c: Likewise.
10305         * lib/open.c: Likewise.
10306         * lib/openpty.c: Likewise.
10307         * lib/pathmax.h: Likewise.
10308         * lib/pipe-filter-aux.c: Likewise.
10309         * lib/pipe-filter-gi.c: Likewise.
10310         * lib/pipe-filter-ii.c: Likewise.
10311         * lib/pipe.c: Likewise.
10312         * lib/pipe2.c: Likewise.
10313         * lib/poll.c: Likewise.
10314         * lib/popen.c: Likewise.
10315         * lib/posix_openpt.c: Likewise.
10316         * lib/printf-parse.c: Likewise.
10317         * lib/progreloc.c: Likewise.
10318         * lib/putenv.c: Likewise.
10319         * lib/read.c: Likewise.
10320         * lib/relocatable.c: Likewise.
10321         * lib/rename.c: Likewise.
10322         * lib/same-inode.h: Likewise.
10323         * lib/secure_getenv.c: Likewise.
10324         * lib/select.c: Likewise.
10325         * lib/sethostname.c: Likewise.
10326         * lib/setlocale.c: Likewise.
10327         * lib/sigaction.c: Likewise.
10328         * lib/sigprocmask.c: Likewise.
10329         * lib/sleep.c: Likewise.
10330         * lib/spawn-pipe.h: Likewise.
10331         * lib/spawn-pipe.c: Likewise.
10332         * lib/spawni.c: Likewise.
10333         * lib/stat-time.h: Likewise.
10334         * lib/stat-w32.c: Likewise.
10335         * lib/stat.c: Likewise.
10336         * lib/stdio.in.h: Likewise.
10337         * lib/stdio-impl.h: Likewise.
10338         * lib/stdio-read.c: Likewise.
10339         * lib/stdio-write.c: Likewise.
10340         * lib/stdlib.in.h: Likewise.
10341         * lib/strerror_r.c: Likewise.
10342         * lib/strftime-fixes.c: Likewise.
10343         * lib/sys_stat.in.h: Likewise.
10344         * lib/sys_types.in.h: Likewise.
10345         * lib/sys_wait.in.h : Likewise.
10346         * lib/system-quote.h: Likewise.
10347         * lib/system-quote.c: Likewise.
10348         * lib/tmpdir.c: Likewise.
10349         * lib/tzset.c: Likewise.
10350         * lib/uname.c: Likewise.
10351         * lib/unistd.in.h: Likewise.
10352         * lib/utime.in.h: Likewise.
10353         * lib/utime.c: Likewise.
10354         * lib/utimecmp.c: Likewise.
10355         * lib/utimens.c: Likewise.
10356         * lib/vasnprintf.c: Likewise.
10357         * lib/vma-iter.h: Likewise.
10358         * lib/vma-iter.c: Likewise.
10359         * lib/wait-process.c: Likewise.
10360         * lib/wcsftime.c: Likewise.
10361         * lib/wctype.in.h: Likewise.
10362         * lib/write.c: Likewise.
10363         * tests/nap.h: Likewise.
10364         * tests/test-cloexec.c: Likewise.
10365         * tests/test-dup-safer.c: Likewise.
10366         * tests/test-dup2.c: Likewise.
10367         * tests/test-dup3.c: Likewise.
10368         * tests/test-fcntl.c: Likewise.
10369         * tests/test-get-rusage-data.c: Likewise.
10370         * tests/test-getaddrinfo.c: Likewise.
10371         * tests/test-getlogin.h: Likewise.
10372         * tests/test-isatty.c: Likewise.
10373         * tests/test-localename.c: Likewise.
10374         * tests/test-mbrtowc-w32.c: Likewise.
10375         * tests/test-nonblocking.c: Likewise.
10376         * tests/test-nonblocking-pipe-main.c: Likewise.
10377         * tests/test-nonblocking-socket-main.c: Likewise.
10378         * tests/test-nonblocking-socket.h: Likewise.
10379         * tests/test-pipe.c: Likewise.
10380         * tests/test-pipe2.c: Likewise.
10381         * tests/test-poll.c: Likewise.
10382         * tests/test-pthread_sigmask1.c: Likewise.
10383         * tests/test-select.h: Likewise.
10384         * tests/test-sethostname2.c: Likewise.
10385         * tests/test-sigprocmask.c: Likewise.
10386         * tests/test-spawn-pipe-child.c: Likewise.
10387         * tests/test-stat-time.c: Likewise.
10388         * tests/test-system-quote-main.c: Likewise.
10389         * tests/test-utimens-common.h: Likewise.
10390         * tests/test-wcrtomb-w32.c: Likewise.
10391         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
10392         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
10393         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
10394         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
10395         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
10396         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
10397         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
10398         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
10399         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10400         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
10401         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
10402         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
10403         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
10404         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
10405         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
10406         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10408 2018-05-02  Bruno Haible  <bruno@clisp.org>
10410         localename: Fix test failures on mingw.
10411         * lib/localename.c (gl_locale_name_thread): Remove code specific to
10412         native Windows.
10413         (gl_locale_name_posix): Move code specific to native Windows here.
10414         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
10415         Accept result without charset suffix, as it appears on mingw.
10417 2018-04-28  Paul Smith  <psmith@gnu.org>
10419         bootstrap: Avoid gnulib operations if not needed
10420         * build-aux/bootstrap: Remove unused variable gnulib_mk.
10421         Set $gnulib_extra_files early so it can be overridden in .conf.
10422         Remove redundant --import flag from $gnulib_tool_options.
10423         Set $use_gnulib to false if no gnulib modules or files are needed.
10424         If $use_gnulib is false, don't do anything related to gnulib.
10425         A lot of this is just whitespace (indentation) changes.
10427 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
10429         manywarnings: port to GCC 8.0
10430         * build-aux/gcc-warning.spec: Add -Wcatch-value,
10431         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
10432         fact that the GCC help message now mentions operands for
10433         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
10434         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
10435         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
10436         and -Wunused-const-variable.
10437         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
10438         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
10439         -Wmissing-attributes, -Wmultistatement-macros,
10440         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
10441         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
10443 2018-04-24  Bruno Haible  <bruno@clisp.org>
10445         sys_socket: Make SO_REUSEPORT available across platforms.
10446         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10447         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
10448         * doc/posix-headers/sys_socket.texi: Mention the issue.
10449         * tests/test-poll.c (SO_REUSEPORT): Remove.
10450         * tests/test-select.h: Include <sys/socket.h>.
10451         (SO_REUSEPORT): Remove.
10452         * modules/select-tests (Depends-on): Add 'sys_socket'.
10454 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
10456         localcharset: short-circuit the search for an alias on a Mac
10457         * lib/localcharset.c (get_charset_aliases): Add a tautological
10458         UTF-8 entry to speed up the search for this case.
10459         Most machines default to a UTF-8 locale nowadays, so begin the
10460         list of aliases with a dummy UTF-8 entry so it will be found
10461         immediately and a time-consuming search through the rest of
10462         the list is avoided.
10464 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10466         fts: add comment
10467         * lib/fts.c (fts_build): Explain why ==, not >.
10468         See remark by Bernhard Voelker in:
10469         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
10471         fts: fix bug in find across filesystems
10472         This fixes a bug I introduced last summer.
10473         Problem reported by Kamil Dudka in:
10474         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
10475         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
10476         (leaf_optimization):
10477         New arg for file descriptor.  All callers changed.
10478         (fts_build): Check for whether inodes should be sorted
10479         before closing the directory.
10481 2018-04-07  Bruno Haible  <bruno@clisp.org>
10483         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
10484         Reported by Genki Sky <sky@genki.is>.
10485         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
10486         version 0.9.10 or newer.
10487         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
10488         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
10489         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
10490         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
10491         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
10493 2018-04-07  Bruno Haible  <bruno@clisp.org>
10495         execute: Update comment.
10496         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
10498 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
10500         fts: treat CIFS like NFS
10501         Problem reported by Kamil Dudka in:
10502         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
10503         * lib/fts.c (S_MAGIC_CIFS): New macro.
10504         (dirent_inode_sort_may_be_useful, leaf_optimization):
10505         Treat CIFS like NFS.
10507 2018-03-28  Bruno Haible  <bruno@clisp.org>
10509         c-stack: Fix possible build failure on some platforms.
10510         * lib/c-stack.c (die): Define whenever this function is referenced.
10512 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
10514         time_rz: fix workaround for Mac OS X 10.6 infloop
10515         Problems reported by Charles A. Roelli (Bug#27736#117).
10516         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
10517         Also, discard output, which clutters the 'configure' log.
10519 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
10521         havelib: port to Solaris 10 /bin/sh
10522         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
10523         instead of '! test EXPR'.
10525 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
10527         time_rz: work around Mac OS X 10.6 infloop
10528         * doc/posix-functions/localtime.texi:
10529         * doc/posix-functions/localtime_r.texi: Mention the bug.
10530         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
10531         better to fix localtime and localtime_r instead, but that would be
10532         more work and is not needed to fix the Emacs problem.
10533         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
10535 2018-03-24  Jim Meyering  <meyering@fb.com>
10537         test-version-etc.sh: don't use diff directly: use init.sh's compare
10538         We'd rather not sacrifice readable "diff -u" output even for
10539         "diff -c" output (not supported by busybox) or for even less
10540         readable ed-style "diff" output.  So use init.sh's compare function
10541         * tests/test-version-etc.sh: Source init.sh and add "." to path.
10542         Remove "./" from invocation of test-version-etc, so we use path.
10543         And s/diff/compare/.
10544         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
10545         to get init.sh.
10546         Prompted by Eric Blake's comments in
10547         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
10549 2018-03-24  Bruno Haible  <bruno@clisp.org>
10551         javacomp-script, javacomp: Add support for Java 10.
10552         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
10553         target-version 10.
10554         * lib/javaversion.h: Update comments.
10555         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
10556         source_version_index, get_goodcode_snippet, get_failcode_snippet,
10557         TARGET_VERSION_BOUND, target_version_index,
10558         corresponding_classfile_version): Accept source_version 10 and
10559         target_version 10.
10560         * lib/javacomp.h: Update comments accordingly.
10562 2018-03-24  Bruno Haible  <bruno@clisp.org>
10564         javacomp-script, javacomp: Update comments.
10565         * m4/javacomp.m4: Update comments regarding gcj.
10566         * lib/javacomp.h: Likewise.
10568 2018-03-24  Bruno Haible  <bruno@clisp.org>
10570         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
10571         * lib/javaversion.h: Update comments.
10572         * lib/javacomp.h: Likewise.
10573         * lib/javacomp.c (default_target_version, source_version_index,
10574         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
10575         "1.9".
10576         (TARGET_VERSION_BOUND): Bump to 9.
10577         (target_version_index, corresponding_classfile_version): Recognize "9"
10578         instead of "1.9".
10579         (get_source_version_for_javac): New function.
10580         (is_envjavac_nongcj_usable, is_javac_usable): Add
10581         source_version_for_javac argument.
10582         (compile_java_class): Determine and pass source_version_for_javac.
10583         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
10584         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
10585         appropriate.
10587 2018-03-23  Jim Meyering  <meyering@fb.com>
10589         test-version-etc.sh: port to diff without -c
10590         * tests/test-version-etc.sh: Don't use diff's -c option.
10591         This caused spurious test failure on Alpine Linux, which
10592         uses busybox's diff. Reported by Assaf Gordon in
10593         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
10595 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
10597         c-stack: port to recent GCC build
10598         Problem reported by The Fireplace (Bug#30913).
10599         * lib/c-stack.c (die): Define only if used.
10601 2018-03-20  Bruno Haible  <bruno@clisp.org>
10603         euidaccess: Port to native Windows.
10604         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
10605         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
10607 2018-03-19  Bruno Haible  <bruno@clisp.org>
10609         javacomp: Add support for Java 7, 8, 9.
10610         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
10611         source_version_index, get_goodcode_snippet, get_failcode_snippet,
10612         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
10613         and target_version 1,7, 1.8, 1.9.
10614         * lib/javacomp.h: Update comments accordingly.
10616 2018-03-19  Bruno Haible  <bruno@clisp.org>
10618         javacomp-script: Add support for Java 9.
10619         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
10620         target-version 1.9.
10622 2018-03-16  Bruno Haible  <bruno@clisp.org>
10624         glob: Don't compile replacements on recent glibc systems.
10625         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
10626         REPLACE_GLOB is 0, include the system's <glob.h> and use
10627         _GL_CXXALIAS_SYS.
10628         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
10629         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
10630         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
10631         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
10632         Remove snippet/warn-on-use.
10633         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
10634         (Makefile.am): Create glob.h always. Update list of substitutions in
10635         glob.h. Don't depend on $(WARN_ON_USE_H).
10637 2018-03-16  Bruno Haible  <bruno@clisp.org>
10639         glob: Fix link error on native Windows.
10640         * modules/glob (Depends-on): Add 'lstat'.
10642 2018-03-15  Bruno Haible  <bruno@clisp.org>
10644         glob: Fix compilation error in C++ mode.
10645         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
10647 2018-03-15  Bruno Haible  <bruno@clisp.org>
10649         host-cpu-c-abi: Support for RISC-V CPU.
10650         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
10651         riscv32 and riscv64 ABIs.
10652         References:
10653         https://github.com/riscv/riscv-toolchain-conventions
10654         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
10655         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
10657 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
10659         fflush: be more paranoid about libio.h change
10660         Suggested by Eli Zaretskii in:
10661         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
10662         * lib/fbufmode.c (fbufmode):
10663         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
10664         (disable_seek_optimization, rpl_fflush):
10665         * lib/fpending.c (__fpending):
10666         * lib/fpurge.c (fpurge):
10667         * lib/freadable.c (freadable):
10668         * lib/freadahead.c (freadahead):
10669         * lib/freading.c (freading):
10670         * lib/freadptr.c (freadptr):
10671         * lib/freadseek.c (freadptrinc):
10672         * lib/fseeko.c (fseeko):
10673         * lib/fseterr.c (fseterr):
10674         * lib/fwritable.c (fwritable):
10675         * lib/fwriting.c (fwriting):
10676         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
10678 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10680         maint: write-file-hooks -> before-save-hook
10681         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
10682         it's time to use the recommended replacement.
10683         Problem reported by Glenn Morris in:
10684         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
10685         * build-aux/announce-gen, build-aux/bootstrap:
10686         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
10687         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
10688         * build-aux/gnu-web-doc-update, build-aux/gnupload:
10689         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
10690         * build-aux/update-copyright, build-aux/useless-if-before-free:
10691         * build-aux/vc-list-files:
10692         Update hook usage for files where Gnulib is the canonical source.
10694 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
10696         binary-io: pacify gcc -Wunused-parameter
10697         Problem reported by Reuben Thomas in:
10698         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
10699         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
10700         Use _GL_UNUSED where appropriate.
10702         fflush: adjust to glibc 2.28 libio.h removal
10703         Problem reported by Daniel P. Berrangé in:
10704         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
10705         * lib/fbufmode.c (fbufmode):
10706         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
10707         (disable_seek_optimization, rpl_fflush):
10708         * lib/fpending.c (__fpending):
10709         * lib/fpurge.c (fpurge):
10710         * lib/freadable.c (freadable):
10711         * lib/freadahead.c (freadahead):
10712         * lib/freading.c (freading):
10713         * lib/freadptr.c (freadptr):
10714         * lib/freadseek.c (freadptrinc):
10715         * lib/fseeko.c (fseeko):
10716         * lib/fseterr.c (fseterr):
10717         * lib/fwritable.c (fwritable):
10718         * lib/fwriting.c (fwriting):
10719         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
10720         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
10721         Define if not already defined.
10723 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
10725         environ: fix link error on 32-bit Cygwin
10726         Problem reported for GNU Emacs by Ken Brown in:
10727         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
10728         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
10730 2018-02-24  Bruno Haible  <bruno@clisp.org>
10732         mbrtowc tests: Fix regression on glibc.
10733         Reported by Bernhard Voelker.
10734         * tests/test-mbrtowc.c (main): Fix expected value of wc.
10736 2018-02-24  Bruno Haible  <bruno@clisp.org>
10738         striconveha, uniconv/*: Avoid test failures on musl libc.
10739         * tests/iconvsupport.c: New file.
10740         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
10741         does not support the ISO-2022-JP-2 encoding.
10742         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
10743         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
10744         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
10745         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
10746         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
10747         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
10748         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
10749         (Makefile.am): Link test-striconveha with iconvsupport.o.
10750         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
10751         tests/iconvsupport.c.
10752         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
10753         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
10754         tests/iconvsupport.c.
10755         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
10756         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
10757         tests/iconvsupport.c.
10758         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
10759         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
10760         tests/iconvsupport.c.
10761         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
10762         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
10763         tests/iconvsupport.c.
10764         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
10765         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
10766         tests/iconvsupport.c.
10767         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
10769 2018-02-24  Bruno Haible  <bruno@clisp.org>
10771         localename: Add support for musl libc.
10772         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
10773         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
10774         on Linux platforms which define NL_LOCALE_NAME.
10776 2018-02-24  Bruno Haible  <bruno@clisp.org>
10778         mbrtowc tests: Don't make assumptions about the charset the C locale.
10779         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
10780         particular mapping in the C locale.
10782 2018-02-24  Bruno Haible  <bruno@clisp.org>
10784         ptsname_r: Don't expect that this function sets errno.
10785         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
10786         from ptsname_r().
10787         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
10789 2018-02-23  Bruno Haible  <bruno@clisp.org>
10791         xmalloca: pacify gcc -Wbad-function-cast
10792         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
10794 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
10796         nl_langinfo: pacify gcc -Wunused-function
10797         * lib/nl_langinfo.c (ctype_codeset): Do not define if
10798         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
10799         this case.  Without this change, I got a diagnostic when building
10800         coreutils on Fedora 27 with gcc 7.3.1 20180130.
10802         same: pacify gcc -Wunused-variable
10803         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
10804         Omit unused variable.
10806         malloca: pacify gcc -Wbad-function-cast
10807         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
10808         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
10809         To pacify GCC, I had to cast alloca’s result to some type other
10810         than void * before casting that to uintptr_t.
10812 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10814         utimecmp: new function utimecmpat
10815         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
10816         Do not include utimens.h.
10817         (utimecmpat): New function, generalizing utimecmp.
10818         (utimecmp): Now a thin layer around utimecmpat.
10819         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
10820         utimensat instead of on lstat and utimens.
10822         same: new function same_nameat
10823         * lib/same.c: Include fcntl.h.
10824         * lib/same.c (same_nameat): New function, generalizing same_name.
10825         (same_name): Now a thin layer around same_nameat.
10826         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
10827         * modules/same (Depends-on): Depend on fstatat, openat.
10829 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
10831         warnings: Add support for Objective C.
10832         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
10833         macro.
10835 2018-02-17  Bruno Haible  <bruno@clisp.org>
10837         lock: Fix test-once1 crash on FreeBSD11.
10838         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
10839         'pthread_create', not 'pthread_cancel'.
10841 2018-02-17  Bruno Haible  <bruno@clisp.org>
10843         lock: Add test of gl_once.
10844         * tests/test-once.c: New file.
10845         * modules/lock-tests (Files): Add it.
10846         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
10848 2018-02-17  Bruno Haible  <bruno@clisp.org>
10850         thread: Fix compilation error on IRIX.
10851         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
10852         needed; include it outside the C++ extern "C" {} block.
10853         * doc/posix-headers/pthread.texi: Mention the problem with
10854         pthread_atfork on IRIX.
10856 2018-02-04  Bruno Haible  <bruno@clisp.org>
10858         nl_langinfo: Override the system's nl_langinfo() when needed.
10859         Reported by Jim Meyering.
10860         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
10861         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
10863 2018-02-04  Bruno Haible  <bruno@clisp.org>
10865         signal-h, monetary, strings: Fix build failure in some cases.
10866         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
10867         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
10868         as delimiter in sed command, not '|'.
10869         * modules/monetary (Makefile.am): Likewise.
10870         * modules/strings (Makefile.am): Likewise.
10872 2018-02-03  Jim Meyering  <meyering@fb.com>
10874         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
10875         * top/maint.mk (sc_file_system): Don't complain about
10876         "/proc/filesystems".
10878 2018-02-03  Bruno Haible  <bruno@clisp.org>
10880         stdlib: Fix compilation error on OpenIndiana.
10881         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
10882         <sys/time.h>.
10883         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
10884         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
10886 2018-02-03  Bruno Haible  <bruno@clisp.org>
10888         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
10889         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
10890         and use $EGREP instead of 'grep -E'.
10891         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
10892         'grep -E'.
10894 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
10896         malloca: Add a compile-time verification.
10897         * lib/malloca.c (small_t): Verify that it is wide enough.
10898         * modules/malloca (Depends-on): Add verify.
10900 2018-02-02  Bruno Haible  <bruno@clisp.org>
10902         malloca: Add an argument check.
10903         Suggested by Paul Eggert.
10904         * lib/malloca.c (freea): Check against an invalid argument.
10906 2018-02-02  Bruno Haible  <bruno@clisp.org>
10908         localename: Add support for OpenIndiana.
10909         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
10910         Solaris 11 variants with uselocale() but without getlocalename_l().
10912 2018-02-02  Bruno Haible  <bruno@clisp.org>
10914         malloca, xmalloca: Make multithread-safe.
10915         Reported by Florian Weimer <fweimer@redhat.com>.
10916         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
10917         * lib/malloca.h (malloca): In the stack allocation case, return a
10918         pointer that is a multiple of 2 * sa_alignment_max.
10919         (sa_increment): Remove enum item.
10920         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
10921         a pointer that is a multiple of 2 * sa_alignment_max.
10922         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
10923         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
10924         HASH_TABLE_SIZE, mmalloca_results): Remove.
10925         (small_t): New type.
10926         (mmalloca, free): Rewritten.
10927         * lib/malloca.valgrind: Remove file.
10928         * modules/malloca (Files): Remove it.
10929         (Depends-on): Remove verify.
10931 2018-01-31  Bruno Haible  <bruno@clisp.org>
10933         environ: Fix link error on 64-bit Cygwin.
10934         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
10935         __declspec(dllimport) attribute.
10936         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
10938 2018-01-30  Bruno Haible  <bruno@clisp.org>
10940         get-rusage-data: Add support for Minix 3.
10941         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
10943 2018-01-30  Bruno Haible  <bruno@clisp.org>
10945         vma-iter: Add support for Minix 3.
10946         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
10947         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
10949 2018-01-27  Bruno Haible  <bruno@clisp.org>
10951         Fix malfunction of socket functions on HP-UX in 64-bit mode.
10952         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
10953         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
10954         _HPUX_ALT_XOPEN_SOCKET_API.
10955         * modules/accept (Depends-on): Add 'extensions'.
10956         * modules/getpeername (Depends-on): Likewise.
10957         * modules/getsockname (Depends-on): Likewise.
10958         * modules/getsockopt (Depends-on): Likewise.
10959         * modules/recvfrom (Depends-on): Likewise.
10960         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
10961         * doc/posix-functions/getpeername.texi: Likewise.
10962         * doc/posix-functions/getsockname.texi: Likewise.
10963         * doc/posix-functions/getsockopt.texi: Likewise.
10964         * doc/posix-functions/recvfrom.texi: Likewise.
10966 2018-01-27  Bruno Haible  <bruno@clisp.org>
10968         getsockname tests: More tests.
10969         * tests/test-getsockname.c (open_server_socket): New function, mostly
10970         copied from test-poll.c.
10971         (main): Check that getsockname fills in addr.
10972         * modules/getsockname-tests (Depends-on): Add the necessary
10973         dependencies.
10974         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
10976 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
10978         manywarnings: fix maintainer comment
10979         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
10980         it does not mistakenly think that ‘-1)’ is an option.
10982 2018-01-26  Bruno Haible  <bruno@clisp.org>
10984         langinfo: Fix last commit.
10985         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
10986         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
10988 2018-01-24  Bruno Haible  <bruno@clisp.org>
10990         langinfo, nl_langinfo: Add support for alternative month names.
10991         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
10992         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
10993         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
10994         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
10995         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
10996         * doc/posix-functions/nl_langinfo.texi: Likewise.
10998 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11000         Merge strftime.c changes from glibc
11001         This incorporates:
11002         2017-11-14 [BZ #10871] Implement alternative month names
11003         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
11004         2017-06-20 Use locale_t, not __locale_t, throughout glibc
11005         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
11006         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
11007         Use locale_t, not __locale_t.
11008         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
11009         (__strftime_internal): Add support for alternate months.
11011 2018-01-23  Bruno Haible  <bruno@clisp.org>
11013         doc: Mention another prerequisite for using Gnulib.
11014         Reported at <https://stackoverflow.com/questions/48378214/>.
11015         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
11016         AC_CONFIG_HEADERS.
11018 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
11020         build: GuixSD doesn't have /bin/bash
11021         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
11023 2018-01-21  Bruno Haible  <bruno@clisp.org>
11025         Avoid test failures on Microsoft Windows Subsystem for Linux.
11026         * tests/test-fcntl.c (main): Allow a different errno.
11027         * tests/test-rename.h (test_rename): Likewise.
11028         * tests/test-renameat.c (main): Likewise.
11029         * tests/test-renameat2.c (main): Likewise.
11031 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
11033         filenamecat: make base a suffix of result
11034         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
11035         (mfile_name_concat): Always make BASE a suffix of the result, as
11036         cp expects this.  To implement this, separate with '.' instead of
11037         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
11038         * tests/test-filenamecat.c (main): Adjust tests to match
11039         current behavior.  Check that BASE_IN_RESULT points to
11040         a copy of BASE and is a suffix of the resultk, and that DIR
11041         is a prefix of the result that is no longer than the prefix
11042         indicated by BASE_IN_RESULT.
11044 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
11046         update-copyright: Handle use of ©
11047         * build-aux/update-copyright ($circle_c_re): Update regex to
11048         handle use of © in headers.
11050 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
11052         Fix -Wundef warning in user-included header lib/cdefs.h.
11053         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
11055 2018-01-04  Bruno Haible  <bruno@clisp.org>
11057         pthread_sigmask: Avoid compilation error on mingw.
11058         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
11059         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
11060         macro.
11062 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
11064         test-framework-sh: ‘ps -ef’, not ‘ps ef’
11065         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
11066         Suggested by Bob Proulx (Bug#29968).
11067         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
11069 2018-01-02  Eric Blake  <eblake@redhat.com>
11071         stat-time: silence -Wunused-parameter regression
11072         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
11073         Prefer attribute over cast-to-void.
11074         (stat_time_normalize): Mark st as potentially unused.
11076 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
11078         test-framework-sh: avoid netstat
11079         Problem reported by Kristýna Streitová (Bug#29947).
11080         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
11081         deprecated on SuSE and it's not that important anyway.
11083 2018-01-01  Jim Meyering  <meyering@fb.com>
11085         update-copyright: add code to handle more special cases
11086         After running "make update-copyright" this year, five files
11087         required additional manual changes.  Automate those adjustments
11088         for next year.
11089         * Makefile (_year_and_prev): Define.
11090         (update-copyright): Add perl commands to induce this year's post-
11091         update-copyright adjustments.
11093 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
11095         version-etc: new year
11096         * build-aux/gendocs.sh (version):
11097         * doc/gendocs_template:
11098         * doc/gendocs_template_min:
11099         * doc/gnulib.texi:
11100         * lib/version-etc.c (COPYRIGHT_YEAR):
11101         Update copyright dates by hand in templates and the like.
11103         maint: fix 'make update-copyright'
11104         * Makefile (update-copyright): Adjust to 2016-11-23 change
11105         to config/srclist-update, which changed the format of srclist.txt.
11107 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
11109         chdir-safer: remove this module
11110         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
11111         * NEWS: Document removal.
11112         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
11113         * modules/chdir-safer: Remove these files.
11115 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
11117         Add cross-compilation results for GNU/Hurd.
11118         * m4/calloc.m4: Add GNU/Hurd guess.
11119         * m4/cbrtl.m4: Likewise.
11120         * m4/ceil.m4: Likewise.
11121         * m4/ceilf.m4: Likewise.
11122         * m4/ceill.m4: Likewise.
11123         * m4/chown.m4: Likewise.
11124         * m4/duplocale.m4: Likewise.
11125         * m4/exp2l.m4: Likewise.
11126         * m4/expm1.m4: Likewise.
11127         * m4/fchdir.m4: Likewise.
11128         * m4/floor.m4: Likewise.
11129         * m4/floorf.m4: Likewise.
11130         * m4/fmod.m4: Likewise.
11131         * m4/fmodf.m4: Likewise.
11132         * m4/fmodl.m4: Likewise.
11133         * m4/getcwd.m4: Likewise.
11134         * m4/getgroups.m4: Likewise.
11135         * m4/gettimeofday.m4: Likewise.
11136         * m4/hypot.m4: Likewise.
11137         * m4/hypotf.m4: Likewise.
11138         * m4/hypotl.m4: Likewise.
11139         * m4/link-follow.m4: Likewise.
11140         * m4/link.m4: Likewise.
11141         * m4/linkat.m4: Likewise.
11142         * m4/log.m4: Likewise.
11143         * m4/log10.m4: Likewise.
11144         * m4/log10f.m4: Likewise.
11145         * m4/log1p.m4: Likewise.
11146         * m4/log1pf.m4: Likewise.
11147         * m4/log1pl.m4: Likewise.
11148         * m4/log2.m4: Likewise.
11149         * m4/log2f.m4: Likewise.
11150         * m4/logf.m4: Likewise.
11151         * m4/lstat.m4: Likewise.
11152         * m4/malloc.m4: Likewise.
11153         * m4/mbrlen.m4: Likewise.
11154         * m4/mbrtowc.m4: Likewise.
11155         * m4/mkdir.m4: Likewise.
11156         * m4/mkfifo.m4: Likewise.
11157         * m4/mknod.m4: Likewise.
11158         * m4/mkstemp.m4: Likewise.
11159         * m4/modf.m4: Likewise.
11160         * m4/modff.m4: Likewise.
11161         * m4/modfl.m4: Likewise.
11162         * m4/printf.m4: Likewise.
11163         * m4/pselect.m4: Likewise.
11164         * m4/ptsname.m4: Likewise.
11165         * m4/putenv.m4: Likewise.
11166         * m4/readlink.m4: Likewise.
11167         * m4/realloc.m4: Likewise.
11168         * m4/remainder.m4: Likewise.
11169         * m4/remainderf.m4: Likewise.
11170         * m4/remainderl.m4: Likewise.
11171         * m4/rmdir.m4: Likewise.
11172         * m4/round.m4: Likewise.
11173         * m4/roundf.m4: Likewise.
11174         * m4/roundl.m4: Likewise.
11175         * m4/select.m4: Likewise.
11176         * m4/setenv.m4: Likewise.
11177         * m4/signbit.m4: Likewise.
11178         * m4/sleep.m4: Likewise.
11179         * m4/stat.m4: Likewise.
11180         * m4/strerror.m4: Likewise.
11181         * m4/strtok_r.m4: Likewise.
11182         * m4/symlink.m4: Likewise.
11183         * m4/symlinkat.m4: Likewise.
11184         * m4/trunc.m4: Likewise.
11185         * m4/truncf.m4: Likewise.
11186         * m4/truncl.m4: Likewise.
11187         * m4/tzset.m4: Likewise.
11188         * m4/ungetc.m4: Likewise.
11189         * m4/usleep.m4: Likewise.
11190         * m4/wcwidth.m4: Likewise.
11192 2017-12-28  Bruno Haible  <bruno@clisp.org>
11194         gnulib-tool: Make --conditional-dependencies work better.
11195         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
11196         * gnulib-tool (Options): Don't reject the combination of
11197         --conditional-dependencies with --with-tests.
11198         (func_emit_autoconf_snippets): Add argument referenceable_modules.
11199         Don't reference $modules.
11200         (func_import, func_create_testdir): Pass it.
11202 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11204         regex: use re_malloc etc. consistently
11205         Problem and original patch reported by Arnold Robbins in:
11206         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
11207         * lib/regcomp.c (re_comp):
11208         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
11209         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
11211 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
11212             Paul Eggert  <eggert@cs.ucla.edu>
11214         glob: Silence warning about void pointer arithmetic.
11215         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
11216         arithmetic.
11218 2017-12-15  Bruno Haible  <bruno@clisp.org>
11220         spawn-pipe: Silence a clang warning.
11221         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
11222         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
11223         in this file.
11225 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
11227         explicit_bzero: port to macOS + Clang 9.0.0
11228         Problem reported by Marcus Johnson (Bug#29658).
11229         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
11230         Don’t use asm.
11232 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
11234         doc: Improve explanation of supporting relocatable libraries.
11235         * doc/relocatable-maint.texi (Supporting Relocation): Explain
11236         properly how to build the relocatable module for
11237         libraries. (Method and example code from Bruno Haible.)
11239 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
11241         doc: Use better texinfo tags in a few cases.
11242         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
11243         instead of @samp in a few places.
11245 2017-12-11  Bruno Haible  <bruno@clisp.org>
11247         unistr/base: Update comment.
11248         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
11250 2017-12-10  Pádraig Brady  <P@draigBrady.com>
11252         test-faccessat.c: unlink temp file to avoid subsequent test failure
11253         * tests/test-faccessat.c: Remove the file to avoid failure
11254         to open the file on subsequent runs due to being created
11255         with no permissions.
11257 2017-12-10  Bruno Haible  <bruno@clisp.org>
11259         doc: New sect. "Modifying the build rules of a Gnulib import directory".
11260         * doc/gnulib-tool.texi (Modified build rules): New node.
11262 2017-12-10  Bruno Haible  <bruno@clisp.org>
11264         doc: Tweak wording.
11265         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
11266         "binaries".
11268 2017-12-05  Sam Steingold  <sds@gnu.org>
11269             Bruno Haible  <bruno@clisp.org>
11271         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
11272         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
11273         AC_EGREP_CPP pattern.
11275 2017-12-03  Bruno Haible  <bruno@clisp.org>
11277         all: Replace more http URLs by https URLs.
11278         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
11279         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
11280         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
11281         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
11283 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
11285         Port better to CentOS 5
11286         Problems reported by Tom G. Christensen in:
11287         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
11288         * doc/glibc-functions/strverscmp.texi (strverscmp):
11289         Document strverscmp bug with glibc 2.9 and earlier.
11290         * doc/posix-functions/tzset.texi (tzset):
11291         Document that TZ with angle brackets is POSIX-2001 and later.
11292         * tests/test-nstrftime.c: Include unistd.h.
11293         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
11294         (TZ): Use it to skip tests with angle brackets in TZ,
11295         for older systems.
11297         stat: add missing module dependencies
11298         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
11299         Add stat-time.
11301 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
11303         stat: fix compilation failure on macOS Sierra
11304         Reported by Marius Schamschula <mschamschula@gmail.com> in:
11305         https://savannah.gnu.org/bugs/?52546
11306         * lib/stat.c: Add missing include of stat-time.h.
11308 2017-11-28  Jim Meyering  <meyering@fb.com>
11310         test-faccessat.c: correct BASE definition to avoid parallel test failure
11311         * tests/test-faccessat.c (BASE): Define using this file's name, not
11312         that of test-lstat.c.  Using the latter caused this test to fail
11313         sometimes when run concurrently with test-lstat.
11315 2017-11-27  Daiki Ueno  <ueno@gnu.org>
11317         unicase: fix VPATH build
11318         * modules/unicase/special-casing (Makefile.am): Ensure that the
11319         base directory is created when generating
11320         unicase/special-casing.h.
11322 2017-11-27  Daiki Ueno  <ueno@gnu.org>
11324         libunistring: update to Unicode 9.0.0
11325         * lib/gen-uni-tables.c (fill_properties): Recognize
11326         Sentence_Terminal and Prepended_Concatenation_Mark.
11327         (is_property_default_ignorable_code_point): Exclude U+08E2.
11328         (fill_arabicshaping): Allow missing whitespace when parsing;
11329         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
11330         (output_blocks): Increase the element size of the level1 table to
11331         accommodate more blocks.
11332         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
11333         Update each class according to the standard.
11334         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
11335         E_Base_GAZ characters.
11336         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
11337         Glue_After_Zwj, and E_Base_GAZ characters.
11338         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
11339         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
11340         enum value.
11341         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
11342         value.
11343         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
11344         LBP_ZWJ, LBP_EB, and LBP_EM.
11345         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
11346         enum value.
11347         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
11348         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
11349         declaration.
11350         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
11351         (uniwbrk_table): Implement WB14.
11352         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
11353         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
11354         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
11355         uc-is-grapheme-break.
11356         * modules/unigbrk/uc-grapheme-breaks: New module.
11357         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
11358         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
11359         enum value.
11360         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
11361         * lib/unigbrk/u-grapheme-breaks.h: New file.
11362         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
11363         u-grapheme-breaks.h instead of uc_is_grapheme_break.
11364         * lib/unigbrk/uc-grapheme-breaks.c: New file.
11365         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
11366         29.
11367         * tests/unigbrk/test-uc-gbrk-prop.c
11368         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
11369         GBP_GAZ, and GBP_EBG.
11370         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
11371         * tests/unigbrk/test-uc-is-grapheme-break.c
11372         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
11373         GBP_GAZ, and GBP_EBG.
11374         (main): Skip unsupported rules involving 3 or more characters,
11375         namely GB10, GB12, and GB13.
11376         * lib/uniwidth/width.c (nonspacing_table_data): Update.
11377         * all generated files under lib/uni* and tests/uni*: Regenerate.
11378         * all the affected modules: Bump version.
11380 2017-11-26  Bruno Haible  <bruno@clisp.org>
11382         strfmon_l: Fix compilation error with glibc 2.5.
11383         Reported by Tom G. Christensen <tgc@jupiterrise.com>
11384         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
11385         * lib/monetary.in.h: Include also <locale.h>.
11387 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
11389         posixtm: remove PDS_LEADING_YEAR
11390         This changes the API slightly, in a hopefully-innocuous way.
11391         Without this change the code had undefined behavior when a
11392         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
11393         Problem reported by Pádraig Brady in:
11394         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
11395         * NEWS: Mention this.
11396         * lib/posixtm.c (posix_time_parse): Treat the absence of
11397         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
11398         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
11399         present, but define it as zero, for compatibility with existing
11400         source code).  All other PDS_* values moved up.
11401         * tests/test-posixtm.c (LY): New macro.
11402         (T): Use it.  Do not expect a particular numeric encoding
11403         for PDS_CENTURY etc.
11405 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
11407         stat: work around Solaris bug with tv_nsec < 0
11408         * doc/posix-functions/fstat.texi (fstat):
11409         * doc/posix-functions/fstatat.texi (fstatat):
11410         * doc/posix-functions/lstat.texi (lstat):
11411         * doc/posix-functions/stat.texi (stat):
11412         Mention Solaris 11 bug.
11413         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
11414         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
11415         * lib/lstat.c (rpl_lstat):
11416         * lib/stat.c (rpl_stat):
11417         Normalize resulting timestamps.
11418         * lib/fstatat.c (normal_fstatat): New function.
11419         (rpl_fstatat): Use it.
11420         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
11421         (stat_time_normalize): New function.
11422         * m4/fstat.m4 (gl_FUNC_FSTAT):
11423         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
11424         * m4/lstat.m4 (gl_FUNC_LSTAT):
11425         * m4/stat.m4 (gl_FUNC_STAT):
11426         Replace on Solaris.
11427         * modules/fstat (Depends-on):
11428         * modules/fstatat (Depends-on):
11429         Add stat-time.
11430         * modules/stat-time (Depends-on): Add errno, intprops.
11432 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
11434         regex: merge from glibc
11435         * lib/regcomp.c (init_word_char): Add comments.
11437 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
11439         regex: merge from glibc
11440         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
11441         * lib/regex_internal.h (internal_function): Remove.
11442         All uses removed.
11444 2017-11-20  Bruno Haible  <bruno@clisp.org>
11446         crypto/gc-sm3: Fix buffer overrun.
11447         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
11448         Reported by Coverity.
11450 2017-11-12  Jim Meyering  <meyering@fb.com>
11452         maint: shorten https://lists.gnu.org/archive/html/... links
11453         Each /archive/html/ part can be replace with /r/.
11454         Run this to induce the change:
11455         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
11456         * ChangeLog: Perform that substitution.
11457         * Makefile: Likewise.
11458         * STATUS-libposix: Likewise.
11459         * build-aux/bootstrap: Likewise.
11460         * doc/maintain.texi: Likewise.
11461         * gnulib-tool: Likewise.
11462         * lib/allocator.h: Likewise.
11463         * lib/argp-ba.c: Likewise.
11464         * lib/argp-pv.c: Likewise.
11465         * lib/canon-host.c: Likewise.
11466         * lib/canonicalize-lgpl.c: Likewise.
11467         * lib/float.in.h: Likewise.
11468         * lib/fstat.c: Likewise.
11469         * lib/getdelim.c: Likewise.
11470         * lib/getprogname.c: Likewise.
11471         * lib/glthread/thread.h: Likewise.
11472         * lib/intprops.h: Likewise.
11473         * lib/mbsrtowcs-state.c: Likewise.
11474         * lib/safe-read.c: Likewise.
11475         * lib/signal.in.h: Likewise.
11476         * lib/stat.c: Likewise.
11477         * lib/stdbool.in.h: Likewise.
11478         * lib/stdio-impl.h: Likewise.
11479         * lib/stdio.in.h: Likewise.
11480         * lib/sysexits.in.h: Likewise.
11481         * lib/timespec.h: Likewise.
11482         * lib/wcsrtombs-state.c: Likewise.
11483         * m4/alloca.m4: Likewise.
11484         * m4/extern-inline.m4: Likewise.
11485         * m4/fstatat.m4: Likewise.
11486         * m4/gnulib-common.m4: Likewise.
11487         * m4/lib-ignore.m4: Likewise.
11488         * m4/printf.m4: Likewise.
11489         * m4/regex.m4: Likewise.
11490         * m4/stat-size.m4: Likewise.
11491         * m4/std-gnu11.m4: Likewise.
11492         * m4/stdbool.m4: Likewise.
11493         * m4/sys_types_h.m4: Likewise.
11494         * m4/threadlib.m4: Likewise.
11495         * m4/vararrays.m4: Likewise.
11496         * pygnulib/GLImport.py: Likewise.
11497         * tests/test-exp.h: Likewise.
11498         * tests/test-exp2.h: Likewise.
11499         * tests/test-expm1.h: Likewise.
11500         * tests/test-fflush2.c: Likewise.
11501         * tests/test-getopt_long.h: Likewise.
11502         * tests/test-intprops.c: Likewise.
11503         * tests/test-log.h: Likewise.
11504         * tests/test-log10.h: Likewise.
11505         * tests/test-log1p.h: Likewise.
11506         * tests/test-log2.h: Likewise.
11507         * tests/test-printf-posix.h: Likewise.
11508         * tests/test-regex.c: Likewise.
11509         * tests/test-snprintf-posix.h: Likewise.
11510         * tests/test-sprintf-posix.h: Likewise.
11511         * tests/test-stdalign.c: Likewise.
11512         * tests/test-stdbool.c: Likewise.
11513         * tests/test-vasnprintf-posix.c: Likewise.
11514         * tests/test-vasprintf-posix.c: Likewise.
11515         * top/maint.mk: Likewise.
11517 2017-11-12  Bruno Haible  <bruno@clisp.org>
11519         faccessat: Make the last change more robust.
11520         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
11521         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
11523 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11525         faccessat: port to macOS (Bug#29231)
11526         macOS faccessat has the same bug that lstat does: if the file
11527         name ends in '/' it ignores the trailing slash.
11528         Problem reported for Emacs by Vincent Zhang.
11529         * doc/posix-functions/faccessat.texi (faccessat): Document this.
11530         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
11531         around the initial includes.  Include errno.h, string.h, sys/stat.h.
11532         (orig_faccessat) [HAVE_FACCESSAT]: New function.
11533         Include "unistd.h" after defining it.
11534         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
11535         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
11536         Handle in the usual way.
11537         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
11538         lstat dereferences symlinks, since faccessat is likely to
11539         have the same problem.
11540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
11541         * modules/faccessat (Depends-on): Add fstatat.
11542         Depend if REPLACE_FACCESSAT is 1, too.
11543         (configure.ac): Link if REPLACE_FACCESSAT is 1.
11544         * modules/faccessat-tests (Depends-on): Add symlink.
11545         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
11546         * tests/test-faccessat.c (main): Test for the bug.
11548 2017-11-11  Bruno Haible  <bruno@clisp.org>
11550         getprogname: Fix compilation error on IRIX.
11551         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
11552         'namesize'.
11554 2017-11-11  Bruno Haible  <bruno@clisp.org>
11556         year2038: Tweak last patch.
11557         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
11559 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11561         year2038: be more insistent about 64-bit time_t
11562         Applications requiring access to arbitrary files should not be
11563         built with 32-bit time_t on hosts that have 64-bit timestamps,
11564         as this can lead to real trouble at runtime.
11565         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
11566         Check on all systems, not just MinGW.  Use a heuristic involving
11567         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
11568         output a failure or just a warning, to make it more likely that
11569         builders will select 64-bit time_t.
11571 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
11573         havelib: fix typo in previous change
11574         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
11576         Don’t use AC_EGREP_CPP if affected by CFLAGS
11577         * m4/float_h.m4 (gl_FLOAT_H):
11578         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
11579         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
11580         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
11581         * m4/year2038.m4 (gl_YEAR2038):
11582         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
11583         likely to be affected by the choice of CFLAGS, since CFLAGS are
11584         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
11585         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
11587         fstatat: pacify GCC on unusual platform
11588         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
11589         Omit, as it’s unused in this case.
11591 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11593         timespec: prefer ‘assume’ to ‘assure’
11594         This avoids some runtime tests.  The rest of the module makes
11595         similar assumptions and there is little point to testing here.
11596         * lib/timespec.h: Include verify.h instead of assure.h.
11597         (timespec_cmp): Use ‘assume’, not ‘assure’.
11598         Also, remove an unnecessary cast to ‘int’, as lots of other
11599         code in this module now causes -Wconversion to complain, and
11600         this is a problem with -Wconversion not with the code.
11602         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
11604         Port recent gnulib-tool change to Dash
11605         * gnulib-tool (func_create_testdir): Don't assume that the shell
11606         retokenizes after expanding "$@" inside the call to
11607         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
11609 2017-10-27  Jim Meyering  <meyering@fb.com>
11611         timespec.h: use "assure" to avoid a spurious warning
11612         * lib/timespec.h: Include "assure.h" and use it to help
11613         gcc7's -Wstrict-overflow avoid a false positive warning
11614         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
11615         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
11616         * modules/timespec (Depends-on): Add assure.
11618 2017-10-29  Bruno Haible  <bruno@clisp.org>
11620         Avoid several test failures with traditional locales on Haiku.
11621         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
11622         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
11623         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
11624         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
11625         LOCALE_ZH_CN=none.
11627 2017-10-29  Bruno Haible  <bruno@clisp.org>
11629         strerror_r-posix: Fix behaviour and test failure on Haiku.
11630         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
11631         are positive. Work around return value 0 instead of ERANGE on Haiku.
11632         For unknown error numbers, use a format string consistent with perror().
11633         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
11634         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
11635         are positive.
11637 2017-10-29  Bruno Haible  <bruno@clisp.org>
11639         get-rusage-data: Avoid crash on Haiku.
11640         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
11642 2017-10-29  Bruno Haible  <bruno@clisp.org>
11644         get-rusage-as: Avoid crash on Haiku.
11645         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
11647 2017-10-29  Bruno Haible  <bruno@clisp.org>
11649         ilogbl: Ensure replacement on Haiku.
11650         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
11651         REPLACE_ILOGBL if ilogbl does not work.
11652         (gl_FUNC_ILOGBL_WORKS): New macro.
11653         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
11654         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
11655         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
11656         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
11657         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
11659 2017-10-29  Bruno Haible  <bruno@clisp.org>
11661         expl: Ensure replacement on Haiku.
11662         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
11663         zero.
11664         * doc/posix-functions/expl.texi: Mention the Haiku problem.
11666 2017-10-29  Bruno Haible  <bruno@clisp.org>
11668         math: Fix test failure on Haiku.
11669         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
11670         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
11671         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
11672         * doc/posix-headers/math.texi: Mention the Haiku problem.
11674 2017-10-29  Bruno Haible  <bruno@clisp.org>
11676         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
11677         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
11678         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
11680 2017-10-29  Bruno Haible  <bruno@clisp.org>
11682         crypto/*: Verify that the header file is self-contained.
11683         * tests/test-gc-*.c: Include the module's header file immediately after
11684         <config.h>.
11685         * tests/test-hmac-*.c: Likewise.
11686         * tests/test-arcfour.c: Likewise.
11687         * tests/test-arctwo.c: Likewise.
11688         * tests/test-des.c: Likewise.
11689         * tests/test-md2.c: Likewise.
11690         * tests/test-md4.c: Likewise.
11691         * tests/test-md5.c: Likewise.
11692         * tests/test-rijndael.c: Likewise.
11693         * tests/test-sha1.c: Likewise.
11694         * tests/test-sm3.c: Likewise.
11696 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
11697             Bruno Haible  <bruno@clisp.org>
11699         crypto/gc: fix build failure with -Werror=suggest-attribute=const
11700         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
11702 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
11704         New module: crypto/gc-sm3
11705         * lib/gc.h: Declare SM3-related stuffs.
11706         * lib/gc-gnulib.c: Support sm3 in internal functions.
11707         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
11708         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
11709         * modules/crypto/gc-sm3: Define gc-sm3 module.
11710         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
11711         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
11712         * MODULES.html.sh: List gc-sm3 module.
11714 2017-10-29  Bruno Haible  <bruno@clisp.org>
11716         random, random_r: Mention different prototypes on Haiku.
11717         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
11718         * doc/glibc-functions/random_r.texi: Likewise.
11719         * doc/glibc-functions/initstate_r.texi: Likewise.
11720         * doc/glibc-functions/setstate_r.texi: Likewise.
11722 2017-10-28  Bruno Haible  <bruno@clisp.org>
11724         posix_spawn: Avoid spurious message in configure output.
11725         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
11726         'cmp' command.
11728 2017-10-28  Bruno Haible  <bruno@clisp.org>
11730         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
11731         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
11732         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11734 2017-10-28  Bruno Haible  <bruno@clisp.org>
11736         ioctl: Override non-POSIX declaration on Haiku.
11737         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
11738         * lib/sys_ioctl.in.h: Add comment about Haiku.
11739         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
11740         * doc/glibc-headers/sys_ioctl.texi: Likewise.
11742 2017-10-28  Bruno Haible  <bruno@clisp.org>
11744         crypto/sm3: Add overview documentation to the .h file.
11745         * lib/sm3.h: Add comments.
11747 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
11749         New module: crypto/sm3
11750         This new module can be used to compute SM3 message digest of files or
11751         memory blocks according to the specification GM/T 004-2012
11752         Cryptographic Hash Algorithm SM3, published by State Cryptography
11753         Administration, China.
11754         The official SM3 cryptographic hash algorithm specification is
11755         available at
11756         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
11757         * lib/sm3.h: Declare the APIs of sm3 module.
11758         * lib/sm3.c: Implement SM3 hash algorithm.
11759         * m4/sm3.m4: m4 file for sm3 module.
11760         * modules/crypto/sm3: Define sm3 module.
11761         * tests/test-sm3.c: Implement SM3 test case.
11762         * modules/crypto/sm3-tests: Define sm3 test module.
11763         * MODULES.html.sh: List sm3 module.
11765 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
11767         gc-libgcrypt: fix undefined enum type in switch statement
11768         Resolve the following build failure:
11769         lib/gc-libgcrypt.c: In function 'gc_hash_open':
11770         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
11771         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
11772              case 0:
11773              ^~~~
11774         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
11775         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
11777 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
11779         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
11780         Resolve the following build failure:
11781         lib/gc-libgcrypt.c: In function 'gc_hash_read':
11782         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
11783         in signedness [-Werror=pointer-sign]
11784             digest = gcry_md_read (ctx->gch, 0);
11785                    ^
11786         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
11788 2017-10-26  Bruno Haible  <bruno@clisp.org>
11790         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
11791         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
11792         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
11794 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11796         glob: fix another heap buffer overflow
11797         Problem reported by Tim Rühsen in:
11798         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
11799         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
11801 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
11803         quotearg: pacify compiler re unsigned
11804         * lib/quotearg.c (quotearg_n_options):
11805         Rewrite to avoid diagnostic from overly-picky compiler.
11806         Problem reported by Sami Kerola in:
11807         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
11809         glob: fix heap buffer overflow
11810         * lib/glob.c (glob): Fix off-by-one error introduced into
11811         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
11812         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
11813         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
11814         Fix suggested by Bruno Haible.
11816 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
11818         glob: pacify fuzzer for mempcpy
11819         Problem reported by Tim Rühsen in:
11820         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
11821         * lib/glob.c (glob): Do not pass NULL to mempcpy.
11823 2017-10-12  Bruno Haible  <bruno@clisp.org>
11825         doc: Fix syntax error (regression from 2017-10-03).
11826         * doc/posix-functions/strncpy.texi: Fix syntax error.
11828 2017-10-12  Bruno Haible  <bruno@clisp.org>
11830         doc: Update for Solaris 11.3.
11831         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
11832         mention Solaris 11.3.
11833         * m4/log2.m4: Fix comments.
11834         * m4/log2f.m4: Likewise.
11835         * m4/printf.m4: Update comments.
11836         * m4/rename.m4: Likewise.
11837         * m4/strncat.m4: Likewise.
11839         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
11841 2017-10-10  Bruno Haible  <bruno@clisp.org>
11843         doc: Improve doc about ioctl.
11844         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
11845         prototype.
11847 2017-10-09  Bruno Haible  <bruno@clisp.org>
11849         wcwidth: Don't use obsolete syntax of 'test'.
11850         Reported by Eric Blake.
11851         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
11852         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
11854 2017-10-09  Bruno Haible  <bruno@clisp.org>
11856         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
11857         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
11858         and Daniel P. Berrange <berrange@redhat.com>.
11859         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
11860         on glibc systems. The getopt-pfx-core.h file declares exactly what
11861         unistd.h needs, nothing more.
11863 2017-10-08  Bruno Haible  <bruno@clisp.org>
11865         vma-iter: Improve support for FreeBSD.
11866         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
11867         vma_iterate.
11868         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
11870 2017-10-08  Bruno Haible  <bruno@clisp.org>
11872         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
11873         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
11875 2017-10-07  KO Myung-Hun  <komh@chollian.net>
11877         test-framework-sh: Fix 'invalid path dir' error.
11878         On OS/2, a path separator is ';' not ':'. And ':' is used as a
11879         separator between a drive letter and directory parts.
11880         As a result, an absolute path such as x:/path/to/dir on OS/2 is
11881         treated as an invalid path dir.
11882         * tests/init.sh (PATH_SEPARATOR): Set at startup.
11883         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
11884         instead of hard coded ':'.
11886 2017-10-07  Bruno Haible  <bruno@clisp.org>
11888         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
11889         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
11890         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
11891         (rof_open): On Linux, do multiple read() calls and make sure
11892         MIN_LEFTOVER bytes are left when read() returns.
11894 2017-10-07  Bruno Haible  <bruno@clisp.org>
11896         vma-iter: Improve support for GNU/Hurd.
11897         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
11898         API, not the /proc file system.
11900 2017-10-07  Bruno Haible  <bruno@clisp.org>
11902         test-framework-sh: Don't require bash on Windows and OS/2.
11903         Reported by KO Myung-Hun.
11904         * tests/test-init.sh: Use 'shopt' only when running in bash.
11906 2017-10-06  KO Myung-Hun  <komh@chollian.net>
11908         wcwidth: check a macro version of wcwidth () as well
11909         * lib/wchar.in.h: Revert commit from 2016-01-14.
11910         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
11912 2017-10-06  Bruno Haible  <bruno@clisp.org>
11914         getopt-posix: Clarify copyright header.
11915         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
11916         * lib/getopt-pfx-core.h: Likewise.
11917         * lib/getopt-pfx-ext.h: Likewise.
11918         * lib/getopt-cdefs.in.h: Likewise.
11920 2017-10-03  Bruno Haible  <bruno@clisp.org>
11922         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
11923         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
11924         gl_HOST_CPU_C_ABI.
11926 2017-10-03  Bruno Haible  <bruno@clisp.org>
11928         doc: warn about misuse of strncpy and wcsncpy.
11929         * doc/posix-functions/strcpy.texi: Describe requirements on prior
11930         memory allocation.
11931         * doc/posix-functions/wcscpy.texi: Likewise.
11932         * doc/posix-functions/strncpy.texi: Describe what this function is not
11933         useful for.
11934         * doc/posix-functions/wcsncpy.texi: Likewise.
11936 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11938         fsuage: fix typo in previous change
11939         * lib/fsusage.c: Remove stray include of full-read.h.
11940         Problem reported by Sam Steingold for macOS (Bug#28669).
11942 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
11944         fsusage: remove SVR2 support
11945         SVR2 was obsolete by 1986 and is no longer supported by anybody,
11946         and its code was getting in the way of use of this module by
11947         Emacs, which has its own ‘read’ function anyway.
11948         * lib/fsusage.c: Do not include sys/filsys.h.
11949         (get_fs_usage): Remove SVR2-specific code.
11950         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
11951         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
11952         * modules/fsusage (Depends-on): Do not depend on full-read.
11954         Simplify autoupdate of licenses
11955         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
11956         place.
11958 2017-10-01  Bruno Haible  <bruno@clisp.org>
11960         vma-iter: Add support for GNU/Hurd.
11961         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
11962         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
11964 2017-09-30  Bruno Haible  <bruno@clisp.org>
11966         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
11967         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
11968         fail when module 'largefile' is in use.
11969         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
11970         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
11971         Don't test HAVE_SYS_PROCFS_H.
11973 2017-09-30  Bruno Haible  <bruno@clisp.org>
11975         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
11976         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
11977         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
11978         * modules/havelib (Depends-on): Add host-cpu-c-abi.
11980 2017-09-30  Bruno Haible  <bruno@clisp.org>
11982         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
11983         * lib/uniname/uniname.c (unicode_name_character): Add braces around
11984         scope of local variables.
11986 2017-09-28  Bruno Haible  <bruno@clisp.org>
11988         string: code style
11989         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
11990         substitutable variables.
11991         * modules/string (Makefile.am): Likewise.
11993 2017-09-26  Bruno Haible  <bruno@clisp.org>
11995         uniname/uniname-tests: Tighten code.
11996         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
11997         local variables into one.
11999 2017-09-26  Bruno Haible  <bruno@clisp.org>
12001         vma-iter: Improvements for Linux and BSD platforms.
12002         - Add support for DragonFly BSD.
12003         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
12004         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
12005         Read the entire file into memory in a single system call.
12006         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
12007         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
12009 2017-09-26  Bruno Haible  <bruno@clisp.org>
12011         vma-iter: Provide the protection flags on FreeBSD.
12012         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
12013         skip three fields between the addresses and the protection flags.
12015 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12017         glob: remove bogus extern decl
12018         * lib/glob.c (__glob_pattern_type): Remove now-spurious
12019         extern declaration.  Problem reported by Adhemerval Zanella in:
12020         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
12022 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12024         uniname/uniname-tests: integer overflow fix
12025         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
12026         Check for integer overflow.
12028         duplocale-tests: fix unlikely crash
12029         * tests/test-duplocale.c (get_locale_dependent_values):
12030         Don’t crash with absurdly long month names.
12032         maint: fix overflow checking in nap.h
12033         * modules/chown-tests:
12034         * modules/fchownat-tests, modules/fdutimensat-tests:
12035         * modules/futimens-tests, modules/lchown-tests:
12036         * modules/stat-time-tests, modules/utime-tests:
12037         * modules/utimens-tests, modules/utimensat-tests:
12038         Depend on intprops.
12039         * tests/nap.h: Include intprops.h.
12040         (diff_timespec): Handle overflow properly.
12042         sys_types: update URL
12043         * m4/sys_types_h.m4: Use https: URL.
12045         parse-datetime: fix dependency
12046         * modules/parse-datetime (Depends-on): Depend
12047         on nstrftime, not strftime.
12049         parse-datetime, posixtm: avoid uninit access
12050         * lib/parse-datetime.y (parse_datetime2):
12051         * lib/posixtm.c (posixtime):
12052         Do not access uninitialized storage, even though the resulting
12053         value is never used.
12055 2017-09-25  Bruno Haible  <bruno@clisp.org>
12057         vma-iter: Improvements for BSD platforms.
12058         - Add support for GNU/kFreeBSD.
12059         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
12060         - Speed up on OpenBSD.
12061         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
12062         (vma_iterate_bsd): New function.
12063         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
12064         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
12065         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
12066         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
12068 2017-09-23  Bruno Haible  <bruno@clisp.org>
12070         strfmon_l: New module.
12071         * modules/strfmon_l: New file.
12072         * lib/strfmon_l.c: New file.
12073         * m4/strfmon_l.m4: New file.
12074         * doc/posix-functions/strfmon_l.texi: Mention the new module.
12075         * modules/strfmon_l-tests: New file.
12076         * tests/test-strfmon_l.c: New file.
12078         monetary: New module.
12079         * modules/monetary: New file.
12080         * lib/monetary.in.h: New file.
12081         * m4/monetary_h.m4: New file.
12082         * doc/posix-headers/monetary.texi: Mention the new module.
12083         * modules/monetary-tests: New file.
12084         * tests/test-monetary.c: New file.
12085         * modules/monetary-c++-tests: New file.
12086         * tests/test-monetary-c++.cc: New file.
12087         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
12089 2017-09-23  Bruno Haible  <bruno@clisp.org>
12091         duplocale tests: Fix test crash on Linux/x86.
12092         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
12093         locale from the current thread before freeing it.
12095 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
12097         mktime: port to OpenVMS
12098         Problem reported by John E. Malmberg in:
12099         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
12100         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
12102 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12104         manywarnings: port to GCC on 64-bit MS-Windows
12105         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
12106         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
12107         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
12109 2017-09-13  Bruno Haible  <bruno@clisp.org>
12111         all: Replace many more http URLs by https URLs. Update stale URLs.
12112         * users.txt: Remove mention of 'newts'.
12113         * lib/localename.c: Update comment about LANG_SOTHO.
12115 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12117         all: Replace many http URLs by https URLs.
12119 2017-09-12  Bruno Haible  <bruno@clisp.org>
12121         doc: Prefer https URLs where possible.
12122         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
12123         * doc/ld-output-def.texi: Remove unavailable URL.
12125 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12127         maintainer-makefile: FTP -> HTTPS
12128         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
12129         of FTP, which is planned to be decommissioned on 2017-11-01.
12131 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
12133         libc-config: Fix __GNUC_PREREQ macro.
12134         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
12135         __GNUC_MINOR.
12137 2017-09-09  Bruno Haible  <bruno@clisp.org>
12139         gnulib-tool: Simplify commit from 2015-08-20.
12140         * gnulib-tool (func_add_or_update): Remove local variable
12141         is_binary_file.
12143 2017-09-08  Bruno Haible  <bruno@clisp.org>
12145         stddef: Avoid conflict with system-defined max_align_t.
12146         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
12147         Reported by Werner Lemberg <wl@gnu.org> in
12148         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
12149         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
12150         (max_align_t): Define as a macro.
12151         (GNULIB_defined_max_align_t): New macro. Guards against multiple
12152         definitions of rpl_max_align_t in different copies of gnulib-generated
12153         <stddef.h>.
12155 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12157         libc-config: port to MSVC
12158         Problems reported by Gisle Vanem in:
12159         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
12160         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
12161         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
12162         * m4/__inline.m4: New file.
12163         * modules/libc-config (Files): Add it.
12164         (Depends-on): Use it.
12166         glob: Use enum for __glob_pattern_type result
12167         From a patch proposed by Adhemerval Zanella in:
12168         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
12169         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
12170         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
12171         * lib/glob_internal.h (__glob_pattern_type):
12172         * lib/glob.c (glob):
12173         * lib/glob_pattern_p.c (__glob_pattern_p):
12174         Use them.
12176         glob: fix for use in glibc
12177         Problem reported by Adhemerval Zanella in:
12178         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
12179         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
12180         Do not redefine if _LIBC.
12182 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12184         glob: fix bugs with long login names
12185         Problem reported by Adhemerval Zanella in:
12186         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
12187         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
12188         (glob): Use the same scratch buffer for both getlogin_r and
12189         getpwnam_r.  Don’t require preallocation of the login name.  This
12190         simplifies storage allocation, and corrects the handling of
12191         long login names.
12193 2017-09-02  Bruno Haible  <bruno@clisp.org>
12195         dirent: Update doc.
12196         * doc/posix-headers/dirent.texi: More concrete list of platforms.
12198 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12200         glob: fix getpwnam_r errno typo
12201         * lib/glob.c (glob): Fix longstanding misuse of errno after
12202         getpwnam_r, which returns an error number rather than setting
12203         errno.
12205         glob: fix typo in recent change
12206         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
12207         Fix recently-introduced typo.
12209 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12211         glob: don't save and restore errno unnecessarily
12212         * lib/glob.c (glob): Don't save and restore errno
12213         merely because we have getpwnam_r.
12215         glob: don't assume getpwnam_r
12216         * lib/glob.c (glob): Port recent patches to platforms
12217         lacking getpwnam_r.
12219         scratch_buffer: don’t use private glibc API
12220         Suggested by Florian Weimer in:
12221         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
12222         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
12223         * lib/scratch_buffer_grow.c: Rename to
12224         lib/malloc/scratch_buffer_grow.c.
12225         * lib/scratch_buffer_grow_preserve.c: Rename to
12226         lib/malloc/scratch_buffer_grow_preserve.c.
12227         * lib/scratch_buffer_set_array_size.c: Rename to
12228         lib/malloc/scratch_buffer_set_array_size.c.
12229         * lib/scratch_buffer.h: New file.
12230         * modules/scratch_buffer (Files, Makefile.am):
12231         Adjust to source-file renaming.
12233 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12235         glob: use scratch_buffer instead of extend_alloca
12236         Much of the lib/glob.c part of this patch comes from a glibc patch
12237         proposed by Adhemerval Zanella in:
12238         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
12239         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
12240         included via glob.h, does this for us now.
12241         (__set_errno): Remove, as libc-config does this for us now.
12242         Include <scratch_buffer.h>.
12243         (GETPW_R_SIZE_MAX): Remove.
12244         (glob): Use struct scratch_buffer instead of extend_alloca.
12245         * lib/glob.in.h: Include libc-config.h rather than
12246         including <sys/cdefs.h> conditionally.
12247         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
12248         (__glibc_unlikely, __restrict, weak_alias):
12249         Remove, as libc-config does this for us now.
12250         * m4/glob.m4 (gl_PREREQ_GLOB):
12251         Remove sys/cdefs.h tests; no longer needed.
12252         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
12253         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
12255         scratch_buffer: new module
12256         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
12257         * lib/scratch_buffer_grow_preserve.c:
12258         * lib/scratch_buffer_set_array_size.c:
12259         New files, copied from glibc with very minor changes that can be
12260         copied back.
12261         * modules/scratch_buffer: New file.
12263         libc-config: new module
12264         * MODULES.html.sh: Add libc-config.
12265         * lib/cdefs.h: New file, copied from the GNU C Library with very
12266         minor changes that can be copied back.
12267         * lib/libc-config.h, modules/libc-config: New files.
12269 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12271         glob: match dangling symlinks
12272         This fixes a bug I inadvertently introduced to Gnulib when I
12273         merged glibc glob back into gnulib on 2007-10-16.  This fix is
12274         inspired by a patch proposed for glibc by Adhemerval Zanella in:
12275         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
12276         * doc/posix-functions/glob.texi: Update list of affected platforms.
12277         * lib/glob.c (__lstat64): New macro.
12278         (is_dir): New function.
12279         (glob, glob_in_dir): Match symlinks even if they are dangling.
12280         (link_stat, link_exists_p): Remove.  All uses removed.
12281         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
12282         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
12283         * modules/glob-tests (Depends-on): Add symlink.
12284         * tests/test-glob.c: Include errno.h, unistd.h.
12285         (BASE): New macro.
12286         (main): Test dangling symlinks, if symlinks are supported.
12288         glob, backupfile: inode 0 is a valid inode number
12289         * doc/posix-functions/readdir.texi (readdir):
12290         * doc/posix-headers/dirent.texi (dirent.h):
12291         Document more readdir portability issues.
12292         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
12293         (numbered_backup): Don’t treat inode 0 any differently from
12294         other inode values.
12295         * lib/glob.c (struct readdir_result): Remove skip_entry member.
12296         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
12297         All uses removed.
12298         * modules/glob (Depends-on): Remove d-ino.
12300         glob: simplify symlink detection
12301         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
12302         uint8_t, as C99 does not require uint8_t.
12303         (struct readdir_result): Use it.  Do not define skip_entry unless
12304         it is needed; this saves a byte on platforms lacking d_ino.
12305         (readdir_result_type, readdir_result_skip_entry):
12306         New functions, replacing ...
12307         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
12308         ... these functions, which were removed.  This makes the callers
12309         easier to read.  All callers changed.
12310         (D_INO_TO_RESULT): Now empty if there is no d_ino.
12312 2017-08-30  Pádraig Brady  <P@draigBrady.com>
12314         fts-tests: tag as a longrunning-test so not included by default
12315         * modules/fts-tests: This test takes about 20s on current systems,
12316         and uses about 285M of space on ext4.
12318 2017-08-30  Pádraig Brady  <P@draigBrady.com>
12320         renameat2: fix compilation on alpine linux
12321         * m4/renameat.m4: Check for <linux/fs.h> presence.
12322         * lib/renameat2.h: Only include <linux/fs.h> if present.
12323         Reported by Assaf Gordon on Alpine Linux.
12325 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12327         glob: try to port recent changes to MS-Windows
12328         Problem reported by Bruno Haible in:
12329         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
12330         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
12331         * lib/glob.in.h (__glob_pattern_p): ... to here.
12333 2017-08-24  Eric Blake  <eblake@redhat.com>
12335         warnings: fix compilation with old autoconf
12336         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
12337         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
12338         AC_DEFUN.
12339         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
12340         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
12342 2017-08-24  Bruno Haible  <bruno@clisp.org>
12344         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
12345         * modules/glob (Depends-on): Add c99.
12347 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12349         glob: fix typo that broke platforms lacking d_ino
12350         This typo also hurt performance on GNU/Linux and similar hosts.
12351         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
12352         in previous change.
12354 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12356         glob: merge from glibc with Zanella glob changes
12357         Merge glob from glibc, with changes for glob proposed
12358         by Adhemerval Zanella in the thread starting here:
12359         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
12360         plus some fixes for this merge.
12361         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
12362         New files, ported from glibc.
12363         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
12364         with __restrict.
12365         (__size_t): Remove.  All uses replaced by size_t.
12366         (size_t): Define by defining __need_size_t and including <stddef.h>.
12367         This should work even in non-glibc platforms, where any name
12368         pollution is OK.
12369         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
12370         (struct stat64): Don’t worry about __GLOB_GNULIB.
12371         (glob, globfree, glob_pattern_p): Remove macros for
12372         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
12373         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
12374         but set errno.
12375         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
12376         removed since the glibc behavior works on null pointers.
12377         Do not include stdio.h; old SunOS is irrelevant now.
12378         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
12379         Include glob_internal.h.
12380         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
12381         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
12382         worked only coincidentally.
12383         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
12384         Remove macros; now done in glob.in.h.
12385         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
12386         (glob): Properly initialize glob structure with
12387         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
12388         Remove old code using SHELL since Bash no longer
12389         uses this.
12390         (glob, prefix_array): Separate MS code better.
12391         (glob, glob_in_dir): Use C99 decls before statements when glibc
12392         does.
12393         (glob_in_dir): Remove old Amiga and VMS code.
12394         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
12395         separate files.
12396         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
12397         (__glibc_unlikely):
12398         Move here from glob.c.
12399         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
12400         (weak_alias): New macro.
12401         (__size_t): Remove.  All uses replaced by size_t.
12402         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
12403         * modules/glob (Files): Add +lib/glob_internal.h,
12404         lib/glob_pattern_p.c, lib/globfree.c.
12405         (Depends-on): Remove snippet/arg-nonnull.
12407 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
12409         glob: port to clang's Undefined Sanitizer
12410         Problem reported by Tim Rühsen in:
12411         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
12412         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
12413         (glob_in_dir): Do not rely on undefined behavior in accessing
12414         struct members beyond their bounds.  Use a flexible array member
12415         instead.
12417 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
12419         vc-list-files: port to Solaris 10
12420         * build-aux/vc-list-files: Don't assume test -e works.
12422 2017-08-21  Karl Berry  <karl@freefriends.org>
12424         * doc/posix-functions/srandom.texi (srandom): typo }.
12426 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12428         git-version-gen: port to Solaris 10
12429         Problem reported by Dagobert Michelsen in:
12430         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
12431         * build-aux/git-version-gen (v_from_git):
12432         Use expr instead of shell substitution.
12434 2017-08-19  Bruno Haible  <bruno@clisp.org>
12436         host-cpu-c-abi: Improve detection of MIPS ABI.
12437         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
12438         _MIPS_SIM.
12440 2017-08-17  Bruno Haible  <bruno@clisp.org>
12442         hypot tests: Fix test failure on FreeBSD 11.0/x86.
12443         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
12445 2017-08-17  Bruno Haible  <bruno@clisp.org>
12447         float: Fix LDBL_MIN value on FreeBSD/x86.
12448         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
12450 2017-08-17  Bruno Haible  <bruno@clisp.org>
12452         random: Fix test compilation failure on Cygwin 1.5.25.
12453         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
12454         HAVE_DECL_SETSTATE.
12455         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
12456         declared.
12457         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
12458         HAVE_DECL_SETSTATE.
12459         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
12460         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
12461         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
12462         * doc/posix-functions/random.texi: Likewise.
12463         * doc/posix-functions/setstate.texi: Likewise.
12464         * doc/posix-functions/srandom.texi: Likewise.
12466 2017-08-16  Bruno Haible  <bruno@clisp.org>
12468         stdnoreturn: Fix test compilation failure on Cygwin.
12469         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
12470         <stdnoreturn.h> replacement.
12471         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
12472         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
12474 2017-08-16  Bruno Haible  <bruno@clisp.org>
12476         thread: Fix conflict with pthread_sigmask module.
12477         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
12478         it's defined as a macro.
12479         * modules/thread (Depends-on): Add pthread_sigmask.
12481 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
12483         rename: port better to NetBSD
12484         * doc/posix-functions/rename.texi (rename): NetBSD 7
12485         does not have the link-count bug.
12486         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
12487         broken merely because rename ("a", "b") removes "a" when the two
12488         names are hard links to the same file.
12490 2017-08-16  Bruno Haible  <bruno@clisp.org>
12492         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
12493         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
12494         the target file names with '$(srcdir)/'.
12495         * modules/unicase/locale-language (Makefile.am): Likewise.
12496         * modules/unicase/special-casing (Makefile.am): Likewise.
12497         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
12498         * modules/unictype/category-byname (Makefile.am): Likewise.
12499         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
12500         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
12501         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
12502         * modules/unictype/property-byname (Makefile.am): Likewise.
12503         * modules/unictype/scripts (Makefile.am): Likewise.
12504         * modules/uninorm/composition (Makefile.am): Likewise.
12506 2017-08-16  Bruno Haible  <bruno@clisp.org>
12508         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
12509         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
12510         value for OpenBSD.
12512 2017-08-16  Bruno Haible  <bruno@clisp.org>
12514         rename, renameat: Update doc regarding NetBSD.
12515         * doc/posix-functions/rename.texi: Clarify that when using
12516         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
12517         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
12518         version.
12520 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12522         renameat2: port better to macOS
12523         * lib/renameat2.c (renameat2): Use renameatx_np if available.
12525         futimens: don’t assume struct timespec layout
12526         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
12527         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
12528         * tests/test-fdutimensat.c (main):
12529         * tests/test-futimens.h (test_futimens):
12530         * tests/test-lutimens.h (test_lutimens):
12531         * tests/test-utimens.h (test_utimens):
12532         * tests/test-utimensat.c (main):
12533         Don’t assume that struct timespec is a two-member structure in
12534         tv_sec, tv_nsec order.  Although this is true on all platforms we
12535         know about, POSIX does not guarantee it.
12537         rename: document+test NetBSD rename
12538         Test failure reported by Bruno Haible in:
12539         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
12540         This is an area where NetBSD is better-behaved than POSIX,
12541         so allow the NetBSD behavior in tests.
12542         * doc/posix-functions/rename.texi:
12543         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
12544         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
12546 2017-08-15  Bruno Haible  <bruno@clisp.org>
12548         renameat: Ensure declaration in <stdio.h> on NetBSD.
12549         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
12550         * doc/posix-functions/renameat.texi: Mention this problem.
12552 2017-08-15  Bruno Haible  <bruno@clisp.org>
12554         duplocale: Work around NetBSD 7.0 bug.
12555         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
12556         * lib/duplocale.c: Add comment about NetBSD problem.
12557         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
12559 2017-08-15  Bruno Haible  <bruno@clisp.org>
12561         duplocale tests: Verify use with *_l functions.
12562         * modules/duplocale-tests (configure.ac): Test for uselocale and
12563         some *_l functions.
12564         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
12565         from main.
12566         (get_locale_dependent_values_from, test_with_locale_parameter): New
12567         functions.
12568         (main): Test both test_with_uselocale and test_with_locale_parameter.
12570 2017-08-15  Bruno Haible  <bruno@clisp.org>
12572         extensions: Enable NetBSD specific extensions.
12573         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
12575 2017-08-14  Bruno Haible  <bruno@clisp.org>
12577         open, openat: Update doc about O_CLOEXEC.
12578         * doc/posix-functions/open.texi: More concrete list of platforms.
12579         * doc/posix-functions/openat.texi: Likewise.
12581 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12583         open: support O_CLOEXEC
12584         * NEWS, doc/posix-functions/open.texi:
12585         * doc/posix-functions/openat.texi: Document this.
12586         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
12587         (GNULIB_defined_O_CLOEXEC): New symbol.
12588         * lib/open.c: Include cloexec.h.
12589         (open): Support O_CLOEXEC.
12590         * lib/openat.c: Include cloexec.h.
12591         (rpl_openat): Support O_CLOEXEC.
12592         * lib/popen-safer.c: Do not include cloexec.h.
12593         (open_noinherit): Remove.
12594         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
12595         * lib/save-cwd.c: Do not include cloexec.h.
12596         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
12597         * m4/open-cloexec.m4: New file.
12598         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
12599         Replace 'open' if O_CLOEXEC is not present.
12600         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
12601         Replace 'openat' if O_CLOEXEC is not present.
12602         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
12603         * modules/open (Files): Add m4/open-cloexec.m4.
12604         (Depends-on): Depend on cloexec if replacing 'open'.
12605         * modules/openat (Files): Add m4/open-cloexec.m4.
12606         (Depends-on): Depend on cloexec if replacing openat.
12607         * modules/popen-safer (Depends-on): Remove cloexec.
12608         * modules/save-cwd (Depends-on): Remove cloexec, and add
12609         fd-safer-flag and 'open'.
12611 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
12613         reallocarray: minor fixes
12614         * doc/glibc-functions/reallocarray.texi: Update version numbers.
12615         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
12616         * modules/reallocarray (License): Change from GPL to LGPL.
12617         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
12618         Indent properly and don't use tabs.
12620 2017-08-13  Darshit Shah  <darnir@gnu.org>
12622         reallocarray: New module
12623         reallocarray is a new function in glibc 2.26 to safely allocate an array
12624         of memory locations with integer overflow protection.
12625         * MODULES.html.sh: Add reallocarray.
12626         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
12627         * lib/reallocarray.c: New file to implement module reallocarray.
12628         * lib/stdlib.in.h: Add function declarations for reallocarray.
12629         * m4/reallocarray.m4: New file.
12630         * m4/stdlib_h.m4: Declare reallocarray.
12631         * modules/reallocarray: New file.
12632         * modules/reallocarray-test: New file.
12633         * modules/stdlib: Coerce stdlib.h to export reallocarray.
12634         * tests/test-reallocarray.c: New test.
12636 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12638         dirent-safer: fix cloexec race
12639         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
12640         (opendir_safer): Use F_DUPFD_CLOEXEC.
12641         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
12642         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
12643         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
12644         instead of dup_safer.
12646         fts: fix cloexec races
12647         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
12648         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
12649         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
12650         (fd_ring_check): Set cloexec flag on new file descriptors.
12651         (fts_build, fd_ring_check): While we’re at it, make sure the
12652         resulting file descriptor is not 0, 1, or 2, since that is easy.
12654 2017-08-11  Bruno Haible  <bruno@clisp.org>
12656         fts tests: Fix link error.
12657         Reported by Tom G. Christensen in
12658         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
12659         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
12661 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12663         fts: port recent changes to CentOS 6
12664         Problem reported by Tom G. Christensen in:
12665         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
12666         * lib/fts.c (fsword): New type.
12667         (struct dev_type, filesystem_type): Use it.
12668         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
12669         Also, check for f_type only if fstatfs and sys/vfs.h work.
12671 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12673         tempname: do not depend on secure_getenv
12674         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
12675         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
12676         * modules/tempname (Depends-on): Remove secure_getenv.
12678 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
12680         extensions: add _OPENBSD_SOURCE
12681         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
12683 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
12684             Bruno Haible  <bruno@clisp.org>
12686         manywarnings: Add support for C++.
12687         * build-aux/g++-warning.spec: New file.
12688         * m4/manywarnings-c++.m4: New file.
12689         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
12690         redirects to manywarnings-c++.m4.
12691         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
12693 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
12695         git-version-gen: another fix for tags with "-"
12696         * build-aux/git-version-gen: Improve fix for tags containing "-".
12697         Suggested by Markus Armbruster in:
12698         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
12700 2017-08-06  Bruno Haible  <bruno@clisp.org>
12702         warnings, manywarnings: Add support for multiple languages, not just C.
12703         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
12704         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
12705         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
12706         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
12707         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
12708         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
12709         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
12710         of the current language. If C++ is the current language, modify
12711         WARN_CXXFLAGS instead of WARN_CFLAGS.
12712         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
12713         gl_MANYWARN_ALL_GCC.
12714         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
12716 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
12718         git-version-gen: Fix for tags containing '-'
12720         Really old versions of git-describe (before v1.5.0, Feb 2007)
12721         don't have the number of commits in their long format output,
12722         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
12723         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
12724         recognizes both patterns, and normalizes the old format to the new one.
12726         Unfortunately, this normalization code gets confused when the tag
12727         contains '-'.  Reproducer:
12729             $ git-tag -m test v0.2-rc1
12730             $ build-aux/git-version-gen .tarball-version; echo
12731             build-aux/git-version-gen: WARNING: git rev-list failed
12732             UNKNOWN
12734         We take exact tag "v0.2-rc1" for the old format, extract the presumed
12735         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
12736         commits since tha tag.  Fails, because tag "v0.2" does not exist.
12738         * git-version-gen: We could perhaps drop support for versions from
12739         more than a decade ago.  But tightening the pattern match is easy
12740         enough, so do that.  Still breaks when you use version tags ending in
12741         something matching -g????, but you arguably get what you deserve then.
12743 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
12745         valgrind-tests: use ls, and cache
12746         * m4/valgrind-tests.m4: Test ls, not bash.
12747         Problem reported by Reuben Thomas.
12748         Also, cache the result so that it can be overridden.
12750 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
12752         manywarnings: port to 64-bit GCC builds of Emacs
12753         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
12754         object size rather than hardwiring 2147483647.  This is needed to
12755         build GNU Emacs, which has one conditional (and used
12756         only-in-theory) call to malloc with a literal greater than
12757         2147483647.
12759 2017-08-04  Bruno Haible  <bruno@clisp.org>
12761         Relax the license of some modules with no runtime code.
12762         * modules/std-gnu11 (License): Set to 'unlimited'.
12763         * modules/c99 (License): Likewise.
12764         Reported by Reuben Thomas <rrt@sc3d.org>.
12765         * modules/d-ino (License): Set to 'LGPL'.
12766         * modules/host-os (License): Likewise.
12767         * modules/longlong (License): Likewise.
12769 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12771         renameat2: port to RHEL 7 + NFS
12772         * lib/renameat2.c (renameat2) [SYS_renameat2]:
12773         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
12774         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
12776 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
12778         renameat2: port to non-renameat platforms
12779         Problem reported for MSVC-2015 by Gisle Vanem in:
12780         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
12781         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
12782         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
12784 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
12786         manywarnings: port to 32-bit GCC bug
12787         Problem reported by Pino Toscano in:
12788         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
12789         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
12790         not 2**63 - 1, to work around the following GCC bug:
12791         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
12793 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
12795         backupfile: new function to validate backup suffix
12796         * lib/backupfile.c (set_simple_backup_suffix): New function.
12797         (backupfile_internal): Use it.
12799         canonicalize: fix EOVERFLOW commentary
12800         Problem reported by Bruno Haible in:
12801         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
12802         * lib/canonicalize.c (canonicalize_filename_mode):
12803         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
12805         Don't interpret EOVERFLOW to mean nonexistence
12806         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
12807         may be EOVERFLOW; this is likely more useful than reporting the
12808         stat errno.
12809         * lib/glob.c (link_stat): Rename from link_exists2_p and
12810         return -1/0 instead of 0/1.  Caller changed.
12811         * lib/glob.c (link_exists_p):
12812         * lib/renameat2.c (rename_noreplace, renameat2):
12813         * lib/tempname.c (try_nocreate):
12814         If errno == EOVERFLOW then the directory entry exists, so do not
12815         act as if it does not exist.
12817         backup-rename: new module
12818         It is like backupfile, except it avoids some race conditions,
12819         and it does not output to stderr or exit.
12820         * MODULES.html.sh: Add backup-rename.
12821         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
12822         * modules/backup-rename: New files.
12823         * lib/backupfile.c: Turn this into an internals file, which
12824         contains code common to backupfile and backup_rename.  Include
12825         backupfile-internal.h instead of backupfile.h.  Do not include
12826         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
12827         renameat2.h and fcntl.h.
12828         (BACKUP_NOMEM): New constant.
12829         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
12830         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
12831         (backupfile_internal): Rename from find_backup_file_name.
12832         Support new arg RENAME.
12833         (backup_args, backup_types, get_version, xget_version):
12834         Move to lib/backup-find.c.
12835         * lib/backupfile.h (backup_file_rename): New decl.
12836         * modules/backupfile (Files): Add lib/backup-internal.h,
12837         lib/backup-find.c.
12838         (Depends-on): Add dirfd, fcntl, renameat2.
12839         (lib_SOURCES): Add backup-find.c.
12841         renameat2: port better to older Solaris
12842         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
12843         Add goto to use a label, to silence picky compilers.
12845         fts-tests: port to gcc -Wwrite-strings
12846         * tests/test-fts.c (base, base_d): New static vars.
12847         (argv, remove_tree, main): Use them.
12849 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
12851         relocatable-lib{,-lgpl}: improve documentation
12852         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
12853         Various other updates.
12855 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
12856             Bruno Haible  <bruno@clisp.org>
12858         relocatable-lib{,-lgpl}: add Valgrind suppressions
12859         * lib/relocatable.valgrind: New file.
12860         * modules/relocatable-lib (Files): Add relocatable.valgrind.
12861         * modules/relocatable-lib-lgpl: Likewise.
12863 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
12865         relocatable: Make the license on the sources the GPL.
12866         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
12867         LGPL, which was a special case so that the relocatable source files
12868         could be used without gnulib-tool, to GPL. They can still be used under
12869         the LGPL, using the --lgpl option to gnulib-tool.
12871 2017-07-30  Bruno Haible  <bruno@clisp.org>
12873         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
12874         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
12875         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
12876         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
12877         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
12879 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
12881         faccessat: document AT_SYMLINK_NOFOLLOW issue
12882         * doc/posix-functions/faccessat.texi: Modernize platform list.
12883         Document AT_SYMLINK_NOFOLLOW limitation.
12885         renameat2: port to Solaris 10
12886         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
12887         with AT_SYMLINK_NOFOLLOW (which is not portable).
12888         (renameat): Undef before using, to avoid endless recursion when
12889         the replacement renameat calls renameat2 which calls the
12890         replacement renameat.
12891         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
12892         * modules/renameat2 (Depends-on): Remove faccessat.
12893         * modules/renameat-tests (test_renameat_LDADD):
12894         * modules/renameat2-tests (test_renameat2_LDADD):
12895         Remove $(LIB_EACCESS).
12897         renameat2: new module
12898         Although the Linux syscall renameat2 is not in glibc (yet?), it is
12899         useful to have access to its RENAME_NOREPLACE flag.
12900         * MODULES.html.sh (func_all_modules): Add renameat2.
12901         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
12902         * modules/renameat2-tests, tests/test-renameat2.c: New files.
12903         * lib/renameat.c (renameat): Move most of the implementation
12904         to renameat2, and just call renameat2.
12905         * modules/renameat (Files): Remove lib/at-func2.c.
12906         (Depends-on): Depend only on renameat2.
12907         (Include): Remove <fcntl.h>.
12908         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
12909         since renameat (via renameat2) might use faccessat.
12911 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
12913         vc-list-files: Adjust the script to support git worktrees
12914         * build-aux/vc-list-files: Require existence, not directory.
12916 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
12918         doc: bring MODULES.html.sh up to date
12919         Somehow a few months ago we stopped updating MODULES.html.sh.
12920         I don’t recall explicitly deciding this, so I updated it now.
12921         Alternatively I suppose we could remove it.
12922         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
12923         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
12924         truncate, utime, utime-h, windows-stat-inodes,
12925         windows-stat-override, windows-stat-timespec, year2038.  Sort.
12927 2017-07-26  Jim Meyering  <meyering@fb.com>
12929         fprintftime: fix build-break caused by recent renaming
12930         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
12931         "strftime.c".
12932         * modules/fprintftime: Depend directly on nstrftime.
12934 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
12936         regex: work with GCC7's -Werror=implicit-fallthrough=
12937         * lib/regex_internal.h (FALLTHROUGH): New macro.
12938         * lib/regcomp.c (peek_token_bracket, parse_expression):
12939         * lib/regexec.c (check_node_accept): Use it.
12941 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12943         fts: simplify fts_build
12944         * lib/fts.c (fts_build): Simplify, and be lazier about
12945         calling leaf_optimization.
12947         fts: three levels of leaf optimization
12948         * lib/fts.c (enum leaf_optimization): New type with three values.
12949         (S_MAGIC_AFS): New macro.  Sort them.
12950         (leaf_optimization): Rename from leaf_optimization_applies, and
12951         return enum leaf_optimization instead of bool.  All uses changed.
12952         Add cases for unknown type and for AFS.
12953         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
12955         fts: cache dirent_inode_sort_may_be_useful too
12956         * lib/fts.c (struct dev_type): New struct.
12957         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
12958         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
12959         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
12960         Now takes FTSENT const *, not int.  All uses changed.  Use
12961         filesystem_type to cache.
12962         (link_count_optimize_ok): Remove.  Caller changed to use
12963         leaf_optimization_applies, which now uses shared cache.
12965         fts: introduce MIN_DIR_NLINK
12966         * lib/fts.c (MIN_DIR_NLINK): New constant.
12967         Use it instead of 2, whenever we are talking about link counts.
12969         fts: nlink_t signedness fixups
12970         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
12971         so that root need not be a special case later.
12972         (fts_read): Remove now-redundant test for fts_level.
12973         Do not assume that nlink_t is signed.
12974         (fts_build): Remove useless decrement of nlinks.
12975         (fts_stat): Avoid unlikely signed integer overflow later, if
12976         nlink_t is signed.
12978         fts-tests: new module
12979         * modules/fts-tests, tests/test-fts.c: New files.
12981 2017-07-23  Bruno Haible  <bruno@clisp.org>
12983         Rename module 'strftime' to 'nstrftime'.
12984         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
12985         * lib/nstrftime.c: Renamed from lib/strftime.c.
12986         * modules/nstrftime: Renamed from modules/strftime.
12987         (Files, Makefile.am): Update.
12988         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
12989         Fix comment.
12990         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
12991         (Files, Makefile.am): Update.
12992         * modules/strftime: New file, an obsolete indirection.
12993         * doc/posix-functions/strftime.texi: Update reference.
12994         * config/srclist.txt: Update info.
12995         * NEWS: Mention the change.
12997 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
12999         malloca: Silence a warning from clang's memory sanitizer.
13000         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
13001         (freea): Use it.
13003 2017-07-18  Bruno Haible  <bruno@clisp.org>
13005         host-cpu-c-abi: Fix detection of MIPS ABI.
13006         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
13007         ABI, not the CPU instruction set.
13009 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13011         explicit_bzero: new module
13012         The explicit_bzero function has been added to glibc.
13013         This module is intended to supports its use in GNU programs.
13014         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
13015         * m4/explicit_bzero.m4, modules/explicit_bzero:
13016         New files.
13017         * doc/gnulib.texi (Glibc string.h): Link to new doc.
13018         * lib/string.in.h (explicit_bzero): Declare.
13019         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
13020         * modules/string (string.h): Substitute its vars.
13022 2017-07-16  Bruno Haible  <bruno@clisp.org>
13024         threadlib: Support static linking.
13025         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
13026         set gl_cv_have_weak to 'no'.
13028 2017-07-16  Bruno Haible  <bruno@clisp.org>
13030         unicase/locale-language: Fix link dependencies.
13031         * modules/unicase/locale-language (Link): New section.
13032         * modules/unicase/locale-language-tests (Makefile.am): Link
13033         test-locale-language program with $(LIBTHREAD).
13035 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
13037         sys_socket: Add support for OpenVMS.
13038         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
13039         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
13041 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
13043         sys_resource: Add support for OpenVMS.
13044         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
13045         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
13047 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
13048             Bruno Haible  <bruno@clisp.org>
13050         math: Add support for OpenVMS.
13051         * lib/math.in.h [__VMS]: Include <fp.h>.
13052         * doc/posix-headers/math.texi: Mention OpenVMS issues.
13054 2017-07-15  Bruno Haible  <bruno@clisp.org>
13056         getdtablesize: Add minimal support for OpenVMS.
13057         Reported by John E. Malmberg <wb8tyw@qsl.net>.
13058         * modules/getdtablesize (Description): Fix.
13059         * lib/getdtablesize.c: Fix comment.
13060         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
13061         getdtablesize() function, even though the test fails.
13062         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
13063         limitation on OpenVMS.
13065 2017-07-13  Bruno Haible  <bruno@clisp.org>
13067         Revisit cross-compilation guesses.
13068         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
13070 2017-07-13  Bruno Haible  <bruno@clisp.org>
13072         Improve cross-compilation guesses for native Windows.
13073         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
13074         Windows.
13075         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
13076         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
13077         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
13078         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
13079         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
13080         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
13081         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13082         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13083         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
13084         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
13085         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13086         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
13087         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
13088         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
13089         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
13090         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
13091         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
13092         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
13093         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
13094         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
13095         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
13096         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13097         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
13098         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
13099         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
13100         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
13101         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
13102         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
13103         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
13104         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
13105         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13106         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
13107         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
13108         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
13109         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
13110         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
13111         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
13112         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
13113         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
13114         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
13115         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13116         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
13117         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
13118         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
13119         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
13120         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
13121         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
13122         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
13123         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
13124         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
13125         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
13126         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
13127         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
13128         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
13129         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
13130         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
13131         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
13132         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
13133         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
13134         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
13135         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
13136         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
13137         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
13138         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
13139         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
13140         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13141         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
13142         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
13143         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
13144         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
13145         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
13146         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
13147         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
13148         * m4/regex.m4 (gl_REGEX): Likewise.
13149         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
13150         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
13151         gl_FUNC_REMAINDERF_WORKS): Likewise.
13152         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
13153         gl_FUNC_REMAINDERL_WORKS): Likewise.
13154         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
13155         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
13156         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13157         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13158         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13159         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13160         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13161         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13162         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
13163         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13164         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
13165         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
13166         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13167         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
13168         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
13169         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13170         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13171         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13172         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
13173         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
13174         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
13175         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
13176         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13177         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
13178         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
13179         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13180         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
13181         Likewise.
13182         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13183         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
13184         Windows. Enable also on Autoconf 2.70.
13185         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
13186         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
13187         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
13188         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
13189         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13190         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
13191         for native Windows.
13192         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
13193         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
13195 2017-07-13  Bruno Haible  <bruno@clisp.org>
13197         Improve cross-compilation guesses for native Windows.
13198         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
13199         Windows.
13200         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
13201         memchr.m4.
13202         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
13204 2017-07-13  Bruno Haible  <bruno@clisp.org>
13206         Improve cross-compilation guesses for native Windows.
13207         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
13208         native Windows.
13209         (gl_FUNC_FFLUSH): Update accordingly.
13210         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
13211         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
13213 2017-07-11  Bruno Haible  <bruno@clisp.org>
13215         More systematic m4 quoting and indentation.
13216         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
13217         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
13218         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
13219         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13220         * m4/host-os.m4 (gl_HOST_OS): Likewise.
13221         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
13222         gl_WINSIZE_IN_PTEM): Likewise.
13223         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
13224         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
13225         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
13226         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
13227         Correct indentation.
13228         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13229         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13230         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
13231         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
13232         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
13233         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
13235 2017-07-10  Bruno Haible  <bruno@clisp.org>
13237         round, roundf: Avoid compiler warning in configure test.
13238         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
13239         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13241 2017-07-10  Bruno Haible  <bruno@clisp.org>
13243         getlogin tests: Avoid #ifdefs when sharing code between modules.
13244         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
13245         * modules/getlogin-tests (Files): Likewise. Remove
13246         tests/test-getlogin_r.c.
13247         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
13248         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
13249         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
13250         getlogin().
13252 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
13254         getlogin: don’t assume one name per uid
13255         Problem reported by Wolfgang F. Muthmann (Bug#27640).
13256         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
13257         (ttyname): Remove test.
13258         * modules/getlogin_r-tests (ttyname): Remove test.
13259         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
13260         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
13261         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
13262         getlogin rather than getlogin_r.  This avoids code duplication.
13263         (main): Use isatty and fstat rather than ttyname and stat.
13264         Use getpwnam instead of getpwuid, to be portable to test platforms
13265         that have multiple login names for the same uid.
13267 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
13268             Bruno Haible  <bruno@clisp.org>
13270         glob: Fix more memory leaks.
13271         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
13272         returning.
13273         Reported by Tim Rühsen.
13275 2017-07-10  Bruno Haible  <bruno@clisp.org>
13277         Make sure $host and $host_os are defined when used.
13278         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
13279         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
13280         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
13281         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13282         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13283         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
13284         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
13285         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
13286         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
13287         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
13288         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
13289         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
13290         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
13291         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
13292         m4_ifdef block.
13294 2017-07-09  Bruno Haible  <bruno@clisp.org>
13296         *printf: Fix cross-compilation guess for Solaris.
13297         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
13298         2010-12-21.
13300 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13301             Bruno Haible  <bruno@clisp.org>
13303         vasnprintf: port to macOS 10.13
13304         Problem reported by comex in:
13305         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
13306         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
13308 2017-07-06  Bruno Haible  <bruno@clisp.org>
13310         imaxdiv tests: Fix logic.
13311         * tests/test-imaxdiv.c (main): Use == instead of =.
13312         Reported by Coverity.
13314 2017-07-06  Bruno Haible  <bruno@clisp.org>
13316         uninorm/filter: Fix use-after-free bug.
13317         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
13318         sortbuf == filter->sortbuf invariant.
13319         Reported by Coverity.
13321 2017-07-06  Bruno Haible  <bruno@clisp.org>
13323         glob: Fix more memory leaks.
13324         * lib/glob.c (glob): Free dirname before returning.
13325         Reported by Coverity and Tim Rühsen.
13327 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13329         parse-datetime: fix uninit var bug
13330         Reported by Bruno Haible in:
13331         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
13332         * lib/parse-datetime.y (parse_datetime2): Do not use
13333         uninitialized.
13335 2017-07-05  Bruno Haible  <bruno@clisp.org>
13337         doc: Update for MSVC 14.
13338         * doc/posix-headers/*.texi: Add info about MSVC 14.
13339         * doc/posix-functions/*.texi: Likewise.
13340         * doc/pastposix-functions/*.texi: Likewise.
13341         * doc/glibc-headers/*.texi: Likewise.
13342         * doc/glibc-functions/*.texi: Likewise.
13344 2017-07-05  Bruno Haible  <bruno@clisp.org>
13346         sched: Fix build failure on native Windows (regression from 2017-06-19).
13347         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
13349 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
13351         stdioext: Port to OpenVMS.
13352         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
13353         * lib/fpending.c (fpending): Remove non-working VMS specific code.
13354         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
13355         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
13356         * lib/fpurge.c (fpurge): Likewise.
13357         * lib/freadable.c (freadable): Likewise.
13358         * lib/freadahead.c (freadahead): Likewise.
13359         * lib/freading.c (freading): Likewise.
13360         * lib/freadptr.c (freadptr): Likewise.
13361         * lib/freadseek.c (freadseek): Likewise.
13362         * lib/fseeko.c (fseeko): Likewise.
13363         * lib/fseterr.c (fseterr): Likewise.
13364         * lib/fwritable.c (fwriteable): Likewise.
13365         * lib/fwriting.c (fwriting): Likewise.
13367 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
13369         glob: Declare variables at the very start of their scope.
13370         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
13371         its separate scope, so the functions will compile on Haiku.
13373 2017-07-01  Bruno Haible  <bruno@clisp.org>
13375         logbl: Work around a glibc bug on PowerPC64LE.
13376         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
13377         numbers.
13378         * doc/posix-functions/logbl.texi: Update.
13380 2017-06-29  Bruno Haible  <bruno@clisp.org>
13382         stat, fstat: Compile stat-w32.c only on platforms that need it.
13383         Suggested by Paul Eggert.
13384         * modules/stat (configure.ac): Request stat-w32.o only on native
13385         Windows.
13386         * modules/fstat (configure.ac): Likewise.
13388 2017-06-25  Bruno Haible  <bruno@clisp.org>
13390         stat: Improve last change.
13391         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
13393 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
13395         stat: port to xlc 12.01
13396         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
13397         12.01 complains "Compilation unit is empty."
13399 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
13401         xalloc-oversized: port to icc
13402         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
13403         __builtin_mul_overflow if ICC is defined, as this results in
13404         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
13405         20170213.
13407 2017-06-19  Bruno Haible  <bruno@clisp.org>
13409         classpath: Avoid including config.h twice, as it produces warnings.
13410         Reported by John E. Malmberg <wb8tyw@gmail.com>.
13411         * lib/classpath.h: Conditionalize the include of config.h.
13413 2017-06-19  Bruno Haible  <bruno@clisp.org>
13414             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
13416         sched: Fix compilation failure on OpenVMS.
13417         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
13418         test whether <pthread.h> exists and defines struct sched_param.
13419         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
13421 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
13423         diffseq: port to GCC 7 with --enable-gcc-warnings
13424         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
13425         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
13426         not complain about big_snake being defined but not used.
13428 2017-06-15  Bruno Haible  <bruno@clisp.org>
13430         gettext-h: Update theoretical condition for use of variable size arrays.
13431         Reported by Paul Eggert.
13432         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
13433         to include the theoretical condition for availability of variable size
13434         arrays, if we could trust the value of __STDC_VERSION__.
13436 2017-06-12  Bruno Haible  <bruno@clisp.org>
13438         Relicense some modules under LGPLv2+.
13439         Daiki Ueno's approval is in
13440         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
13441         * modules/uniwidth/base (License): Change to LGPLv2+.
13442         * modules/uniwidth/width (License): Likewise.
13444 2017-06-11  Bruno Haible  <bruno@clisp.org>
13446         localename: Fix test failure on DragonFly BSD.
13447         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
13448         like FreeBSD.
13450 2017-06-11  Bruno Haible  <bruno@clisp.org>
13452         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
13453         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
13454         * lib/float.in.h: Likewise.
13455         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
13457 2017-06-11  Bruno Haible  <bruno@clisp.org>
13459         gnulib-tool: Clean up after autotools.
13460         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
13461         useless directory left over by the Autotools.
13463 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
13465         getopt-posix: port to glibc 2.25.90
13466         Problem reported by Daniel P. Berrange in:
13467         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
13468         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
13469         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
13470         #undef if __GETOPT_PREFIX is defined.
13472 2017-06-11  Bruno Haible  <bruno@clisp.org>
13474         strtod-obsolete: Fix license.
13475         * modules/strtod-obsolete (License): Change to LGPL.
13477 2017-06-10  Jim Meyering  <meyering@fb.com>
13479         maint: update to work with GCC7's -Werror=implicit-fallthrough=
13480         * lib/savewd.c (FALLTHROUGH): Define.
13481         (savewd_save, savewd_restore): Use this, rather than a comment,
13482         whenever one switch case falls through into the next.
13484 2017-06-08  Bruno Haible  <bruno@clisp.org>
13486         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
13487         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
13488         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
13489         case.
13491 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
13493         doc: remove robots, add prereqs
13494         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
13495         builds.  Simon's robot site does not seem to be up, so remove
13496         mentions of it for now.
13498 2017-06-08  Bruno Haible  <bruno@clisp.org>
13500         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
13501         * gnulib-tool (func_symlink_target): New function, extracted from
13502         func_symlink.
13503         (func_symlink, func_symlink_if_changed): Use it.
13505 2017-06-08  Bruno Haible  <bruno@clisp.org>
13507         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
13508         * gnulib-tool (func_ln_s): Determine cp_src correctly.
13510 2017-06-07  Bruno Haible  <bruno@clisp.org>
13512         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
13513         Reported by John E. Malmberg <wb8tyw@gmail.com> in
13514         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
13515         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
13516         override, pass 2 arguments to getcwd, not 3.
13518 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
13520         same-inode: port better to VMS 8.2 and later
13521         Problem reported by John E. Malmberg in:
13522         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
13523         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
13524         Use the usual POSIX definition.
13525         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
13527 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
13529         error: fix POSIX violation for va_end
13530         Problem reported by Bruno Haible in:
13531         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
13532         * lib/error.c (error_tail): Do not call va_end here.
13533         (error, error_at_line): Call it here instead.
13535 2017-05-28  Bruno Haible  <bruno@clisp.org>
13537         c-strtod: Make it usable in C++ mode.
13538         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
13540 2017-05-25  Jim Meyering  <meyering@fb.com>
13542         quotearg: fix compilation failure due to FALLTHROUGH misuse
13543         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
13544         macro back to /* fall through */ comment.  The macro can apply only
13545         to a following case statement.  Reported by Assaf Gordon.
13547 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
13549         intprops: port to recent icc
13550         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
13551         but does not support __builtin_add_overflow etc.
13552         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
13553         Define to 0.
13555 2017-05-23  Karl Berry  <karl@freefriends.org>
13557         * config/srclist.txt (iconv.m4): sync broken, comment out
13558         until (hopefully) the next gettext release.
13560 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
13562         Remove repeated words in comments.
13564 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
13566         fallthrough: reinstate a FALLTHROUGH instance in quotearg
13567         quotearg.c: Reinstate this instance which is significant
13568         when the if branch is not taken.
13570 2017-05-21  Bruno Haible  <bruno@clisp.org>
13572         gnulib-tool: Add options to create hard links.
13573         * gnulib-tool (func_usage): Document options --hardlink,
13574         --local-hardlink, --more-hardlinks.
13575         (func_symlink): Renamed from func_ln.
13576         (func_symlink_if_changed): Renamed from func_ln_if_changed.
13577         (func_hardlink): New function.
13578         (copymode, lcopymode): New variables.
13579         (symbolic, lsymbolic): Remove variables.
13580         (Options): Implement options --hardlink, --local-hardlink,
13581         --more-hardlinks.
13582         (func_should_link): Renamed from func_should_symlink. Set copyaction.
13583         (func_add_file, func_update_file): Update invocation of
13584         func_should_link. Invoke func_hardlink when appropriate.
13585         (func_import): Update comments.
13586         (func_create_testdir): Update invocation of func_should_link. Invoke
13587         func_hardlink when appropriate.
13588         Finally, invoke 'git update-index --refresh' to mitigate the effects of
13589         the hard links on git.
13591 2017-05-20  Bruno Haible  <bruno@clisp.org>
13593         argp: Simplify bit manipulation.
13594         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
13595         on a signed integer type.
13597 2017-05-20  Bruno Haible  <bruno@clisp.org>
13599         Avoid wrong configure results with gcc -fsanitize=address.
13600         This completes the work done on 2016-02-06 on this topic.
13601         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
13602         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
13603         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13604         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
13605         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
13606         returning.
13607         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
13608         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
13609         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13610         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
13611         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
13612         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
13613         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
13614         free allocated memory before returning.
13615         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13616         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
13617         objects before returning.
13618         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
13619         returning.
13621 2017-05-20  Bruno Haible  <bruno@clisp.org>
13623         gnulib-tool: Don't create hard links between gnulib and its testdirs.
13624         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
13626 2017-05-20  Bruno Haible  <bruno@clisp.org>
13628         argp, tsearch tests: Fix file list.
13629         * modules/argp-tests (Files): Add tests/macros.h.
13630         * modules/tsearch-tests (Files): Likewise.
13632 2017-05-20  Bruno Haible  <bruno@clisp.org>
13634         getopt-posix tests: Remove redundant include.
13635         * tests/test-getopt.h: Don't include "macros.h". It's already included
13636         by tests/test-getopt-main.h.
13638 2017-05-19  Jim Meyering  <meyering@fb.com>
13640         dfa: two small simplifications
13641         * lib/dfa.c (build_state): Avoid repeating longer expressions.
13643 2017-05-18  Jim Meyering  <meyering@fb.com>
13645         fallthrough: update for GCC 7/8
13646         * lib/quotearg.c (FALLTHROUGH): New macro.
13647         Use it whenever one switch case falls through into the next,
13648         replacing "/* Fall through */" comments.  This exposed one
13649         instance of an unwarranted "fall through" comment: unwarranted
13650         because it preceded a "goto" label not a case statement.
13651         * lib/freopen-safer.c (freopen_safer): Likewise.
13652         * lib/fts.c (leaf_optimization_applies): Likewise.
13653         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
13654         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
13655         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
13656         tests/macros.h for the definition.
13657         * tests/test-argp.c (group1_parser): Likewise.
13658         * tests/test-getopt.h (getopt_loop): Likewise.
13660 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13662         argp: fix shift bug
13663         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
13664         behavior on shift overflow, caught by gcc -fsanitize=undefined.
13666         argp: fix pointer-subtraction bug
13667         * lib/argp-help.c (hol_append): Don’t subtract pointers to
13668         different arrays, as this can run afoul of -fcheck-pointer-bounds.
13669         See the thread containing Bruno Haible’s report in:
13670         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
13672 2017-05-19  Bruno Haible  <bruno@clisp.org>
13674         printf-posix tests: Avoid test failure with "gcc --coverage".
13675         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
13676         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
13677         than 5000000.
13678         * tests/test-fprintf-posix2.c (main): Likewise.
13680 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13682         closeout: don’t close stderr when sanitizing
13683         * NEWS: Document this.
13684         * lib/closeout.c (__has_feature): New macro, if not already defined.
13685         (SANITIZE_ADDRESS): New constant.
13686         (close_stdout): Don’t close stderr if sanitizing addresses.
13688 2017-05-19  Bruno Haible  <bruno@clisp.org>
13690         get-rusage-data tests: Avoid failure on Linux/glibc.
13691         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
13692         on glibc systems.
13694 2017-05-18  Bruno Haible  <bruno@clisp.org>
13696         localename: Include necessary header files on Cygwin.
13697         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
13698         where NL_LOCALE_NAME is defined.
13700 2017-05-18  Bruno Haible  <bruno@clisp.org>
13702         gettext: Update macros from gettext git.
13703         * m4/intldir.m4: Require Autoconf >= 2.60.
13704         * m4/progtest.m4: Fix typos in copyright notice.
13706 2017-05-18  Bruno Haible  <bruno@clisp.org>
13708         copy-file tests: Fix link error (regression from 2017-05-01).
13709         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13710         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
13711         $(LIB_CLOCK_GETTIME).
13713 2017-05-18  Bruno Haible  <bruno@clisp.org>
13715         unicase/special-casing: Fix incompatibility with gperf-3.0.4
13716         (regression from 2017-02-13).
13717         * lib/unicase/special-casing.in.h: Renamed from
13718         lib/unicase/special-casing.h.
13719         * modules/unicase/special-casing (Files): Add
13720         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
13721         (Makefile.am): Add rule for generating unicase/special-casing.h.
13722         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
13723         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
13724         not "special-casing.h".
13725         * lib/unicase/u*.c: Likewise.
13727 2017-05-17  Bruno Haible  <bruno@clisp.org>
13729         README: Don't ask people to read a TeXinfo file.
13730         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
13731         * README: Tell people how to read the HTML formatted manual.
13733 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
13735         parse-datetime: Fix memleak
13736         * lib/parse-datetime.y (parse_datetime2): Cleanup on
13737         localtime_rz() failure.
13739 2017-05-16  Bruno Haible  <bruno@clisp.org>
13741         javacomp: Fix handle leak.
13742         Found by Coverity.
13743         * lib/javacomp.c (get_classfile_version): Close fd before returning.
13745 2017-05-16  Bruno Haible  <bruno@clisp.org>
13747         relocate: Make it easier to reclaim allocated memory.
13748         * lib/relocatable.h (relocate2): New declaration/macro.
13749         * lib/relocatable.c (relocate2): New function.
13750         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
13751         relocate2 function.
13752         * lib/localcharset.c (relocate2): Define fallback.
13753         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
13754         allocated memory.
13755         * lib/javaversion.c (relocate2): Define fallback.
13756         (javaexec_version): Invoke relocate2 instead of relocate. Free the
13757         allocated memory.
13759 2017-05-16  Bruno Haible  <bruno@clisp.org>
13761         relocate: Simplify EMX specific code.
13762         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
13763         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
13765 2017-05-16  Bruno Haible  <bruno@clisp.org>
13767         sigpipe tests: Fix file list.
13768         * modules/sigpipe-tests (Files): Add tests/macros.h.
13770 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13772         manywarnings: update for GCC 7
13773         * build-aux/gcc-warning.spec:
13774         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
13775         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
13776         requires a non-comment fallthrough attribute.  This is a bit
13777         cleaner than the comment versions.
13778         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
13779         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
13780         Use it whenever one switch case falls through into the next.
13781         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
13782         Use FALLTHROUGH macro.
13784 2017-05-15  Bruno Haible  <bruno@clisp.org>
13786         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
13787         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
13788         @ALLOCA@, not @LTALLOCA@.
13790 2017-05-15  Bruno Haible  <bruno@clisp.org>
13792         sys_select: Avoid "was expanded before it was required" warning.
13793         * modules/sys_select (configure.ac): Require, not invoke,
13794         gl_HEADER_SYS_SELECT.
13796 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13798         gnulib-tool: improve GNU Make debugging
13799         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
13800         Report autoconf diagnostics when it fails, in the output makefile.
13802 2017-05-14  Bruno Haible  <bruno@clisp.org>
13804         stat-time tests: Improve comment.
13805         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
13807 2017-05-14  Bruno Haible  <bruno@clisp.org>
13809         same-inode: Adapt for windows-stat-inodes.
13810         * lib/same-inode.h: Include <sys/types.h>.
13811         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
13812         * modules/same-inode (Depends-on): Add sys_types.
13814 2017-05-14  Bruno Haible  <bruno@clisp.org>
13816         windows-stat-inodes: New module.
13817         * m4/windows-stat-inodes.m4: New file.
13818         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
13819         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
13820         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
13821         (_GL_WINDOWS_STAT_INODES): New macro.
13822         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
13823         (GetFileInformationByHandleExFunc): New variable.
13824         (initialize): Initialize it.
13825         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
13826         st_ino appropriately.
13827         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
13828         a fallback, because it does not provide st_dev and st_ino values.
13829         * modules/fstat (Depends-on): Add 'verify'.
13830         * modules/windows-stat-inodes: New file.
13831         * doc/windows-stat-inodes.texi: New file.
13832         * doc/gnulib.texi: Include it.
13833         * doc/posix-headers/sys_stat.texi: Mention the new module.
13835 2017-05-14  Bruno Haible  <bruno@clisp.org>
13837         stat-time tests: Workaround for native Windows.
13838         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
13839         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
13840         New variables.
13841         (initialize_filenames): New function.
13842         (main): Invoke it.
13843         (cleanup, prepare_test): Update.
13845 2017-05-14  Bruno Haible  <bruno@clisp.org>
13847         stat-time: Adapt for windows-stat-timespec.
13848         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
13849         entire st_ctim field.
13851 2017-05-13  Jim Meyering  <meyering@fb.com>
13853         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
13854         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
13855         file that uses the assume macro, claiming that verify.h is unused.
13857 2017-05-13  Bruno Haible  <bruno@clisp.org>
13859         Use symbolic values for _WIN32_WINNT.
13860         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
13861         * lib/sethostname.c (_WIN32_WINNT): Likewise.
13863 2017-05-13  Bruno Haible  <bruno@clisp.org>
13865         year2038: New module.
13866         * m4/year2038.m4: New file.
13867         * modules/year2038: New file.
13868         * doc/year2038.texi: New file.
13869         * doc/gnulib.texi: Include it.
13871 2017-05-13  Bruno Haible  <bruno@clisp.org>
13873         largefile: Simplify.
13874         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
13875         of _GL_WINDOWS_64_BIT_ST_SIZE.
13877 2017-05-13  Bruno Haible  <bruno@clisp.org>
13879         largefile: Improve and document.
13880         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
13881         the mingw headers already define 'stat' appropriately.
13882         * modules/largefile (Description): Clarify.
13883         * doc/largefile.texi: New file.
13884         * doc/gnulib.texi: Include it.
13885         * doc/posix-headers/sys_types.texi: Update.
13887 2017-05-13  Bruno Haible  <bruno@clisp.org>
13889         truncate: New module.
13890         * lib/unistd.in.h (truncate): New declaration.
13891         * lib/truncate.c: New file.
13892         * m4/truncate.m4: New file.
13893         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
13894         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
13895         REPLACE_TRUNCATE.
13896         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
13897         HAVE_TRUNCATE, REPLACE_TRUNCATE.
13898         * modules/truncate: New file.
13899         * tests/test-unistd-c++.cc (truncate): Test signature.
13900         * doc/posix-functions/truncate.texi: Mention the new module.
13902         * tests/test-truncate.c: New file.
13903         * modules/truncate-tests: New file.
13905 2017-05-13  Bruno Haible  <bruno@clisp.org>
13907         windows-stat-timespec: New module.
13908         * modules/windows-stat-timespec: New file.
13909         * m4/windows-stat-timespec.m4: New file.
13910         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
13911         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
13912         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
13913         fields st_atim, st_mtim, st_ctim.
13914         (st_atime, st_mtime, st_ctime): Define as macros.
13915         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
13916         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
13917         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
13918         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
13919         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
13920         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
13921         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
13922         FILETIME to 'struct timespec', not 'time_t'.
13923         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
13924         FILETIME to 'struct timespec', not 'time_t'.
13925         * lib/stat-time.h (STAT_TIMESPEC): Define also if
13926         _GL_WINDOWS_STAT_TIMESPEC.
13927         * doc/windows-stat-timespec.texi: New file.
13928         * doc/gnulib.texi: Include it.
13930 2017-05-13  Bruno Haible  <bruno@clisp.org>
13932         windows-stat-override: New module.
13933         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
13934         definition. Define GNULIB_defined_struct_stat.
13935         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
13936         link error if this symbol is used and the corresponding module is not
13937         in use.
13938         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
13939         GNULIB_OVERRIDES_STRUCT_STAT.
13940         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
13941         GNULIB_OVERRIDES_STRUCT_STAT.
13942         * modules/sys_stat (Makefile.am): Substitute
13943         GNULIB_OVERRIDES_STRUCT_STAT.
13944         * modules/windows-stat-override: New file.
13946 2017-05-13  Bruno Haible  <bruno@clisp.org>
13948         fstat: Fix module dependency conditions.
13949         * modules/fstat (Depends-on): Fix typo.
13951 2017-05-13  Bruno Haible  <bruno@clisp.org>
13953         stat, fstat: Complete removal of old native Windows code.
13954         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
13955         * lib/fstat.c: Likewise.
13956         * lib/stat-w32.c: Likewise.
13958 2017-05-13  Bruno Haible  <bruno@clisp.org>
13960         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
13961         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
13963 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
13965         getopt-posix: port to mingw
13966         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
13967         Problem reported by Daniel P. Berrage in:
13968         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
13970 2017-05-11  Bruno Haible  <bruno@clisp.org>
13972         gettimeofday: Increase precision on mingw.
13973         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
13974         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
13975         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
13976         GetSystemTimePreciseAsFileTime based implementation always.
13977         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
13978         mingw.
13980 2017-05-11  Bruno Haible  <bruno@clisp.org>
13982         poll: Fix confusion between SOCKETs and FDs on native Windows.
13983         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
13984         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
13986 2017-05-11  Bruno Haible  <bruno@clisp.org>
13988         doc: Clarify doc about socket functions on native Windows.
13989         This reworks doc that was added on 2008-09-29.
13990         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
13991         clearer wording.
13992         * doc/posix-functions/accept.texi: Use clearer wording.
13993         * doc/posix-functions/bind.texi: Likewise.
13994         * doc/posix-functions/connect.texi: Likewise.
13995         * doc/posix-functions/getpeername.texi: Likewise.
13996         * doc/posix-functions/getsockname.texi: Likewise.
13997         * doc/posix-functions/getsockopt.texi: Likewise.
13998         * doc/posix-functions/ioctl.texi: Likewise.
13999         * doc/posix-functions/listen.texi: Likewise.
14000         * doc/posix-functions/recv.texi: Likewise.
14001         * doc/posix-functions/recvfrom.texi: Likewise.
14002         * doc/posix-functions/send.texi: Likewise.
14003         * doc/posix-functions/sendto.texi: Likewise.
14004         * doc/posix-functions/setsockopt.texi: Likewise.
14005         * doc/posix-functions/shutdown.texi: Likewise.
14006         * doc/posix-functions/socket.texi: Likewise.
14008 2017-05-10  Bruno Haible  <bruno@clisp.org>
14010         poll: Fix link error on native Windows.
14011         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
14013 2017-05-10  Bruno Haible  <bruno@clisp.org>
14015         time: Fix missing initialization of HAVE_TIMEZONE_T.
14016         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
14017         here...
14018         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
14019         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
14020         gl_HEADER_SYS_TIME_H_DEFAULTS.
14021         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
14022         (configure.ac): Remove useless quoting.
14024 2017-05-10  Bruno Haible  <bruno@clisp.org>
14026         Implement a way to opt out from MSVC support, part 2.
14027         * modules/msvc-inval (Include): Document recommended idiom.
14028         * modules/msvc-nothrow (Include): Likewise.
14030         Implement a way to opt out from MSVC support.
14031         This is useful for Emacs.
14032         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
14033         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
14034         * lib/error.c: Likewise.
14035         * lib/fcntl.c: Likewise.
14036         * lib/flock.c: Likewise.
14037         * lib/fstat.c: Likewise.
14038         * lib/fsync.c: Likewise.
14039         * lib/ioctl.c: Likewise.
14040         * lib/isapipe.c: Likewise.
14041         * lib/lseek.c: Likewise.
14042         * lib/nonblocking.c: Likewise.
14043         * lib/poll.c: Likewise.
14044         * lib/select.c: Likewise.
14045         * lib/sockets.h: Likewise.
14046         * lib/sockets.c: Likewise.
14047         * lib/stdio-read.c: Likewise.
14048         * lib/stdio-write.c: Likewise.
14049         * lib/utimens.c: Likewise.
14050         * lib/w32sock.h: Likewise.
14051         * lib/w32spawn.h: Likewise.
14052         * tests/test-cloexec.c: Likewise.
14053         * tests/test-dup-safer.c: Likewise.
14054         * tests/test-dup2.c: Likewise.
14055         * tests/test-dup3.c: Likewise.
14056         * tests/test-fcntl.c: Likewise.
14057         * tests/test-pipe.c: Likewise.
14058         * tests/test-pipe2.c: Likewise.
14059         * lib/ftruncate.c: Likewise.
14060         (chsize_nothrow): Renamed from chsize.
14061         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
14062         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
14063         * lib/close.c: Likewise.
14064         * lib/dup.c: Likewise.
14065         * lib/fclose.c: Likewise.
14066         * lib/raise.c: Likewise.
14067         * tests/test-fgetc.c: Likewise.
14068         * tests/test-fputc.c: Likewise.
14069         * tests/test-fread.c: Likewise.
14070         * tests/test-fwrite.c: Likewise.
14071         * lib/getdtablesize.c: Likewise.
14072         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
14073         * lib/isatty.c: Don't include msvc-inval.h if
14074         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
14075         Include <io.h> as an alternative to msvc-nothrow.h.
14076         * lib/read.c: Likewise.
14077         * lib/write.c: Likewise.
14078         * lib/dup2.c: Likewise.
14079         (dup2_nothrow): New function.
14080         (ms_windows_dup2): Use it.
14081         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
14082         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
14083         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
14084         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
14085         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
14086         * m4/read.m4 (gl_FUNC_READ): Likewise.
14087         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
14088         * doc/windows-without-msvc.texi: New file.
14089         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
14090         section.
14092 2017-05-10  Bruno Haible  <bruno@clisp.org>
14094         wait-process: Adjust native Windows support.
14095         * lib/wait-process.c: Use the usual condition for recognizing a native
14096         Windows platform.
14098 2017-05-10  Bruno Haible  <bruno@clisp.org>
14100         doc: New chapter "Native Windows Support".
14101         * doc/gnulib.texi (Native Windows Support): New chapter.
14102         * doc/windows-libtool.texi: Small wording changes.
14103         * doc/windows-sockets.texi: Small wording and formatting changes.
14105 2017-05-10  Bruno Haible  <bruno@clisp.org>
14107         doc: Move section "Library version handling".
14108         * doc/gnulib.texi: Move section "Library version handling"
14109         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
14111 2017-05-10  Bruno Haible  <bruno@clisp.org>
14113         doc: Move section "Running self-tests under valgrind".
14114         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
14115         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
14117 2017-05-10  Bruno Haible  <bruno@clisp.org>
14119         doc: New chapter "Build Infrastructure Modules".
14120         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
14122 2017-05-10  Bruno Haible  <bruno@clisp.org>
14124         Prepare for reordering sections in the manual.
14125         * doc/gnulib.texi: Move several sections to separate files. Include
14126         these files.
14127         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
14128         * doc/obsolete.texi: Likewise.
14129         * doc/extra-tests.texi: Likewise.
14130         * doc/transversal.texi: Likewise.
14131         * doc/namespace.texi: Likewise.
14132         * doc/check-version.texi: Likewise.
14133         * doc/windows-sockets.texi: Likewise.
14134         * doc/windows-libtool.texi: Likewise.
14135         * doc/licenses-texi.texi: Likewise.
14136         * doc/build-automation.texi: Likewise.
14137         * doc/c-locale.texi: Likewise.
14139 2017-05-10  Bruno Haible  <bruno@clisp.org>
14141         Fix instructions how to update manual on www.gnu.org.
14142         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
14144 2017-05-09  Bruno Haible  <bruno@clisp.org>
14146         tzset: Expand comment about TZ problem on native Windows.
14147         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
14148         Paul Eggert.
14149         * lib/ctime.c (rpl_ctime): Likewise.
14150         * lib/localtime.c (rpl_localtime): Likewise.
14151         * lib/mktime.c (mktime): Likewise.
14152         * lib/strftime-fixes.c (rpl_strftime): Likewise.
14153         * lib/wcsftime.c (rpl_wcsftime): Likewise.
14155 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14157         intprops: don’t depend on ‘verify’
14158         Problem reported by Ævar Arnfjörð Bjarmason in:
14159         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
14160         * lib/intprops.h: Do not include verify.h, and move compile-time
14161         checks from here ...
14162         * tests/test-intprops.c (main): ... to here, if they’re not here
14163         already.  Check widths of other standard integer types.
14164         * modules/intprops (Depends-on): Remove ‘verify’.
14166 2017-05-07  Bruno Haible  <bruno@clisp.org>
14168         utimens: On native Windows, support 100ns resolution also if fd < 0.
14169         * lib/utime.in.h: Include <time.h>.
14170         (_gl_utimens_windows): New declaration.
14171         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
14172         (utime): Invoke it.
14173         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
14174         instead of utime.
14175         * modules/utime (Depends-on): Add 'time'.
14177 2017-05-07  Bruno Haible  <bruno@clisp.org>
14179         utimens: Improve error code on native Windows.
14180         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
14181         error code EACCES, not EINVAL.
14183 2017-05-07  Bruno Haible  <bruno@clisp.org>
14185         utime: Handle more Windows error codes.
14186         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
14187         Based on explanations by Billy O'Neal.
14189 2017-05-05  Bruno Haible  <bruno@clisp.org>
14191         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
14192         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
14193         union.
14194         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
14195         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
14196         value of cipher->IV.
14198 2017-05-05  Bruno Haible  <bruno@clisp.org>
14200         wctype-h-c++-tests: Update.
14201         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
14203 2017-05-05  Bruno Haible  <bruno@clisp.org>
14205         wchar-c++-tests: Update.
14206         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
14208 2017-05-05  Bruno Haible  <bruno@clisp.org>
14210         utime-h-c++-tests: New module.
14211         * tests/test-utime-h-c++.cc: New file.
14212         (utime): Declare, missing since 2017-04-30.
14213         * modules/utime-h-c++-tests: New file.
14215 2017-05-05  Bruno Haible  <bruno@clisp.org>
14217         unistd-c++-tests: Update.
14218         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
14219         (read): Declare, missing since 2011-04-15.
14220         (sethostname): Declare, missing since 2011-12-03.
14222 2017-05-05  Bruno Haible  <bruno@clisp.org>
14224         time-c++-tests: Update.
14225         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
14226         (localtime, gmtime): Declare, missing since 2017-04-30.
14227         (ctime): Declare, missing since 2017-04-30.
14228         (strftime): Declare, missing since 2017-04-30.
14229         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
14230         2015-07-24.
14232 2017-05-05  Bruno Haible  <bruno@clisp.org>
14234         sys_resource-c++-tests: New module.
14235         * tests/test-sys_resource-c++.cc: New file.
14236         (getrusage): Declare, missing since 2012-04-13.
14237         * modules/sys_resource-c++-tests: New file.
14239 2017-05-05  Bruno Haible  <bruno@clisp.org>
14241         strings-c++-tests: New module.
14242         * tests/test-strings-c++.cc: New file.
14243         (ffs): Declare, missing since 2011-07-12.
14244         * modules/strings-c++-tests: New file.
14246 2017-05-05  Bruno Haible  <bruno@clisp.org>
14248         string-c++-tests: Update.
14249         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
14250         (ffsll): Declare, missing since 2011-07-15.
14252 2017-05-05  Bruno Haible  <bruno@clisp.org>
14254         stdlib-c++-tests: Update.
14255         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
14256         2011-10-18.
14257         (ptsname_r): Declare, missing since 2011-11-07.
14258         (qsort_r): Declare, missing since 2014-08-29.
14259         (random, srandom, initstate, setstate): Declare, missing since
14260         2012-01-14.
14261         (secure_getenv): Declare, missing since 2013-02-05.
14263 2017-05-05  Bruno Haible  <bruno@clisp.org>
14265         stdio-c++-tests: Update.
14266         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
14268 2017-05-05  Bruno Haible  <bruno@clisp.org>
14270         signal-h-c++-tests: Update.
14271         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
14273 2017-05-05  Bruno Haible  <bruno@clisp.org>
14275         math-c++-tests: Update.
14276         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
14277         (fma): Declare, missing since 2011-10-17.
14278         (fmal): Declare, missing since 2011-10-17.
14280 2017-05-05  Bruno Haible  <bruno@clisp.org>
14282         locale-c++-tests: Update.
14283         * tests/test-locale-c++.cc (localeconv): Declare, missing since
14284         2012-03-25.
14286 2017-05-05  Bruno Haible  <bruno@clisp.org>
14288         inttypes-c++-tests: New module.
14289         * tests/test-inttypes-c++.cc: New file.
14290         (strtoimax): Declare, missing since 2012-01-05.
14291         (strtoumax): Declare, missing since 2012-01-05.
14292         * modules/inttypes-c++-tests: New file.
14294 2017-05-05  Bruno Haible  <bruno@clisp.org>
14296         dirent-c++-tests: Update.
14297         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
14298         (rewinddir): Declare, missing since 2011-09-13.
14299         (dirfd): Declare, missing since 2010-03-08.
14301 2017-05-04  Bruno Haible  <bruno@clisp.org>
14303         argp: Fix mistake in 2017-04-23 commit.
14304         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
14305         assume that strerror_r returns 'int', not 'char *'.
14307 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
14309         argp: Fix typo.
14310         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
14312 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14314         utimens: port to Emacs + MS-Windows
14315         Skip the new MS-Windows-specific code if Emacs.
14316         * lib/utimens.c [EMACS_CONFIGUATION]:
14317         Avoid new MS-Windows-specific code.
14318         (USE_SETFILETIME): New macro.
14319         (fdutimens): Use it.
14321 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14323         tzset: update doc for TZ problems on MS-Windows
14324         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
14325         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
14326         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
14327         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
14328         * doc/posix-functions/wcsftime.texi:
14329         Mention some issues with TZ under MS-Windows.
14331 2017-05-01  Bruno Haible  <bruno@clisp.org>
14333         copy-file: Fix build error on mingw.
14334         * modules/copy-file (Depends-on): Add 'close'.
14336 2017-05-01  Bruno Haible  <bruno@clisp.org>
14338         tzset: Work around TZ problem on native Windows.
14339         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
14340         Windows, set REPLACE_TZSET to 1.
14341         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
14342         invoke '_tzset' instead of 'tzset'.
14343         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
14345         * modules/time_rz (Depends-on): Add tzset.
14346         * lib/time_rz.c (tzset): Remove fallback definition.
14347         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
14349 2017-05-01  Bruno Haible  <bruno@clisp.org>
14351         mktime: Fix dependencies.
14352         * modules/mktime (Depends-on): Add 'time'.
14354 2017-05-01  Bruno Haible  <bruno@clisp.org>
14356         New module 'localtime-buffer', split off from module 'gettimeofday'.
14357         * lib/localtime-buffer.h: New file.
14358         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
14359         * lib/time.in.h (tzset): New declaration.
14360         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
14361         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
14362         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
14363         moved to lib/localtime-buffer.c or lib/tzset.c.
14364         * m4/localtime-buffer.m4: New file.
14365         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
14366         HAVE_TZSET, REPLACE_TZSET.
14367         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
14368         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
14369         gl_LOCALTIME_BUFFER_NEEDED.
14370         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
14371         since 2007-01-18.
14372         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
14373         tzset.
14374         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
14375         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
14376         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
14377         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
14378         * modules/localtime-buffer: New file.
14379         * modules/time (Depends-on): Remove 'gettimeofday'.
14380         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
14381         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
14382         * modules/tzset (Description): Enable hyperlink to POSIX spec.
14383         (Files): Add lib/tzset.c.
14384         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
14385         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
14386         gl_TIME_MODULE_INDICATOR.
14387         * modules/gettimeofday (Depends-on): Add localtime-buffer.
14389 2017-05-01  Bruno Haible  <bruno@clisp.org>
14391         copy-file: Preserve sub-second time stamps.
14392         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
14393         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
14394         transport the time stamps from the original file to the destination
14395         file.
14396         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
14397         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
14398         utime-h.
14400 2017-05-01  Bruno Haible  <bruno@clisp.org>
14402         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
14403         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
14404         also on MSVC.
14405         Reported by Eli Zaretskii <eliz@gnu.org>.
14407 2017-05-01  Bruno Haible  <bruno@clisp.org>
14409         wchar: Fix compilation error with the original mingw.org mingw.
14410         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
14411         <stddef.h> instead.
14412         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
14413         gl_WCTYPE_H.
14414         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
14415         gl_TYPE_WINT_T_PREREQ instead.
14416         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
14417         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
14418         Reported by Eli Zaretskii <eliz@gnu.org>.
14420 2017-04-30  Bruno Haible  <bruno@clisp.org>
14422         utimecmp: Add support for native Windows.
14423         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
14425 2017-04-30  Bruno Haible  <bruno@clisp.org>
14427         utimens: Add support for native Windows.
14428         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
14429         (fdutimens): Provide a native Windows implementation, like utime.c with
14430         added tv_nsec support.
14431         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
14432         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
14434 2017-04-30  Bruno Haible  <bruno@clisp.org>
14436         wcsftime: New module.
14437         * lib/wchar.in.h (wcsftime): New declaration.
14438         * lib/wcsftime.c: New file.
14439         * m4/wcsftime.m4: New file.
14440         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
14441         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
14442         HAVE_WCSFTIME, REPLACE_WCSFTIME.
14443         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
14444         HAVE_WCSFTIME, REPLACE_WCSFTIME.
14445         * modules/wcsftime: New file.
14446         * doc/posix-functions/wcsftime.texi: Mention the new module.
14448 2017-04-30  Bruno Haible  <bruno@clisp.org>
14450         strftime-fixes: New module.
14451         * lib/time.in.h (strftime): New declaration.
14452         * lib/strftime-fixes.c: New file.
14453         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
14454         (gl_FUNC_STRFTIME): Remove macro.
14455         * m4/strftime-fixes.m4: New file.
14456         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
14457         REPLACE_STRFTIME.
14458         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
14459         REPLACE_STRFTIME.
14460         * modules/strftime-fixes: New file.
14461         * doc/posix-functions/strftime.texi: Mention the new module.
14463 2017-04-30  Bruno Haible  <bruno@clisp.org>
14465         mktime: Work around TZ problem on native Windows.
14466         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
14467         from the native Windows workaround.
14468         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
14469         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
14470         'guessing no'.
14471         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
14472         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
14473         NEED_MKTIME_WINDOWS.
14474         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
14475         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
14476         NEED_MKTIME_INTERNAL.
14477         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
14478         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
14479         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
14480         not REPLACE_MKTIME.
14481         * doc/posix-functions/mktime.texi: Mention the native Windows
14482         workaround.
14484 2017-04-30  Bruno Haible  <bruno@clisp.org>
14486         localtime: New module.
14487         * lib/time.in.h (localtime): Declare also if requested by module
14488         'localtime'.
14489         * lib/localtime.c: New file.
14490         * m4/localtime.m4: New file.
14491         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
14492         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
14493         * modules/localtime: New file.
14494         * doc/posix-functions/localtime.texi: Mention the new module.
14496 2017-04-30  Bruno Haible  <bruno@clisp.org>
14498         ctime: New module.
14499         * lib/time.in.h (ctime): New declaration.
14500         * lib/ctime.c: New file.
14501         * m4/ctime.m4: New file.
14502         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
14503         REPLACE_CTIME.
14504         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
14505         * modules/ctime: New file.
14506         * doc/posix-functions/ctime.texi: Mention the new module.
14508 2017-04-30  Bruno Haible  <bruno@clisp.org>
14510         gettimeofday: Provide higher resolution on native Windows.
14511         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
14512         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
14513         (initialize): Initialize it.
14514         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
14515         'struct timeval'. Don't use _ftime().
14516         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
14517         <sys/timeb.h> and _ftime.
14519 2017-04-30  Bruno Haible  <bruno@clisp.org>
14521         Document the problem with the Cygwin environment variable TZ.
14522         * doc/posix-functions/tzset.texi: Add note about TZ.
14523         * doc/posix-functions/ctime.texi: Likewise.
14524         * doc/posix-functions/localtime.texi: Likewise.
14525         * doc/posix-functions/mktime.texi: Likewise.
14526         * doc/posix-functions/strftime.texi: Likewise.
14527         * doc/posix-functions/wcsftime.texi: Likewise.
14528         * doc/pastposix-functions/ftime.texi: Likewise.
14530 2017-04-30  Bruno Haible  <bruno@clisp.org>
14532         utime-tests: New module.
14533         * tests/test-utime.c: New file, based on tests/test-utimens.h.
14534         * tests/test-utimens-common.h: Include <sys/stat.h>.
14535         * modules/utime-tests: New file.
14537 2017-04-29  Bruno Haible  <bruno@clisp.org>
14539         utime: New module.
14540         * lib/utime.in.h: Add comment for snippets.
14541         (utime): New declaration.
14542         * lib/utime.c: New file.
14543         * m4/utime.m4: New file.
14544         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
14545         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
14546         REPLACE_UTIME.
14547         * modules/utime-h (Depends-on): Add snippets.
14548         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
14549         Insert snippets.
14550         * modules/utime: New file.
14551         * doc/posix-functions/utime.texi: Mention the new module.
14553 2017-04-29  Bruno Haible  <bruno@clisp.org>
14555         utime-h: Modernize handling of 'struct utimbuf'.
14556         * lib/utime.in.h: Include next <utime.h> if it exists.
14557         (utimbuf): Define to _utimbuf on native Windows.
14558         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
14559         Set UTIME_H on native Windows.
14560         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
14561         * modules/utime-h (Depends-on): Add include_next.
14562         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
14563         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
14565         * lib/utimens.c (utimbuf): Remove fallback definition.
14566         * m4/utimens.m4 (gl_UTIMENS): Don't require
14567         gl_CHECK_TYPE_STRUCT_UTIMBUF.
14568         * m4/utimbuf.m4: Remove file.
14569         * modules/utimens (Files): Remove m4/utimbuf.m4.
14571 2017-04-29  Bruno Haible  <bruno@clisp.org>
14573         Make use of module 'utime-h'.
14574         * modules/copy-file (Depends-on): Add utime-h.
14575         * lib/copy-file.c: Assume that <utime.h> exists.
14576         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
14578         * modules/utimens (Depends-on): Add utime-h.
14579         * lib/utimens.c: Assume that <utime.h> exists.
14581 2017-04-29  Bruno Haible  <bruno@clisp.org>
14583         utime-h: New module.
14584         * m4/utime_h.m4: New file.
14585         * lib/utime.in.h: New file.
14586         * modules/utime-h: New file.
14587         * doc/posix-headers/utime.texi: Mention the new module.
14589         * tests/test-utime-h.c: New file.
14590         * modules/utime-h-tests: New file.
14592 2017-04-30  Bruno Haible  <bruno@clisp.org>
14594         Fix a few typos.
14595         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
14596         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
14597         * doc/posix-functions/fstat.texi: Fix a plural typo.
14598         * doc/posix-functions/stat.texi: Likewise.
14599         * m4/include_next.m4: Update comments.
14601 2017-04-29  Bruno Haible  <bruno@clisp.org>
14603         error: Fix mistake in 2017-04-23 commit.
14604         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
14605         assume that strerror_r returns 'int', not 'char *'.
14607 2017-04-29  Bruno Haible  <bruno@clisp.org>
14609         stat: Fix time_t values and other problems on native Windows platforms.
14610         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
14611         implementations of stat().
14612         * lib/stat.c: Include filename.h instead of dosname.h. Include
14613         malloca.h, stat-w32.h.
14614         (is_unc_root): New function.
14615         (rpl_stat): New implementation for native Windows. Remove
14616         REPLACE_FUNC_STAT_DIR code.
14617         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
14618         Don't define REPLACE_FUNC_STAT_DIR.
14619         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
14620         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
14621         (Depends-on): Remove dosname. Add filename, malloca.
14622         (configure.ac): Also compile lib/stat-w32.c.
14624 2017-04-29  Bruno Haible  <bruno@clisp.org>
14626         fstat: Fix time_t values on native Windows platforms.
14627         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
14628         * lib/stat-w32.h: New file.
14629         * lib/stat-w32.c: New file.
14630         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
14631         stat-w32.h instead.
14632         (fstat_nothrow): Remove function.
14633         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
14634         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
14635         always.
14636         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
14637         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
14638         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
14639         (configure.ac): Also compile lib/stat-w32.c.
14641 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
14643         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
14644         Problem reported by Assaf Gordon and Gavin Smith in:
14645         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
14646         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
14647         #define this, too.
14649 2017-04-29  Bruno Haible  <bruno@clisp.org>
14651         strerror_r-posix: Fixes for MSVC 14.
14652         * lib/strerror_r.c: Include <stdarg.h>.
14653         (strerror_r): Provide error messages for errno values 100...140.
14654         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
14656 2017-04-28  Bruno Haible  <bruno@clisp.org>
14658         noreturn: New module.
14659         * lib/noreturn.h: New file.
14660         * modules/noreturn: New file.
14661         * tests/test-noreturn.c: New file.
14662         * modules/noreturn-tests: New file.
14663         * tests/test-noreturn-c++.cc: New file.
14664         * modules/noreturn-c++-tests: New file.
14666 2017-04-27  Bruno Haible  <bruno@clisp.org>
14668         wctype-h: Fix compilation error with the original mingw.org mingw.
14669         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
14670         HAVE_CRTDEFS_H.
14671         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
14672         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
14673         <stddef.h> instead.
14674         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
14676 2017-04-26  Pádraig Brady  <P@draigBrady.com>
14678         nap.h: Fix compilation on non windows platforms
14679         * tests/nap.h: Move misplaced endif.
14681 2017-04-26  Pádraig Brady  <P@draigBrady.com>
14682         and Paul Eggert  <eggert@cs.ucla.edu>
14684         time_rz: fix heap buffer overflow vulnerability
14685         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
14686         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
14687         whether there is enough buffer space available, thus avoiding
14688         the problematic promotion of signed to unsigned causing an invalid
14689         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
14690         the start of the buffer.
14691         * tests/test-parse-datetime.c (main): Add a test case written by
14692         Paul Eggert, which overwrites enough of the heap so that
14693         standard glibc will fail with "free(): invalid pointer"
14694         without the patch applied.
14696 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
14698         xalloc: add missing integer overflow check
14699         * lib/xalloc.h (x2nrealloc): Also check for multiplication
14700         overflow when P is null.
14702 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14704         parse-datetime: make it standalone
14705         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
14706         (_GL_ATTRIBUTE_FORMAT): New macro.
14707         These are needed to get './gnulib-tool --test parse-datetime' to work.
14709 2017-04-23  Bruno Haible  <bruno@clisp.org>
14711         nap.h: Port to native Windows.
14712         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
14713         use nap_fd instead. On native Windows, close and reopen nap_fd.
14714         (nap_works): Don't compare the ctimes, because on native Windows, these
14715         are the creation times.
14716         (nap): Update.
14718 2017-04-23  Bruno Haible  <bruno@clisp.org>
14720         nap.h: Fix logic.
14721         * tests/nap.h (nap): Avoid signed integer overflow in loop.
14723 2017-04-23  Bruno Haible  <bruno@clisp.org>
14725         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
14726         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
14727         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
14728         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
14729         * lib/argp-help.c (__argp_failure): Likewise.
14731 2017-04-23  Bruno Haible  <bruno@clisp.org>
14733         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
14734         * m4/strerror_r.m4: Revert changes since 2016-10-16.
14735         * lib/strerror_r.c: Likewise.
14737 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
14739         Target a C99 subset, not a C89 subset
14740         For many years Gnulib has targeted C89 and has resisted using C99
14741         features, as some Gnulib-using programs still wanted to target
14742         C89.  As this no longer seems to be the case, relax the porting
14743         requirements to allow some C99 features.  This is merely a change
14744         to the documentation, to give other Gnulib developers a chance to
14745         weigh in on the topic.
14746         * doc/extern-inline.texi (extern inline):
14747         * doc/gnulib-readme.texi (Portability guidelines):
14748         * doc/gnulib-tool.texi (Initial import):
14749         * doc/gnulib.texi (Header files):
14750         Modernize to talk about C99 and C11 instead of C89 and C99.
14751         * doc/gnulib-readme.texi (Portability guidelines):
14752         Now a section, not merely a subsection, so that it
14753         can be split up.  Modernize a bit.
14754         (C language versions, C99 features assumed)
14755         (C99 features avoided):
14756         New sections.
14758 2017-04-23  Bruno Haible  <bruno@clisp.org>
14760         doc: New section "Modules that modify the way other modules work".
14761         * doc/gnulib.texi (Modules that modify the way other modules work): New
14762         section.
14764 2017-04-23  Bruno Haible  <bruno@clisp.org>
14766         stat-time: Update comments.
14767         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
14768         * tests/test-utimens-common.h: Add reference regarding st_ctime on
14769         Windows.
14771 2017-04-01  Bruno Haible  <bruno@clisp.org>
14773         glob: Fix more memory leaks.
14774         * lib/glob.c (glob): Free allocated memory before returning.
14775         Reported by Coverity via Tim Rühsen.
14777 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14779         poll: improve fast check for out-of-range NFD
14780         * lib/poll.c: Do not include intprops.h.
14781         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
14782         * modules/poll (Depends-on): Remove intprops.
14784         ftoastr: cite a newer paper
14785         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
14786         instead of Loitsch 2010.
14788 2017-04-22  Bruno Haible  <bruno@clisp.org>
14790         poll: Enable argument check also in the Windows implementation.
14791         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
14792         Reported by Paul Eggert.
14794 2017-04-22  Bruno Haible  <bruno@clisp.org>
14796         getlogin_r: Work around bug in Mac OS X 10.12.
14797         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
14798         bug.
14799         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
14800         given size minus 1, call getlogin_r a second time, on a larger buffer.
14801         * modules/getlogin_r (Depends-on): Add malloca.
14802         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
14804 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14806         parse-datetime: fix %z and prefer signed int
14807         %z problem reported by Pádraig Brady in:
14808         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
14809         While fixing it, I decided to prefer signed ints to size_t, as
14810         they are less error-prone (e.g., ubsan catches overflow).
14811         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
14812         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
14813         counts, since signed integers make for better debugging.
14814         (date): Don’t assume %z works in printf formats.
14815         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
14816         sizes of buffers known to be small, e.g., because we’re using snprintf.
14817         (parse_datetime2): Simplify call to debug_mktime_not_ok.
14819 2017-04-22  Bruno Haible  <bruno@clisp.org>
14821         *printf: Work around rounding bug on Mac OS X.
14822         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
14823         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
14824         Mac OS X and FreeBSD.
14825         * doc/glibc-functions/*printf.texi: Likewise.
14827 2017-04-22  Bruno Haible  <bruno@clisp.org>
14829         vasnprintf tests: Avoid warnings.
14830         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
14831         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
14832         test.
14834 2017-04-22  Bruno Haible  <bruno@clisp.org>
14836         sys_file tests: Avoid warning.
14837         * tests/test-sys_file.c (main): Add a default clause to the switch
14838         statement.
14840 2017-04-22  Bruno Haible  <bruno@clisp.org>
14842         sethostname: Update doc.
14843         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
14844         Mac OS X.
14846 2017-04-22  Bruno Haible  <bruno@clisp.org>
14848         quotearg tests: Avoid warnings.
14849         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
14850         false.
14852 2017-04-22  Bruno Haible  <bruno@clisp.org>
14854         poll: Enable argument check.
14855         * lib/poll.c: Include intprops.h.
14856         (poll): Check value of nfd correctly.
14857         * modules/poll (Depends-on): Add intprops.
14859 2017-04-22  Bruno Haible  <bruno@clisp.org>
14861         get-rusage-data: Avoid warnings on Mac OS X.
14862         * lib/get-rusage-data.c: On Mac OS X, don't define
14863         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
14864         (get_rusage_data) [Mac OS X]: Just return 0.
14866 2017-04-22  Bruno Haible  <bruno@clisp.org>
14868         xbinary-io: Fix build error.
14869         * modules/xbinary-io (Depends-on): Add gettext-h.
14870         * lib/xbinary-io.c: Include gettext.h and define _().
14871         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
14872         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
14874 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14876         parse-datetime: overflow and debug cleanups
14877         This long patch was triggered by this bug report from Ruediger Meier:
14878         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
14879         I fixed the bug he noted, then found some others nearby, and then
14880         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
14881         up some of the code to follow GNU standards while I was at it.
14882         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
14883         use c_isdigit.
14884         (EPOCH_YEAR): Remove; unused.
14885         (TM_YEAR_BASE): Now an enum rather than a macro.
14886         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
14887         time zone offset, since timezones now are in terms of seconds and
14888         not minutes.
14889         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
14890         appropriate.  Verify that intmax_t is wide enough.
14891         (time_overflow, time_zone_str): New functions, used to deal
14892         more reliably with overflow.
14893         (dbg_printf): Add printf attribute, to help catch integer width errors.
14894         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
14895         (%union, to_hour, yylex, parse_datetime2):
14896         Use intmax_t instead of long int and/or long_time_t.
14897         All uses changed.
14898         (DBGBUFSIZE): Move earlier.
14899         (relative_time, set_hhmmss, parser_control):
14900         Just use int for nanoseconds and for time zones; that’s wide enough.
14901         (parser_control): Use bool for members like year_seen that can
14902         be booleans instead of counters.  All uses changed.
14903         Remove debug_default_input_timezone; no longer needed.
14904         All uses removed.
14905         (apply_relative_time): Return a bool overflow flag.
14906         All uses changed to check for overflow.
14907         (apply_relative_time, zone, date, relunit, relunit_snumber)
14908         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
14909         Check for integer overflow portably.
14910         (str_days): Use just int for N, as it’s wide enough.
14911         Prefer 2D char arrays to arrays of char * when it looks like
14912         2D is a win on typical platforms.
14913         Prefer snprintf to strncpy/strncat, for simplicity;
14914         all buffers are smaller than INT_MAX so this is safe.
14915         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
14916         (debug_print_current_time): Don’t assume tv_nsec is of type long,
14917         as this is not true on x32.  Output "." before any nanoseconds.
14918         (debug_print_current_time, parse_datetime2):
14919         Output local zones using a more-consistent format.
14920         (debug_print_current_time, date, parse_datetime2):
14921         (main) [TEST]:
14922         Don’t assume time_t is the same width as long.
14923         (print_rel_part): New function, replacing ...
14924         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
14925         (debug_print_relative_time): Use bool for boolean.
14926         (local_zone): dsts_seen now counts only tDST instances.
14927         (date): Fix printf of size_t to use %z.  Do not assume numeric
14928         tokens have negative values merely because the context suggests
14929         a syntax with "-" separating tokens.
14930         (time_zone_hhmm): Return bool success indicator, which checks for
14931         overflow.  Store result into PC->time_zone instead.  All callers
14932         changed.
14933         (tm_year_str): New function.  Return a bool success indicator and
14934         store the result into a buffer.  All callers changed.  Output the
14935         numerically correct string even if adding 1900 to the year would
14936         overflow.
14937         (to_tm_year): New function, replacing the old to_year.  All
14938         callers changed.
14939         (tm_diff): Sync with glibc.
14940         (lookup_word): Use to_uchar instead of doing it by hand.
14941         (TZBUFSIZE): Now local to the only function that needs it.
14942         (debug_strfdatetime): Simplify now that time zones are int seconds.
14943         (debug_strfdate): Work even if tm_year + 1900 would overflow.
14944         (get_effective_timezone): Remove.  All uses removed.
14945         (parse_datetime2): Use fprintf in pieces instead of snprintfing
14946         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
14947         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
14948         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
14949         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
14950         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
14951         * modules/parse-datetime (Depends-on): Add inttypes.
14953 2017-04-21  Bruno Haible  <bruno@clisp.org>
14955         gettext-h: Avoid -Wundef warning.
14956         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
14957         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
14958         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
14960 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
14962         error: Avoid "function declaration isn't a prototype" warning.
14963         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
14965 2017-04-21  Bruno Haible  <bruno@clisp.org>
14967         vasnprintf: Fix for MSVC 14.
14968         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
14969         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
14970         of !HAVE_SNPRINTF_RETVAL_C99.
14972 2017-04-21  Bruno Haible  <bruno@clisp.org>
14974         mbrtowc tests: Fix test failures on MSVC 14.
14975         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
14976         behaviour for invalid input.
14978 2017-04-21  Bruno Haible  <bruno@clisp.org>
14980         mbsinit: Fix for MSVC 14.
14981         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
14982         implementation that is in sync with mbrtowc.c. On other platforms, use
14983         an adequate ad-hoc implementation.
14985 2017-04-21  Bruno Haible  <bruno@clisp.org>
14987         Fix test-mbrtowc5.sh failure on native Windows.
14988         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
14989         "C".
14991 2017-04-21  Bruno Haible  <bruno@clisp.org>
14993         Avoid accidental use of native Windows APIs on Cygwin.
14994         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
14995         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
14996         * lib/localename.c (WINDOWS_NATIVE): Likewise.
14998 2017-04-20  Bruno Haible  <bruno@clisp.org>
15000         Remove red warnings from the generated MODULES.html.
15001         * modules/fcntl (Description): Disambiguate function references.
15002         * modules/getcwd-lgpl (Description): Likewise.
15003         * modules/hostent (Description): Likewise.
15004         * modules/servent (Description): Likewise.
15005         * modules/tempname (Description): Likewise.
15007 2017-04-20  Bruno Haible  <bruno@clisp.org>
15009         verify tests: Fix spurious failure with parallel make.
15010         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
15011         EXTRA_PROGRAMS.
15012         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
15013         * tests/test-verify-try.c: New file.
15014         * modules/verify-tests (Files): Add it.
15015         (EXTRA_PROGRAMS): Add test-verify-try.
15016         (MOSTLYCLEANFILES): Update accordingly.
15017         Reported by Adam James Stewart <ajstewart@anl.gov>.
15019 2017-04-18  Bruno Haible  <bruno@clisp.org>
15021         vma-iter: Fix compilation error on Solaris 7.
15022         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
15023         like on IRIX, OSF/1.
15024         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15026 2017-04-18  Bruno Haible  <bruno@clisp.org>
15028         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
15029         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
15030         included.
15031         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
15032         <sys/procfs.h>.
15033         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
15034         <sys/procfs.h> cannot be included.
15035         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15037 2017-04-18  Bruno Haible  <bruno@clisp.org>
15039         getopt-gnu: Add comments.
15040         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
15041         * modules/getopt-gnu (configure.ac): Likewise.
15043 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
15045         regex: port better to Solaris 10
15046         Solaris 10 <locale.h> includes <libintl.h>, which #defines
15047         gettext, and this causes a double #define.
15048         Problem reported by Gavin Smith in:
15049         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
15050         * lib/regex_internal.h (gettext): #undef before #defining.
15052 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15054         intprops: improve comments
15055         * lib/intprops.h: Improve and shorten commentary.
15056         For the record, if we ever run into a pedantic compiler that
15057         behaves differently from GCC when converting an out-of-range value
15058         to a signed integer, we can work around the problem with something
15059         like the following code, where UCT is the signed counterpart of T
15060         (UCT is sometimes narrower than UT) and all callers are changed
15061         accordingly:
15062         #if __SUNPRO_C <= 0x5120
15063         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
15064            ((t) ((ut) (a) op (ut) (b)))
15065         #else
15066         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
15067            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
15068             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
15069                + TYPE_MINIMUM (t)) \
15070             : (t) (uct) ((ut) (a) op (ut) (b)))
15071         #endif
15073 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15075         intprops: try to avoid tickling similar bugs
15076         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
15077         needs to be the same width as T; it can be wider.
15078         Change callers so that UT is at least as wide as unsigned int,
15079         as I suspect that this is less likely to run into compiler bugs.
15081         intprops: port to Oracle Studio 12.3 x86
15082         Problem reported by Gavin Smith in:
15083         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
15084         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
15085         Convert unsigned to signed via the usual rather than the standard way,
15086         to avoid a compiler bug in Oracle Studio 12.3 x86.
15088 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
15090         getopt: prefer - to _ in new file names
15091         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
15092         * lib/getopt-core.h: Rename from lib/getopt_core.h.
15093         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
15094         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
15095         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
15096         All uses changed.
15098         getopt: port recent getopt changes to macOS
15099         Problem reported by Harald Maier (Bug#26398).
15100         The macOS C compiler uses __nonnull for its own purposes and that
15101         clashes with glibc's __nonnull.
15102         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
15103         * lib/getopt_cdefs.in.h (__nonnull): Remove.
15104         * lib/getopt_core.h (getopt):
15105         * lib/getopt_ext.h (getopt_long, getopt_long_only):
15106         Use _GL_ARG_NONNULL, not __nonnull.
15107         * lib/unistd.in.h: Move snippet hooks to before where the getopt
15108         .h files are included, so that _GL_ARG_NONNULL is defined in time.
15109         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
15110         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
15112 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
15114         getopt-gnu: omit some duplicate code
15115         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
15116         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
15117         gnulib-tool already does this.
15118         * modules/getopt-gnu (configure.ac): Omit code duplicated from
15119         getopt-posix, which we depend on.
15121         getopt-posix: use angle-bracket include
15122         * lib/getopt1.c: Include <config.h>, not "config.h".
15124 2017-04-06  Zack Weinberg  <zackw@panix.com>
15126         getopt: annotate files with relationship to glibc
15128         As the final act in this patchset, adjust the message at the top of
15129         each file to indicate which files are synced with glibc.  (This has
15130         already been done for most of the headers.)
15132         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
15133         Mention in top-of-file boilerplate that these files are shared
15134         between glibc and gnulib.
15137         getopt: split up getopt.in.h and eliminate __need_getopt
15139         Over in glibc, all of the __need macros are being phased out in favor
15140         of small headers that declare only the necessary components, as this
15141         is much simpler and less prone to bugs.  As getopt is shared with
15142         glibc, gnulib needs to do the same for __need_getopt.
15144         __need_getopt is misnamed; what it really means is "we want only the
15145         getopt features specified in POSIX, not the GNU extensions".  glibc
15146         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
15147         these files can be shared verbatim with gnulib.  The portability
15148         wrapper, on the other hand, they have renounced altogether; glibc's
15149         getopt.h will no longer be shared with gnulib at all.  In exchange,
15150         certain glibc-specific quirks (having to do with __posix_getopt) no
15151         longer need appear in gnulib's headers at all.
15153         This patch merges getopt_core.h and getopt_ext.h from glibc, and
15154         splits up the current gnulib-side portability wrapper into three
15155         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
15156         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
15157         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
15158         unistd.in.h just use them.  All new files are clearly marked with
15159         whether they are shared with glibc.
15161         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
15162         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
15163         with glibc, and ...
15164         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
15165         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
15166         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
15167         instead of defining __need_getopt and including the full getopt.h.
15169         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
15170         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
15171         * modules/getopt-posix (Files): Add new headers and sort list.
15172         (Depends-on): No longer need snippet/arg-nonnull.
15173         (Makefile.am): Generate getopt_cdefs.h.
15176         getopt: better handling of ambiguous options
15178         glibc's getopt uses alloca to construct a linked list of possibilities
15179         for an "ambiguous" long option.  In gnulib, malloc should be used
15180         instead.  Providing for both cases complicates things a fair bit.
15182         This patch rewrites ambiguous-option handling to use a boolean vector
15183         instead of a linked list.  There is then only one allocation that
15184         might need freeing; in glibc it can honor __libc_use_alloca as usual,
15185         and in gnulib we define __libc_use_alloca to always be false, so we
15186         don't need ifdefs in the middle of the function.  This should also be
15187         slightly more efficient in the normal case of long options being fully
15188         spelled out -- I think most people aren't even aware they _can_
15189         sometimes abbreviate long options.
15191         One interesting consequence is that the list of possibilities is now
15192         printed in exactly the order they appear in the list of long options,
15193         instead of the first possibility being shuffled to the end.
15195         (The patch looks bigger than it really is because there's a fair bit
15196         of reindentation and code rearrangement.)
15198         * lib/getopt.c: When used standalone, define __libc_use_alloca
15199         as always false and alloca to abort if called.
15200         (process_long_option): Rewrite handling of ambiguous long options
15201         to use a single boolean vector, not a linked list; use
15202         __libc_use_alloca to decide whether to allocate this using alloca.
15205         getopt: refactor long-option handling
15207         There were two copies of the bulk of the code to handle long options.
15208         Now there is only one.
15210         This change temporarily removes the logic to avoid using alloca when
15211         standalone; the next patch in the series will restore it.
15213         * lib/getopt.c (process_long_option): New function split out
15214         from _getopt_internal_r.
15215         (_getopt_internal_r): Replace both copies of the long-option
15216         processing code with calls to process_long_option.
15219         getopt: tidy up _getopt_initialize a bit
15221         _getopt_data.__posixly_correct is completely redundant to
15222         _getopt_data.__ordering, and some work that logically belongs in
15223         _getopt_initialize was being done by _getopt_internal_r, making the
15224         code harder to understand.
15226         As a side effect, getenv will no longer be called if the first
15227         character of the options string is '+' or '-', which is probably a
15228         Good Thing.  (Perhaps we should have a flag character that
15229         specifically asks for the permutation behavior?)
15231         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
15232         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
15233         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
15236         getopt: merge from glibc: repetition reduction
15238         The definitions of the entry point functions 'getopt' and
15239         '__posix_getopt' can be made substantially less repetitive with a
15240         helper macro.
15242         While I was merging the const-correctness changes from gnulib into
15243         glibc I noticed there are still some unnecessary casts in
15244         _getopt_internal_r.
15246         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
15247         a macro.  Consistently cast 'argv' to 'char **' when calling
15248         _getopt_internal.
15249         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
15252         getopt: clean up error reporting
15254         getopt can print a whole bunch of error messages, and when used
15255         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
15256         cancellation point and getopt isn't, and also applying fprintf to a
15257         stream in wide-character mode is not allowed.  So every single error
15258         reporting case has an #ifdef _LIBC block in which it calls internal
15259         libc functions instead.  The counterpart patch series in glibc makes
15260         it possible to simplify all of that down to a set of #defines at the
15261         top of the file; core code is written as if it is safe to just call
15262         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
15263         call any *other* stdio functions.)
15265         * lib/getopt.c: When _LIBC is defined, define fprintf to
15266         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
15267         to _IO_funlockfile.  When neither _LIBC nor
15268         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
15269         funlockfile as no-ops.
15270         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
15271         standalone error-printing code can now be used for libc as well.
15272         Add an flockfile/funlockfile pair around one case where the error
15273         message is printed in several chunks.  Don't use fputc.
15276         getopt: fix fencepost error in ambiguous-W-option handling
15278         getopt_long contains an undocumented (AFAICT) feature in which, if you
15279         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
15280         treated as equivalent to '--foo'.  This is implemented with a partial
15281         second copy of the code for handling long options, and that code
15282         increments optind one too many times when recovering from an ambiguous
15283         abbreviated option, which can cause the main loop to walk past the end
15284         of argv and crash.
15286         I discovered this while writing a test case that tries to exercise all
15287         of getopt's error reporting paths; I wouldn't be surprised to learn
15288         that this feature is never used by real applications.
15290         * lib/getopt.c (_getopt_internal_r): Don't increment
15291         d->optind a second time when reporting ambiguous -W options.
15294         getopt: clean up getopt.c and getopt1.c file headers
15296         In getopt.c, there is no need to include wchar.h at all, and it is
15297         safe nowadays to assume that stdlib.h does declare getenv (several
15298         other gnulib modules make this assumption).
15300         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
15301         by using "" inclusions consistently, and there is no actual need to
15302         include stdlib.h (except in the #ifdef TEST block, where it should be
15303         unconditional), nor to provide a backup definition of NULL at all.
15305         * lib/getopt1.c: Simplify #ifdeffage at top of file.
15306         Move inclusion of stdlib.h to #ifdef TEST block and make
15307         unconditional.  Do not define NULL.
15308         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
15309         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
15310         * modules/getopt-gnu, modules/getopt-posix: Don't call
15311         gl_PREREQ_GETENV.
15314         getopt: harmonize comments with glibc
15316         The comments explaining how the behavior of 'getopt' varies depending
15317         on whether it's the standalone version and whether there are special
15318         characters at the beginning of the options string were inconsistent
15319         between gnulib and glibc, and also out of sync with the code.
15321         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
15324         getopt: remove USE_NONOPTION_FLAGS
15326         getopt includes code to parse an environment variable named
15327         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
15328         in decimal); but all of it has been #ifdefed out since 2001, with no
15329         official way to turn it back on.
15331         According to commentary in glibc's config.h.in, bash version 2.0
15332         set this environment variable to indicate argv elements that were
15333         the result of glob expansion and therefore should not be treated
15334         as options, but the feature was "disabled later" because "it
15335         caused problems".  According to bash's CHANGES file, "later" was
15336         release 2.01; it gives no more detail about what the problems
15337         were.
15339         Version 2.0 of bash was released on the last day of 1996, and version
15340         2.01 in June of 1997.  Twenty years later, I think it is safe to
15341         assume that this environment variable isn't coming back.
15343         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
15344         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
15345         __libc_argc and __libc_argv externs, which were only used by
15346         #ifdef USE_NONOPTION_FLAGS blocks.
15349         getopt: tabify, in preparation for merge with glibc
15351         glibc sticks to the GNU default of indenting with a mix of
15352         8-column tabs and spaces; make the gnulib copy match.
15354         getopt.h is not included because it is *not* going to be merged in its
15355         present form.
15357         * getopt.c, getopt1.c, getopt_int.h: Tabify.
15359 2017-04-02  Bruno Haible  <bruno@clisp.org>
15361         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
15362         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
15363         like it was done in modules/relocatable-lib on 2011-05-21 and in
15364         modules/relocatable-prog on 2011-08-15.
15365         Reported by Reuben Thomas <rrt@sc3d.org>.
15367 2017-03-31  Bruno Haible  <bruno@clisp.org>
15369         glob: Fix invalid free() call.
15370         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
15371         static storage to home_dir.
15372         Reported by Coverity via Tim Rühsen.
15374 2017-03-31  Bruno Haible  <bruno@clisp.org>
15376         glob: Fix memory leaks.
15377         * lib/glob.c (glob): Free allocated memory before returning.
15378         Reported by Coverity via Tim Rühsen.
15380 2017-03-31  Bruno Haible  <bruno@clisp.org>
15382         md5, sha1, sha256, sha512: Add comments regarding correctness.
15383         * lib/md5.h (buflen): Add comments regarding range.
15384         * lib/sha1.h (buflen): Likewise.
15385         * lib/sha256.h (buflen): Likewise.
15386         * lib/sha512.h (buflen): Likewise.
15387         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
15388         * lib/sha1.c (sha1_process_bytes): Likewise.
15389         * lib/sha256.c (sha256_process_bytes): Likewise.
15390         * lib/sha512.c (sha512_process_bytes): Likewise.
15391         Reported by Coverity via Tim Rühsen.
15393 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
15395         getopt: merge from glibc
15396         This does not change anything substantial; it merely simplifies
15397         hypothetical merges back to glibc.
15398         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
15399         Change copyright notice to match what is in glibc.
15400         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
15401         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
15402         __open_memstream rather than open_memstream and __glibc_likely
15403         instead of __builtin_expect.
15404         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
15406 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
15408         dfa: make [0-9] faster in non-C locales
15409         Problem reported by John P. Linderman (Bug#26193).
15410         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
15411         If both ends of the range are ASCII digits, do not worry about
15412         multi-character collating sequences and the like.  Be consistent
15413         about using isalpha as a precondition for setbit_case_fold_c.
15415 2017-03-19  Bruno Haible  <bruno@clisp.org>
15417         lock: Fix compilation error with HP-UX IA64 cc.
15418         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
15419         weak on non-glibc platforms.
15421 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15423         stdalign: tweak version# and test for HP-UX IA64
15424         Problems reported by Bruno Haible in:
15425         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
15426         * lib/stdalign.in.h (_Alignas):
15427         * m4/stdalign.m4 (gl_STDALIGN_H):
15428         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
15429         used octal (as that is how they document it), but it is decimal in
15430         practice now and the ancient implementations no longer matter.
15431         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
15433 2017-03-19  Bruno Haible  <bruno@clisp.org>
15435         vma-iter: Add support for Solaris.
15436         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
15437         approach.
15438         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
15439         * lib/get-rusage-as.c: Update comment about Solaris.
15440         * lib/get-rusage-data.c: Likewise.
15442 2017-03-19  Bruno Haible  <bruno@clisp.org>
15444         vma-iter: Prefer HP-UX specific API on HP-UX.
15445         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
15446         * lib/vma-iter.h: Update.
15447         Just in case HP-UX ever implements mquery().
15449 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
15451         stdalign: restore previous behavior for HP-UX IA64
15452         See Bruno Haible's email in:
15453         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
15454         which cites p 150 of a manual saying that 'aligned' works on Itanium.
15455         * lib/stdalign.in.h (_Alignas):
15456         Assume the '061200' applies to Itanium, not to PA-RISC.
15457         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
15459 2017-03-17  Bruno Haible  <bruno@clisp.org>
15461         stat-time, timespec: Support use of the header files in C++ mode.
15462         * lib/stat-time.h: Add "C" linkage declaration.
15463         * lib/timespec.h: Likewise.
15465 2017-03-17  Bruno Haible  <bruno@clisp.org>
15467         stdalign: Make it work with HP-UX cc.
15468         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
15469         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
15470         for HP-UX cc.
15472 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
15474         flexmember: try to detect HP-UX 11.31 cc bug
15475         Problem reported by Bruno Haible in:
15476         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
15477         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
15478         Attempt to detect bug in HP-UX 11.31 cc.
15480 2017-03-16  Bruno Haible  <bruno@clisp.org>
15482         stdint: Fix test compilation failure with HP-UX 11 cc.
15483         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
15484         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
15485         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
15486         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
15488 2017-03-14  Bruno Haible  <bruno@clisp.org>
15490         gnulib-tool: Don't produce a tests directory with only snippet .h files.
15491         * gnulib-tool (func_modules_transitive_closure_separately): If
15492         testsrelated_modules ends up with no "real" modules, aside from
15493         modules with applicability 'all', set it to empty.
15495 2017-03-14  Bruno Haible  <bruno@clisp.org>
15497         vma-iter: Add support for HP-UX.
15498         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
15499         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
15500         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
15501         * lib/get-rusage-as.c: Update comment about HP-UX.
15502         * lib/get-rusage-data.c: Likewise.
15503         (get_rusage_data): Use get_rusage_data_via_setrlimit.
15505 2017-03-14  Bruno Haible  <bruno@clisp.org>
15507         limits-h: Make it work with HP-UX cc.
15508         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
15509         defined.
15511 2017-03-14  Bruno Haible  <bruno@clisp.org>
15513         Fix test failures on DragonFlyBSD.
15514         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
15515         * tests/test-select.h (test_bad_fd): Likewise.
15516         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
15518 2017-03-14  Bruno Haible  <bruno@clisp.org>
15520         freadahead: Silence warning on DragonFlyBSD.
15521         * lib/freadahead.c (__sreadahead): Declare ourselves.
15523 2017-03-14  Bruno Haible  <bruno@clisp.org>
15525         vma-iter: Add comment about AIX.
15526         * lib/vma-iter.c: Add comment about why this module is not implemented
15527         on AIX.
15529 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
15531         snippets: move unadjusted snippet sources to lib
15532         Problem reported by Michal Privoznik in:
15533         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
15534         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
15535         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
15536         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
15537         * lib/unused-parameter.h: Rename from
15538         build-aux/snippet/unused-parameter.h.
15539         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
15540         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
15541         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
15542         * modules/snippet/c++defs (Files:, CXXDEFS_H):
15543         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
15544         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
15545         Adjust to file renamings.
15547 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
15549         gnulib-tool: don't automatically distribute files from top/
15550         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
15551         not distribute top/README-release by default, don't distribute files
15552         from top/ unconditionally.
15553         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
15554         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
15556 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
15558         gnulib-tool: fix typo in comment output
15559         * gnulib-tool (func_import): Fix typo with previous change.
15561         snippets: work around GNU Make 3.82 VPATH
15562         When using 'gnulib-tool --gnu-make' on Emacs, and building
15563         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
15564         an out-of-source (VPATH) build failed because the sans-copyright
15565         snippet file was not built before the file that used it.
15566         Presumably this is some sort of VPATH thing.  Work around the
15567         problem by using the original snippet, i.e., don’t bother to
15568         remove its copyright notice.
15569         * modules/snippet/_Noreturn, modules/snippet/link-warning:
15570         Don’t assume Automake in comments.  Omit long-incorrect comment.
15571         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
15572         (MOSTLYCLEANFILES):
15573         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
15574         (MOSTLYCLEANFILES):
15575         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
15576         (MOSTLYCLEANFILES):
15577         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
15578         (MOSTLYCLEANFILES):
15579         Remove.
15580         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
15581         * modules/snippet/c++defs (CXXDEFS_H):
15582         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
15583         * modules/snippet/warn-on-use (WARN_ON_USE_H):
15584         Don’t bother to remove the copyright notice; just use the
15585         original snippet as-is.
15587 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
15589         gnulib-tool: minor --gnu-make fixups
15590         * gnulib-tool (func_emit_lib_Makefile_am):
15591         Remove useless code that was a blind alley during implementation.
15592         Problem reported by Thien-Thi Nguyen in:
15593         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
15594         (func_import): Note the "--gnu-make" option in the output comment.
15596 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
15598         gnulib-tool: new option --gnu-make
15599         This is for applications like GNU Emacs that use GNU Make
15600         features instead of Automake.
15601         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
15602         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
15603         Do not assume Automake.
15604         * gnulib-tool (func_determine_path_separator)
15605         (func_modules_transitive_closure, func_update_file)
15606         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
15607         (func_import): Add support for --gnu-make.
15609 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
15611         gnulib-common.m4: avoid aclocal.m4 bloat
15612         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
15613         Hide AM_PROG_AR from aclocal, so that aclocal does not
15614         install irrelevant macro definitions into aclocal.m4.
15616 2017-03-10  Bruno Haible  <bruno@clisp.org>
15618         vma-iter: Let callers know about error.
15619         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
15620         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
15622 2017-03-05  Bruno Haible  <bruno@clisp.org>
15624         Fix value of LD for 64-bit compilers on AIX.
15625         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
15626         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
15628 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
15630         dtotimespec: simplify
15631         * lib/dtotimespec.c (dtotimespec): Simplify.
15633 2017-03-04  Bruno Haible  <bruno@clisp.org>
15635         test-calloc-gnu: Reenable test also for GCC 7.
15636         * tests/test-calloc-gnu.c (eight): New function.
15637         (main): Don't skip test; use eight() instead.
15639 2017-03-04  Jim Meyering  <meyering@fb.com>
15641         test-calloc-gnu: port to GCC7
15642         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
15643         that attempts to calloc more than SIZE_MAX bytes, because GCC7
15644         and newer would detect that at compilation time.
15646 2017-03-04  Bruno Haible  <bruno@clisp.org>
15648         tests: Avoid compiler warning about uses of null_ptr.
15649         * tests/null-ptr.h: New file.
15650         * tests/test-canonicalize.c: Include null-ptr.h.
15651         (null_ptr): Remove function.
15652         * tests/test-canonicalize-lgpl.c: Likewise.
15653         * tests/test-memmem.c: Likewise.
15654         * tests/test-ptsname_r.c: Likewise.
15655         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
15656         * modules/canonicalize-lgpl-tests: Likewise.
15657         * modules/memmem-tests: Likewise.
15658         * modules/ptsname_r-tests: Likewise.
15659         Reported by Jim Meyering.
15661 2017-03-03  Bruno Haible  <bruno@clisp.org>
15663         doc: Mention Mac OS X deficiencies regarding semaphores.
15664         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
15665         * doc/posix-functions/sem_destroy.texi: Likewise.
15666         * doc/posix-functions/sem_getvalue.texi: Likewise.
15668 2017-03-03  Bruno Haible  <bruno@clisp.org>
15670         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
15671         Reported by Assaf Gordon <assafgordon@gmail.com> via
15672         Pádraig Brady <P@draigBrady.com>.
15673         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
15674         semaphores.
15675         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
15676         (atomic_int_semaphore): New macro.
15678 2017-02-28  Bruno Haible  <bruno@clisp.org>
15680         perror tests: Tweak for z/OS.
15681         Reported by Daniel Richard G. <skunk@iskunk.org>.
15682         * tests/test-perror.sh: Don't fail z/OS style perror output.
15684 2017-02-26  Bruno Haible  <bruno@clisp.org>
15686         nproc: Refactor large function.
15687         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
15688         from num_processors.
15689         (num_processors): In this function, only deal with OMP.
15691 2017-02-26  Pádraig Brady  <P@draigBrady.com>
15693         nproc: adjust handling of OpenMP environment variables
15694         to match the return value from omp_get_num_threads(), i.e.:
15695          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
15696          - Treat 0 as an invalid value and ignore
15697         Also remove the call to omp_get_num_threads() because
15698         it's ineffective without the omp pragmas in place.
15699         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
15700         so that it can be ignored.
15701         (num_processors): Honor OMP_THREAD_LIMIT even without
15702         OMP_NUM_THREADS being set.  Also fix a typo in the environment
15703         variable being checked, from the previous recent commit.
15705 2017-02-26  Pádraig Brady  <P@draigBrady.com>
15707         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
15708         * lib/nproc.c (parse_omp_threads): A new function refactored
15709         from num_processors() to support parsing both of the
15710         above environment variables.
15711         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
15712         to accurately reflect the current OpenMP nesting level.
15713         Also support the OMP_THREAD_LIMIT environment variable
15714         to limit the max value determined from OMP_NUM_THREADS.
15715         * modules/nproc: Depend on minmax header.
15716         Suggested by Oliver Heimlich.
15718 2017-02-25  Bruno Haible  <bruno@clisp.org>
15720         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
15721         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
15723 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15725         ftoastr: port to -Wdouble-promotion
15726         Work around -Wdouble-promotion false alarm in recent GCCs.
15727         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
15728         (ftoastr_snprintf, FTOASTR): Use it.
15730 2017-02-21  Bruno Haible  <bruno@clisp.org>
15732         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
15733         Reported by Rene Saavedra <rennes@openmailbox.org> in
15734         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
15735         * lib/glthread/lock.h: On glibc systems without
15736         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
15737         implementation of rwlocks.
15738         * lib/glthread/lock.c: Likewise.
15740 2017-02-20  Bruno Haible  <bruno@clisp.org>
15742         lock tests: Fix build failure on z/OS.
15743         Reported by Daniel Richard G. <skunk@iskunk.org>.
15744         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
15745         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
15746         exist.
15748 2017-02-19  Bruno Haible  <bruno@clisp.org>
15750         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
15751         This helps when CC=clang.
15752         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
15753         of /usr/bin/gcc.
15755         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
15756         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
15758 2017-02-19  Bruno Haible  <bruno@clisp.org>
15760         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
15761         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
15762         --with-tests --single-configure is specified.
15764 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
15766         users.txt: Update links, use HTTPS where possible
15767         * users.txt: Updated to HTTPS where possible,
15768         fixed some links to new locations.
15770 2017-02-16  Bruno Haible  <bruno@clisp.org>
15772         xbinary-io: Fix inlining.
15773         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
15775 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
15777         xbinary-io: rename from xsetmode
15778         This patch is taken from suggestions by Bruno Haible in:
15779         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
15780         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
15781         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
15782         not ENOTTY, when it is an inappropriate device.
15783         * lib/binary-io.h (SET_BINARY): Resurrect.
15784         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
15785         (xset_binary_mode_error): Rename from xsetmode_error.
15786         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
15787         (xset_binary_mode): Rename from xsetmode.
15788         All uses changed.
15789         * modules/xbinary-io: Rename from modules/xsetmode.
15790         Update file names.
15791         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
15792         * NEWS: Update to match revised behavior.
15794 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
15796         tests: Adjust to recent SET_BINARY change
15797         * tests/test-binary-io.c (main):
15798         * tests/test-binary-io.sh: Remove test for SET_BINARY.
15799         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
15800         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
15801         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
15803         xsetmode: new module
15804         This is to fix a problem noted by Eric Blake.
15805         Code was using xfreopen to change files to binary mode, but this
15806         fails for stdout when in append mode.  Such code should use
15807         xsetmode instead.
15808         * NEWS: Document incompatible changes to binary-io module.
15809         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
15810         New function.
15811         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
15812         (set_binary_mode): New function, which also checks for tty.
15813         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
15815 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
15817         headers: fix begin-end typos
15818         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
15819         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
15821         selinux-h: port to PGI 16.10
15822         * lib/se-selinux.in.h: Don't assume that include_next skips over
15823         duplicate -I DIR options.
15825         argp: port to PGI 16.10
15826         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
15828 2017-02-13  Darshit Shah  <darnir@gnu.org>
15830         unicase: Update function protoype to match definition.
15831         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
15832         uses 'size_t' as the datatype for the 'len' parameter in the functions
15833         it generates. Update the prototype specified here to match the newly
15834         generated function.
15836 2017-02-12  Bruno Haible  <bruno@clisp.org>
15838         times test: Avoid gcc warnings on Linux/x32.
15839         * tests/test-times.c (main): Really cast printf arguments from clock_t
15840         to 'long int'.
15842 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
15844         glob: port better to emscripten
15845         Problem reported by Bruno Haible in:
15846         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
15847         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
15849 2017-02-11  Bruno Haible  <bruno@clisp.org>
15851         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
15852         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
15853         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
15854         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
15855         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
15856         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
15857         Distinguish hppa64 from hppa.
15859 2017-02-10  Bruno Haible  <bruno@clisp.org>
15861         search: Don't assume that tsearch() exists if 'VISIT' is defined.
15862         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
15863         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
15864         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
15866 2017-02-09  Bruno Haible  <bruno@clisp.org>
15868         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
15869         * doc/gnulib.texi (Libtool and Windows): Recommend
15870         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
15871         Reported by Reuben Thomas <rrt@sc3d.org>.
15873 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
15875         stddef-tests: port to SIZE_MAX <= INT_MAX
15876         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
15877         Do not assume that INT_MAX < SIZE_MAX.
15879 2017-02-01  Bruno Haible  <bruno@clisp.org>
15881         lock tests: Fix link error.
15882         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
15883         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15885 2017-01-31  Bruno Haible  <bruno@clisp.org>
15887         lock: Fix link error (regression from 2017-01-05).
15888         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
15889         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
15890         pthread_rwlockattr_destroy weak.
15891         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15893 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
15895         Port to PGI 16.10 x86-64
15896         This patch fixes one real bug in gl_anylinked_list2.h, along with
15897         some minor glitches that are not bugs.  It does not silence PGI’s
15898         thousands of bogus warnings when compiling test-intprops.c.
15899         Fortunately, the warnings do not cause a failure.
15900         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
15901         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
15902         My goodness, PGI goes back a long ways - this predates C89!
15903         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
15904         For example, ASYNCSAFE (const void *) should expand to
15905         ‘const void *volatile’, not to ‘volatile const void *’.
15906         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
15907         * lib/verify.h (verify) [!__GNUC__]:
15908         Use shorter albeit meaningless string to bypass silly compiler limits.
15909         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
15910         * tests/nan.h (NaNf, NaNd, NaNl):
15911         Use static functions to avoid misguided compiler diagnostics.
15912         Is there some reason we don’t use static functions on all platforms?
15914 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15916         parse-datetime: handle timezones reentrantly
15917         This API change was prompted by a report by Pádraig Brady in:
15918         https://bug.debian.org/851934#10
15919         To help fix the bug, make parse_datetime2 more reentrant.
15920         * NEWS: Document this incompatible change.
15921         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
15922         Add two arguments, the timezone and the timezone name.
15923         All callers changed.  If TZ="..." is specified, use it for
15924         calculating defaults.
15925         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
15926         this code should be usable in a library.
15927         (mktime_ok, get_effective_timezone):
15928         Accept timezone arg too.  All callers changed.
15929         (get_tz): Remove.
15930         (get_effective_timezone): Check for failures.
15932 2017-01-20  Eric Blake  <eblake@redhat.com>
15934         localename: port to cygwin 2.6
15935         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
15936         Cygwin.
15937         * modules/localename (Depends-on): Add extensions, since
15938         NL_LOCALE_NAME() is not visible without it.
15940 2017-01-17  Pádraig Brady  <P@draigBrady.com>
15942         parse-datetime: fix dependence on AC_PROG_SED
15943         * modules/parse-datetime: Use `sed` directly like all other modules.
15944         Reported by J William Piggott
15946 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
15948         intprops: update doc URLs
15949         * doc/intprops.texi (Integer Range Overflow): Update URLs.
15951 2017-01-16  Bruno Haible  <bruno@clisp.org>
15953         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
15954         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
15955         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
15956         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
15957         distinguish s390 and s390x.
15958         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
15959         * NEWS: Mention the change regarding 'armel'.
15961 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
15963         localeinfo: case_folded_counterparts and WEOF
15964         * NEWS: Document this.
15965         * lib/localeinfo.c (case_folded_counterparts):
15966         First arg is now wint_t, not wchar_t.  This generalizes the
15967         function to also work on WEOF, where it returns 0.
15969         dfa: port to gcc -fsanitize=undefined
15970         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
15971         as this runs afoul of gcc -fsanitize=undefined.
15973 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
15975         strftime: %z is -00 if unknown
15976         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
15977         the caller's responsibility to set 'negative_number'.  All uses changed.
15978         (__strftime_internal): Put '-' before a zero UTC offset if the time
15979         zone abbreviation starts with "-", which is the recently-introduced
15980         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
15981         * tests/test-strftime.c: Test for this.
15983 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15985         dfa: port to older GCC
15986         Problem reported by Assaf Gordon in:
15987         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
15988         * modules/c99: New module.  This merely attempts to use the latest
15989         C version, which should be enough to solve this particular problem.
15990         The idea is to document which Gnulib modules assume C99 or later.
15991         * modules/dfa (Depends-on): Add it.
15993 2017-01-10  Bruno Haible  <bruno@clisp.org>
15995         Update DEPENDENCIES.
15996         * DEPENDENCIES: List only https URLs. Update recommended version for
15997         autoconf, automake, gperf.
15999 2017-01-10  Jim Meyering  <meyering@fb.com>
16001         maint.mk: enforce spelling of "timestamp" (i.e., no space)
16002         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
16003         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
16005 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
16007         dfa: minor simplification with emptyset
16008         * lib/dfa.c (build_state): Simplify by using emptyset.
16010 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
16012         dfa: shrink constraints from 4 bits to 3
16013         * lib/dfa.c (newline_constraint, letter_constraint)
16014         (other_constraint, prev_newline_dependent)
16015         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
16016         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
16017         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
16018         Constraints need only 3 bits, not 4.  Using smaller integers
16019         shrinks the code a bit and makes grep a tad faster on x86-64.
16021         dfa: omit unnecessary ptrdiff_t check
16022         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
16023         overflow, since xnmalloc does that now.
16025         dfa: omit unnecessary allocation
16026         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
16027         an all-zero follow set works just fine.
16029         dfa: omit unused local
16030         * lib/dfa.c (build_state): Fix up recent change.
16032         maint: remove stray .texi files
16033         Although these were superseded by other files like
16034         doc/posix-functions/ctime.texi, the old files were not removed.
16035         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
16037 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
16039         getprogname: fix port to IRIX
16040         * lib/getprogname.c (getprogname) [__sgi]:
16041         Don't dump core if malloc returns NULL.
16043         dfa: fix reallocation bug when matching newlines
16044         Problem reported for sed by S. Gilles (Bug#25390).
16045         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
16046         (dfastate): Reallocate before moving any newline transition ...
16047         (build_state): ... instead of reallocating here, where it is too late.
16049 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
16051         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
16052         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
16054 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
16056         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
16057         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
16059 2017-01-07  Bruno Haible  <bruno@clisp.org>
16061         stdioext: Port to Minix 3.2 and newer.
16062         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
16063         * lib/fseeko.c (fseeko): Likewise.
16064         Reported by Nelson Beebe via Paul Eggert.
16066 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
16068         getprogname: port to IRIX
16069         * lib/getprogname.c (getprogname): Port to IRIX.
16070         Based on an idea by Bastien Roucariès at:
16071         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
16072         via code from Bruno Haible at:
16073         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
16075         localename-tests: port to NetBSD 7
16076         Problem reported by Nelson H. F. Beebe.
16077         * tests/test-localename.c:
16078         Test newlocale and uselocale only if both exist.
16080         glob, intprops, xalloc: work around Clang bug
16081         Work around LLVM bug 16404, which is still not fixed.
16082         https://llvm.org/bugs/show_bug.cgi?id=16404
16083         Problem reported by Nelson H. F. Beebe.
16084         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
16085         Remove.
16086         * lib/glob.c (size_add_wrapv):
16087         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
16088         * lib/xalloc-oversized.h (xalloc_oversized):
16089         Do not use overflow builtins if Clang.
16091         dfa: fix 'return' typo
16092         Problem reported by Nelson H. F. Beebe.
16093         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
16095 2017-01-05  Pádraig Brady  <P@draigBrady.com>
16097         parse-datetime: fix generated paths for coverage files
16098         * modules/parse-datetime: Adjust the paths for parse-datetime.y
16099         within parse-datetime.c, so that gcc generates appropriate .gcno
16100         files, allowing lcov to proceed without error.  Previously it
16101         would error trying to find "lib/lib/parse-datetime.y".
16103 2017-01-05  Pádraig Brady  <P@draigBrady.com>
16105         maint.mk: support parallel execution of coverage
16106         * top/maint.mk (coverage): Run dependencies serially,
16107         thus supporting parallel processing of each one,
16108         particularly build-coverage, which builds and runs tests.
16110 2017-01-05  Bruno Haible  <bruno@clisp.org>
16112         lock tests: Prefer semaphore over mutex.
16113         * tests/test-lock.c (USE_SEMAPHORE): New constant.
16114         (struct atomic_int, init_atomic_int, get_atomic_int_value,
16115         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
16116         Suggested by Torvald Riegel <triegel@redhat.com>.
16118 2017-01-05  Bruno Haible  <bruno@clisp.org>
16120         lock: Provide guarantee to avoid writer starvation for rwlocks.
16121         The rationale is: 1) Read-preferring read-write locks are prone to
16122         writer starvation if the number of reader threads multiplied by the
16123         percentage of time they have the lock held is too high. 2) Write-
16124         preferring read-write locks are the only reliable way to avoid this.
16125         3) There have been reports of 'test-lock' hanging on glibc systems
16126         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
16127         and glibc indeed implements read-preferring rwlocks by default, see
16128         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
16129         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
16130         * m4/pthread_rwlock_rdlock.m4: New file.
16131         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
16132         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
16133         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
16134         of rwlock initialization on glibc systems without
16135         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
16136         of rwlocks altogether on non-glibc systems without
16137         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
16138         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
16139         * lib/glthread/lock.c [USE_POSIX_THREADS]
16140         (glthread_rwlock_init_for_glibc): New function.
16141         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
16142         comment.
16143         [USE_PTH_THREADS]: New implementation of rwlocks.
16144         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
16145         readers.
16146         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
16147         (Depends-on): Add 'extensions'.
16148         * tests/test-rwlock1.c: New file.
16149         * lock-tests (Files): Add it.
16150         (Depends-on): Add usleep.
16151         (Makefile.am): Add test-rwlock1 to the tests.
16153 2017-01-05  Bruno Haible  <bruno@clisp.org>
16155         thread: Fix pth port.
16156         * lib/glthread/thread.h (pth_init): Declare weak.
16157         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
16158         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
16159         function.
16161 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
16163         parse-datetime: fix debug message on lone year number
16164         Input dates such as
16165           date -d "Apr 11 22:59:00 2011"
16166         are parsed as date (Apr 11, with default year 2016), then time, then a
16167         number (2011). Based on the combination of previously seen tokens,
16168         'digits_to_date_time' determines 2011 to be a year value.
16169         This fixes the debug messages to correctly show the updated year.
16170         Before:
16171             $ date --debug -d 'Apr 11 22:59:00 2011'
16172             date: parsed date part: (Y-M-D) 2016-04-11
16173             date: parsed time part: 22:59:00
16174             date: parsed number part: today/this/now
16175         After:
16176             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
16177             date: parsed date part: (Y-M-D) 2016-04-11
16178             date: parsed time part: 22:59:00
16179             date: parsed number part: year: 2011
16180         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
16181         'debug_year_seen' member fields.
16182         (digits_to_date_time): Update 'year_seen' as needed.
16183         (debug_print_current_time): Inform about year updates.
16184         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
16186         parse-datetime: fix local timezone debug messages
16187         "Local timezones" are strings that affect only DST relative to the
16188         default timezone. The debug messages in parse-datetime.y printed
16189         wrong information when encountering local timezones.
16190         Examples:
16191         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
16192              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
16193              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
16194         When the default timezone relates to the zone strings, EET/EEST are
16195         parsed as local timezones (tLOCAL_ZONE), and only change the DST
16196         value (0/1, respectively):
16197              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
16198              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
16199         * lib/parse-datetime.y (debug_print_current_time): If local timezone
16200         was seen, inform about DST change, don't print actual timezone.
16201         (debug_strfdatetime): If local timezone was seen, use default timezone
16202         (and adjust as needed) instead of using incorrect timezone.
16203         (parse_datetime2): Use correct time-zone source string, and adjust
16204         default timezone as needed.
16206         parse-datetime: add debug warning about DST changes
16207         Incorrect date arithmetic due to daylight saving time (DST) are a
16208         common (false) bug report in coreutils.
16209         Detect two such cases and print a warning:
16210         1. year/month/day adjustments (performed on 'struct tm'),
16211            where 'mktime' returns a different isdst value.
16212         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
16213            where the result of 'localtime(3)' on the value will return a
16214            different isdst value.
16215         Note: DST changes could be harmless or unnoticeable.
16216         Examples (with 'TZ=America/New_York'):
16217         Unnoticeable: result is 2016-Dec-14
16218            $ date -d '2016-06-15 EDT + 6 months' +%b
16219            Dec
16220         Unnoticeable: result is 2016-Dec-15 11:00:00
16221            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
16222            2016-12-15
16223         This is unexpected:
16224            $ date -d '2016-06-01 EDT + 6 months' +%F
16225            2016-11-30
16226         The new debug warnings will show:
16227            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
16228            ...
16229            date: warning: daylight saving time changed after date adjustment
16230            ...
16231         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
16232         print an appropriate warning message.
16234         parse-datetime: add debug warning about date arithmetic
16235         Date arithmetic are done directly on the fields of 'struct tm',
16236         which can result in invalid dates. Normalization with 'mktime(3)'
16237         will then produce a different date - which might cause unexpected
16238         results.
16239         Examples:
16240           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
16241           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
16242         Note that date normalization is not inherently wrong and not rejected,
16243         as it has legitimate uses:
16244           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
16245         If the user asked to adjust months but 'mday' changed,
16246         or user asked to adjust years but 'month' changed - warn about it.
16247             $ ./src/date --debug -d '2016-10-31 - 1 month'
16248             ...
16249             date: warning: when adding relative months/years, \
16250                            it is recommended to specify the 15th of the month
16251             ...
16252             date: warning: month/year adjustment resulted in shifted dates:
16253             date:      adjusted Y M D: 2016 09 31
16254             date:    normalized Y M D: 2010 10 01
16255             ...
16256         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
16257         a warning message. Improve recommendation of when to use 15 of the
16258         month or noon for date arithmetic.
16260         parse-datetime: fix debug message of relative part after timezone
16261         Relative part (e.g '+8 days') after a timezone string was not
16262         reported (was only reported after a timezone number). Due to the
16263         parser's structure, timezone strings with numbers were handled
16264         separately.
16265         before:
16266              # Timezone number + relative part: OK
16267              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
16268              ...
16269              date: parsed relative part: -8 day(s)
16270              # Timezone string + relative part: missing
16271              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
16272              [ missing message ]
16273         After: messages are printed in both cases.
16274         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
16276         parse-datetime: fix incorrect debug message on lone number
16277         A lone number is an absolute value, not a relative time part.
16278         before:
16279            $ date --debug -d '20130101'
16280            date: parsed number part: today/this/now
16281         After:
16282            $ ./src/date --debug -d '20130101'
16283            date: parsed number part: (Y-M-D) 2013-01-01
16284         * lib/parse-datetime.y ('item'/'number' tokens): Call
16285         'debug_print_current_time' instead of 'debug_print_relative_time'.
16287 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
16289         doc: modernize for C11 etc.
16290         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
16291         for C11, MinGW, etc.  This responds to Paul Smith's question in:
16292         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
16294         dfa: prefer functions to FETCH_WC macro
16295         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
16296         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
16297         wint_t result into DFA->lex.wctok instead of to a separate arg.
16298         All callers changed.  Move more local decls closer to where
16299         they're used.
16301         dfa: narrow more local var scopes
16302         * lib/dfa.c: Move more local decls to be more local.
16304         dfa: remove duplicate assignment
16305         Problem reported by Bruno Haible in:
16306         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
16307         * lib/dfa.c (parse_bracket_exp): Simplify.
16309 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
16311         dfa: simplify constraint-dependency checking
16312         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
16313         (prev_other_constraint): Remove.
16314         (prev_newline_dependent, prev_letter_dependent):
16315         Simplify, to avoid an unnecessary bitwise AND operation.
16317         dfa: prefer functions and constants to macros
16318         * lib/dfa.c: Prefer constants to macros where either will do.
16319         (streq, isasciidigit, newline_constraint)
16320         (letter_constraint, other_constraint, succeeds_in_context)
16321         (prev_newline_constraint, prev_letter_constraint)
16322         (prev_other_constraint, prev_newline_dependent)
16323         (prev_letter_dependent, accepting, accepts_in_context):
16324         Now static functions instead of function-like macros.
16325         Use lower-case names accordingly.  All uses changed.
16327         dfa: narrow more local var scopes
16328         * lib/dfa.c: Move some more local decls down to nearer where
16329         they're needed.
16331 2016-12-31  Jim Meyering  <meyering@fb.com>
16333         dfa: narrow the scope of many local variables
16334         * lib/dfa.c: Now that we are no longer constrained to c89, move
16335         declarations of many variables (often indices) "down" into the
16336         scope(s) where used or to the point of definition.  This is a
16337         no-semantic-change diff.
16339 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
16341         version-etc: new year
16342         * build-aux/gendocs.sh (version):
16343         * doc/gendocs_template:
16344         * doc/gendocs_template_min:
16345         * doc/gnulib.texi:
16346         * lib/version-etc.c (COPYRIGHT_YEAR):
16347         Update copyright dates by hand in templates and the like.
16348         * all files: Run 'make update-copyright'.
16350 2016-12-31  Eric Blake  <eblake@redhat.com>
16352         do-release-commit-and-tag: avoid shell syntax error
16353         * build-aux/do-release-commit-and-tag (curr_br): $branch can
16354         contain spaces when rebasing.
16356         maint.mk: hoist gnulib_dir definition earlier
16357         * top/maint.mk (gnulib_dir): Move near top of file.
16359 2016-12-31  Jim Meyering  <meyering@fb.com>
16361         maint.mk: do not always evaluate intprops-related shell
16362         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
16363         using gnulib_dir undefined (gnulib_dir is defined later in the
16364         file, which will be fixed separately), and besides, there is no
16365         need to incur the cost of this shell invocation for every single
16366         use of this .mk file.  Reported by Eric Blake in
16367         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
16369 2016-12-30  Jim Meyering  <meyering@fb.com>
16371         maint.mk: improve sc_prohibit_intprops_without_use
16372         * top/maint.mk (_intprops_names): Don't hard-code the list of
16373         symbol names.  Instead, derive it on the fly.
16375 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
16377         dfa: shorten sbit, success
16378         * lib/dfa.c (struct regex_syntax.sbit):
16379         (struct dfa.success): Use char, not int, for array elements, since
16380         they are all in the range 0..7.
16382         dfa: simplify multibyte_prop etc.
16383         This follows up on a change made when dfa.c was in grep, namely grep
16384         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
16385         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
16386         That earlier simplification allows for some more simplification
16387         and trimming down here.
16388         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
16389         (struct lexer_state): New mamber brack.
16390         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
16391         since they must be in the range 0..3 now.
16392         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
16393         the brack member now supersedes them.
16394         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
16395         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
16396         (dfaparse): Remove unnecessary initializations of already-0 storage.
16397         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
16398         (dfassbuild): No need to clear sup->mbcsets.
16400         dfa: minor performance tweak
16401         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
16403         dfa: wrap charclass inside a struct
16404         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
16405         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
16406         about 5% faster, where list.txt is generated by 'aspell dump
16407         master | head -n 100000 >list.txt'.  See Bug#22239.
16408         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
16409         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
16410         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
16411         Adjust to this, e.g., by using charclass * rather than charclass.
16412         All callers changed as needed.
16413         (copyset): Remove.  All uses changed to simple assignment.
16414         (parse_bracket_exp): Use zeroset instead of memset.
16416 2016-12-30  Jim Meyering  <meyering@fb.com>
16418         maint.mk: update list of intprops.h symbol names
16419         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
16420         This avoids a false failure of the sc_prohibit_intprops_without_use
16421         rule in grep.
16423 2016-12-29  Eric Blake  <eblake@redhat.com>
16425         getopt: fix parallel test failure
16426         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
16427         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
16428         * tests/test-getopt-main.h (main): Use different file names
16429         in case test-getopt-gnu and test-getopt-posix run in parallel.
16431 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16433         xalloc: x2nrealloc check for ptrdiff_t overflow
16434         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
16435         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
16437 2016-12-24  Bruno Haible  <bruno@clisp.org>
16439         lock test: Fix performance problem on multi-core machines.
16440         * tests/test-lock.c (USE_VOLATILE): New macro.
16441         (struct atomic_int): New type.
16442         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
16443         functions.
16444         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
16445         as 'struct atomic_int'.
16446         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
16447         reclock_checker_thread, test_recursive_lock): Use the new functions.
16448         Reported by Eric Blake in
16449         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
16450         and by Pádraig Brady in
16451         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
16453 2016-12-19  Bruno Haible  <bruno@clisp.org>
16455         vma-iter: Fix endless loop on 64-bit Windows.
16456         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
16457         'unsigned long'.
16459 2016-12-19  Bruno Haible  <bruno@clisp.org>
16461         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
16462         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
16463         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
16464         Invoke gt_TYPE_WINT_T instead.
16465         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
16466         * modules/stdint (Files): Add m4/wint_t.m4.
16467         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
16468         * modules/wctype-h (Makefile.am): Likewise.
16469         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
16470         not only on MSVC.
16471         * lib/wctype.in.h (wint_t): Likewise.
16473 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16475         getopt-posix-tests: fix Makefile typo
16476         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
16477         Fix typo: the last ‘_’ was missing in the name.
16478         I suspect that the typo explains this build failure:
16479         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
16480         although I can’t reproduce the problem on Solaris 10 sparc.
16482 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
16484         dfa: improve worst-case 'replace' performance
16485         See my note in Bug#22357#71.
16486         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
16487         (merge_constrained): New function, which is like
16488         the old 'merge' function, except with a new argument C2.
16489         Simplify the body by avoiding the need for different sections
16490         of code depending on whether one input is exhausted.
16491         (merge): Use the new function.
16492         (delete): Return the constraint of the deleted position,
16493         not the entire position.  Caller changed.
16494         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
16496 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
16498         dfa: performance improvement for removal of epsilon closure
16499         See Bug#22357#32.
16500         * lib/dfa.c (delete): Use binary search to find deleted index.
16501         (replace): New function.  It replaces a position with the followed set.
16502         (epsclosure): Replace it with a new algorithm.  Update caller.
16504 2016-12-18  Bruno Haible  <bruno@clisp.org>
16506         Split tests for getopt-posix and getopt-gnu.
16507         * tests/test-getopt-posix.c: New file.
16508         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
16509         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
16510         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
16511         GNULIB_TEST_GETOPT_GNU.
16512         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
16513         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
16514         (Makefile.am): Test test-getopt-posix instead of test-getopt.
16515         * modules/getopt-gnu-tests: New file.
16516         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
16518 2016-12-18  Bruno Haible  <bruno@clisp.org>
16520         posix-modules: Add options for specific platforms.
16521         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
16522         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
16523         Invoke func_tmpdir. Filter out the excludes.
16525 2016-12-18  Bruno Haible  <bruno@clisp.org>
16527         getopt: Fix link error for users of getopt() in <unistd.h>.
16528         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
16529         __need_getopt is defined. Undefine all macros before defining them.
16530         * modules/getopt (Include): Clarify that including <unistd.h> is also
16531         OK.
16532         * tests/test-getopt.c: Add comment.
16534 2016-12-17  Bruno Haible  <bruno@clisp.org>
16536         getaddrinfo tests: Avoid compilation error on MSVC.
16537         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
16538         getaddrinfo on native Windows.
16540 2016-12-17  Bruno Haible  <bruno@clisp.org>
16542         getlogin, getlogin_r: Fix link errors on MSVC.
16543         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
16544         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
16545         (Link): New section.
16546         * modules/getlogin_r (Files): Add m4/getlogin.m4.
16547         (configure.ac): Require gl_LIB_GETLOGIN.
16548         (Link): New section.
16549         * NEWS: Mention the new link requirements.
16550         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
16551         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
16553 2016-12-17  Bruno Haible  <bruno@clisp.org>
16555         Un-deprecate the 'progname' module.
16556         * NEWS: Describe the appropriate use-cases of 'progname' versus
16557         'getprogname'. Based on discussion summary at
16558         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
16560 2016-12-17  Bruno Haible  <bruno@clisp.org>
16562         Reorganize NEWS a bit.
16563         * NEWS: Move some not so important changes away from section
16564         "Important Notes".
16566 2016-12-17  Bruno Haible  <bruno@clisp.org>
16568         tanhf: Avoid redefinition error on MSVC.
16569         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
16570         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
16571         may be defined as an inline function.
16572         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
16573         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
16575 2016-12-17  Bruno Haible  <bruno@clisp.org>
16577         tanf: Avoid redefinition error on MSVC.
16578         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
16579         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
16580         may be defined as an inline function.
16581         * modules/math (Makefile.am): Substitute REPLACE_TANF.
16582         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
16584 2016-12-17  Bruno Haible  <bruno@clisp.org>
16586         sqrtf: Avoid redefinition error on MSVC.
16587         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
16588         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
16589         may be defined as an inline function.
16590         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
16591         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
16593 2016-12-17  Bruno Haible  <bruno@clisp.org>
16595         sinhf: Avoid redefinition error on MSVC.
16596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
16597         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
16598         may be defined as an inline function.
16599         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
16600         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
16602 2016-12-17  Bruno Haible  <bruno@clisp.org>
16604         sinf: Avoid redefinition error on MSVC.
16605         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
16606         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
16607         may be defined as an inline function.
16608         * modules/math (Makefile.am): Substitute REPLACE_SINF.
16609         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
16611 2016-12-17  Bruno Haible  <bruno@clisp.org>
16613         logf: Avoid redefinition error on MSVC.
16614         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
16615         may be defined as an inline function.
16617 2016-12-17  Bruno Haible  <bruno@clisp.org>
16619         log10l: Avoid redefinition error on MSVC.
16620         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
16621         may be defined as an inline function.
16623 2016-12-17  Bruno Haible  <bruno@clisp.org>
16625         log10f: Avoid redefinition error on MSVC.
16626         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
16627         may be defined as an inline function.
16629 2016-12-17  Bruno Haible  <bruno@clisp.org>
16631         hypotl: Avoid redefinition error on MSVC.
16632         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
16633         may be defined as an inline function.
16635 2016-12-17  Bruno Haible  <bruno@clisp.org>
16637         hypotf: Avoid redefinition error on MSVC.
16638         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
16639         may be defined as an inline function.
16641 2016-12-17  Bruno Haible  <bruno@clisp.org>
16643         fmodl: Avoid redefinition error on MSVC.
16644         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
16645         may be defined as an inline function.
16647 2016-12-17  Bruno Haible  <bruno@clisp.org>
16649         fmodf: Avoid redefinition error on MSVC.
16650         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
16651         may be defined as an inline function.
16653 2016-12-17  Bruno Haible  <bruno@clisp.org>
16655         expf: Avoid redefinition error on MSVC.
16656         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
16657         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
16658         may be defined as an inline function.
16659         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
16660         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
16662 2016-12-17  Bruno Haible  <bruno@clisp.org>
16664         coshf: Avoid redefinition error on MSVC.
16665         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
16666         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
16667         may be defined as an inline function.
16668         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
16669         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
16671 2016-12-17  Bruno Haible  <bruno@clisp.org>
16673         cosf: Avoid redefinition error on MSVC.
16674         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
16675         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
16676         may be defined as an inline function.
16677         * modules/math (Makefile.am): Substitute REPLACE_COSF.
16678         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
16680 2016-12-17  Bruno Haible  <bruno@clisp.org>
16682         atan2f: Avoid redefinition error on MSVC.
16683         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
16684         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
16685         may be defined as an inline function.
16686         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
16687         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
16689 2016-12-17  Bruno Haible  <bruno@clisp.org>
16691         atanf: Avoid redefinition error on MSVC.
16692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
16693         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
16694         may be defined as an inline function.
16695         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
16696         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
16698 2016-12-17  Bruno Haible  <bruno@clisp.org>
16700         asinf: Avoid redefinition error on MSVC.
16701         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
16702         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
16703         may be defined as an inline function.
16704         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
16705         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
16707 2016-12-17  Bruno Haible  <bruno@clisp.org>
16709         acosf: Avoid redefinition error on MSVC.
16710         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
16711         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
16712         may be defined as an inline function.
16713         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
16714         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
16716 2016-12-17  Bruno Haible  <bruno@clisp.org>
16718         Avoid redefinition errors on MSVC.
16719         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
16720         the function may be defined as an inline function.
16721         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
16722         the function may be defined as an inline function.
16724 2016-12-17  Bruno Haible  <bruno@clisp.org>
16726         Avoid redefinition errors on MSVC.
16727         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
16728         * lib/unistd.in.h: Include <stdio.h> when necessary.
16730 2016-12-17  Bruno Haible  <bruno@clisp.org>
16732         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
16733         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
16734         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
16735         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
16736         WINT_MAX.
16738 2016-12-17  Bruno Haible  <bruno@clisp.org>
16740         Avoid autoconf warning.
16741         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
16742         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
16744 2016-12-17  Bruno Haible  <bruno@clisp.org>
16746         fpending: Revert workaround against Emacs bug.
16747         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
16748         The Emacs bug is fixed by Eli Zaretskii in
16749         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
16751 2016-12-17  Bruno Haible  <bruno@clisp.org>
16753         getlogin_r tests: Port to mingw.
16754         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
16755         regression introduced on 2014-05-19.
16757 2016-12-17  Bruno Haible  <bruno@clisp.org>
16759         getlogin: Port to newer mingw.
16760         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
16761         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
16762         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
16763         HAVE_GETLOGIN.
16764         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
16765         HAVE_GETLOGIN.
16766         * doc/posix-functions/getlogin.texi: Mention the issue.
16767         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
16768         regression introduced on 2014-05-14.
16770 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
16772         builtin-expect: improve port to IBM XL C
16773         Problem reported for z/OS by Daniel Richard G. in:
16774         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
16775         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
16776         Test for <builtins.h> directly.
16778         builtin-expect: port to IBM XL C
16779         Problem reported for z/OS by Daniel Richard G. in:
16780         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
16781         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
16782         Also allow __builtin_expect defined via a standard include file.
16784         regex: fix dependency
16785         Problem reported by Bruno Haible in:
16786         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
16787         * modules/regex: Depend on builtin-expect.
16789         builtin-expect: new module
16790         Fix fnmatch to use it.
16791         Problem reported for z/OS by Daniel Richard G.
16792         * lib/fnmatch.c (__builtin_expect):
16793         * lib/glob.c (__builtin_expect):
16794         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
16795         * lib/memmem.c (__builtin_expect) [!_LIBC]:
16796         * lib/scandir.c (__builtin_expect):
16797         * lib/strstr.c (__builtin_expect) [!_LIBC]:
16798         Remove macro; config.h now does this.
16799         * lib/gl_anytreehash_list1.h (add_to_bucket):
16800         * lib/regex_internal.h (BE):
16801         Assume __builtin_expect.
16802         * m4/builtin-expect.m4, modules/builtin-expect: New files.
16803         * modules/avltreehash-list, modules/fnmatch, modules/glob:
16804         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
16805         * modules/scandir, modules/strstr-simple:
16806         Depend on builtin-expect.
16808 2016-12-15  Bruno Haible  <bruno@clisp.org>
16810         init.sh: Add possibility to not delete temporary files.
16811         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
16812         to yes, don't erase the temporary directory.
16814 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
16816         regex: fix integer-overflow bug in never-used code
16817         Problem reported by Clément Pit–Claudel in:
16818         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
16819         * lib/regex_internal.h: Include intprops.h.
16820         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
16821         behavior on integer overflow.
16822         * modules/regex (Depends-on): Add intprops.
16824         fpending: fix port to MinGW on Emacs
16825         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
16826         Problem reported by Eli Zaretskii in:
16827         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
16828         Is Plan 9 still a valid porting target, anyway?
16830 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
16832         safe-alloc: use xalloc-oversized
16833         * lib/safe-alloc.c: Include xalloc-oversized.h.
16834         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
16835         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
16837         xalloc: do not exceed PTRDIFF_MAX
16838         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
16839         xalloc_oversized check, since objects larger than PTRDIFF_MAX
16840         bytes have pointer-subtraction problems.
16842         malloca: do not exceed PTRDIFF_MAX
16843         * lib/malloca.h: Include xalloc-oversized.
16844         (nmalloca): Use xalloc_oversized instead of rolling our own.
16845         * modules/malloca (Depends-on):
16846         * modules/relocatable-prog-wrapper (Depends-on):
16847         Add xalloc-oversized.
16849         quotearg: pacify GCC better
16850         * modules/quotearg (Depends-on): Add minmax, stdint.
16851         * lib/quotearg.c: Include minmax.h, stdint.h.
16852         (nslots): Now int, as there seems little point to going to extra
16853         work merely to support the INT_MAX slot, which nobody ever uses.
16854         (quotearg_n_options): Redo size-overflow checks to pacify GCC
16855         and to catch (mostly-theoretical) ptrdiff_t problems too.
16856         This can be done via one comparison.
16858 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
16860         xalloc-oversized: check for PTRDIFF_MAX too
16861         This avoids undefined behavior when subtracting pointers to
16862         objects containing more than PTRDIFF_MAX bytes.
16863         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
16864         Also return 1 if the result would exceed PTRDIFF_MAX>
16865         * modules/xalloc-oversized (Depends-on):
16866         Add stdint.
16868         dfa: fix glitches in previous commit
16869         Sorry, I don't know how I managed to commit the wrong version.
16870         * lib/dfa.c (MIN): Move up.
16871         (xpalloc): Now static.
16873         dfa: fix some unlikely integer overflows
16874         I found these while reviewing the recent Coverity-related fix.
16875         This patch changes part of dfa.c to prefer ptrdiff_t instead of
16876         size_t for object counts.  Using ptrdiff_t is the style typically
16877         used in Emacs; although it wastes a sign bit as sizes can never be
16878         negative, it makes -fsanitize=undefined more likely to catch
16879         integer overflows in index calculation, and nowadays the upside is
16880         typically more important than the downside.  Although perhaps the
16881         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
16882         of dfa.c already does, since it uses state_num which is signed),
16883         that is a bigger change and is not needed to fix the bugs I found.
16884         * lib/dfa.c: Include stdint.h and intprops.h.
16885         (TOKEN_MAX): New macro.
16886         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
16887         (charclass_index, parse_bracket_exp, addtok, insert, merge)
16888         (realloc_trans_if_necessary, free_mbdata):
16889         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
16890         This is safe because xpalloc checks that the sizes do not exceed
16891         either SIZE_MAX or PTRDIFF_MAX.
16892         (xpalloc): New function, mostly taken from Emacs.
16893         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
16894         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
16895         (charclass_index): Check for integer overflow in computing
16896         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
16897         added to it later.
16898         (alloc_position_set): Check for integer overflow.  On typical
16899         platforms this check has zero overhead, since the constant
16900         expression is false.
16901         (realloc_trans_if_necessary):
16902         Remove assertion, which I hope Coverity no longer needs.
16904         * modules/dfa (Depends-on): Add intprops, stdint.
16906 2016-12-12  Jim Meyering  <meyering@fb.com>
16908         dfa: add an assertion to avoid coverity false positive
16909         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
16910         warned that "newalloc1 - 2" could overflow.
16912 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
16914         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
16915         * dfa.h (DFA_CASE_FOLD): Remove.
16916         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
16918 2016-12-13  John W. Eaton  <gnu@jweaton.org>
16920         link: fix test to declare use of rename()
16921         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
16922         -Werror=implicit-function-declaration
16924 2016-12-12  Bruno Haible  <bruno@clisp.org>
16926         fpending: Port to native Windows with MSVC.
16927         * lib/fpending.c: Include stdio-impl.h.
16928         (__fpending): Include all known implementations. Err out if it's not
16929         ported.
16930         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
16931         * modules/fpending (Files): Add lib/stdio-impl.h.
16932         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
16934 2016-12-12  Bruno Haible  <bruno@clisp.org>
16936         stdioext: Port to native Windows with MSVC.
16937         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
16938         (struct _gl_real_FILE): New type.
16939         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
16940         Windows.
16941         * lib/fbufmode.c (fbufmode): Add code for native Windows.
16942         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
16943         other SystemV derived implementations.
16944         * lib/fpurge.c (fpurge): Likewise.
16945         * lib/freadable.c (freadable): Likewise.
16946         * lib/freadahead.c (freadahead): Likewise.
16947         * lib/freading.c (freading): Likewise.
16948         * lib/freadptr.c (freadptr): Likewise.
16949         * lib/freadseek.c (freadptrinc): Likewise.
16950         * lib/fseeko.c (fseeko): Likewise.
16951         * lib/fseterr.c (fseterr): Likewise.
16952         * lib/fwritable.c (fwritable): Likewise.
16953         * lib/fwriting.c (fwriting): Likewise.
16954         Reported by Gisle Vanem <gvanem@yahoo.no>.
16956 2016-12-11  Jim Meyering  <meyering@fb.com>
16958         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
16959         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
16960         to work with most shells, but not with the one provided by many
16961         Solaris 10 systems, so running configure with such a /bin/sh evokes
16962         e.g., "./configure: syntax error at line 33602: `(' unexpected".
16963         Reported by Assaf Gordon in
16964         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
16966 2016-12-10  Bruno Haible  <bruno@clisp.org>
16968         threadlib: Optimize out runtime test on Solaris >= 10.
16969         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
16970         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
16971         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
16973 2016-12-10  Bruno Haible  <bruno@clisp.org>
16975         stdint: Update doc about Solaris 9.
16976         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
16978 2016-12-09  Bruno Haible  <bruno@clisp.org>
16980         c-ctype tests: Fix link error on Solaris 9.
16981         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
16982         Reported at <https://savannah.gnu.org/bugs/?46827>.
16984 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
16986         dfa: fix performance bug that recomputes trans
16987         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
16988         25 on-demand changes.  The bug caused build_state to reset all
16989         d->trans elements to -2 even when d->trans was already non-null.
16990         Use C99 style decls after statements in this function.
16992         same-inode: port to MinGW
16993         Here st_ino is always 0, so change the definition of SAME_INODE so
16994         that 1 means the two files are the same, 0 with st_ino != 0 means
16995         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
16996         reported by Bruno Haible (Bug#25146).
16997         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
16998         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
17000 2016-12-04  Bruno Haible  <bruno@clisp.org>
17002         javacomp-script: Support Java 7 and 8.
17003         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
17004         target-version 1.7, 1.8.
17006 2016-12-02  Daiki Ueno  <ueno@gnu.org>
17008         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
17009         GPLv2" rewriting.
17011 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
17013         * gnulib-tool (func_import): Adhere to the license guideline when
17014         rewriting the license text to "LGPLv3+ or GPLv2":
17015         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
17017 2016-12-02  Bruno Haible  <bruno@clisp.org>
17019         localcharset: Avoid theoretical buffer overrun.
17020         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
17021         return value from setlocale if it would lead to a buffer overrun.
17023 2016-12-01  Bruno Haible  <bruno@clisp.org>
17025         Relicense some modules under LGPLv2+.
17026         Kevin Cernekee's approval is in
17027         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
17028         * modules/fseterr (License): Change to LGPLv2+.
17029         * modules/mbchar (License): Likewise.
17030         * modules/mbiter (License): Likewise.
17031         * modules/mbsnlen (License): Likewise.
17032         * modules/wcwidth (License): Likewise.
17034 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
17036         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
17037         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
17038         OS/2 kLIBC.
17040 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
17042         alphasort, scandir: Port to OS/2 kLIBC
17043         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
17044         declaration.
17045         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
17047 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
17049         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
17050         * lib/relocatable.c (relocate): Do not touch pathname if it is started
17051         with '/@unixroot'.
17053 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
17055         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
17056         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
17057         OS/2 kLIBC unless TCPV40HDRS is defined.
17059 2016-11-29  Jim Meyering  <meyering@fb.com>
17061         dfa: avoid new infinite loop
17062         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
17063         * lib/dfa.c (dfastate): When constructing a new state table, we could
17064         initially declare that we had found a match, and later find that
17065         constraints eliminate that possibility, yet continue to use the
17066         now stale "matched" indicator.  That would lead to an infinite loop.
17067         The solution is to update "matched" when necessary.
17068         Introduced by commit v0.1-983-g403adf1.
17070 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17072         dfa: avoid match middle in multibyte character
17073         * lib/dfa.c (transit_state): If fails in matching single byte characters
17074         on a state including period expression in non-UTF8 multibyte locales,
17075         skip trailing bytes.
17076         (dfa_supported): Revert previous change.
17078 2016-11-27  Jim Meyering  <meyering@fb.com>
17080         dfa: avoid false match in non-UTF8 multibyte locales
17081         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
17082         as "not supported" so that callers will resort to using regex-based
17083         matcher.  This will surely hurt performance, but correctness trumps
17084         performance here, and the affected locales are less and less relevant,
17085         these days.  See grep's bug report https://bugs.gnu.org/24975.
17087 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
17089         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
17090         * lib/ptsname_r.c: Include the appropriate headers.
17091         [__sun]: Delete sys/sysmacros.h include.
17092         [_AIX || __osf__]: Likewise.
17093         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
17095 2016-11-27  Pádraig Brady  <P@draigBrady.com>
17097         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
17098         * lib/md4.c (md4_process_bytes): The existing define is made internal
17099         in recent versions of glibc, so also use this new public define.
17100         * lib/md5.c (md5_process_bytes): Likewise.
17101         * lib/sha1.c (sha1_process_bytes): Likewise.
17102         * lib/sha256.c (sha256_process_bytes): Likewise.
17103         * lib/sha512.c (sha512_process_bytes): Likewise.
17105 2016-11-27  Pádraig Brady  <P@draigBrady.com>
17107         maint: use a more standard return from mbrtowc test
17108         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
17109         from the test program as this often indicates an
17110         unhandled case in the test program.
17111         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
17112         (gl_MBRTOWC_SANITYCHECK): Likewise.
17113         (gl_MBRTOWC_NULL_ARG2): Likewise.
17114         (gl_MBRTOWC_NUL_RETVAL): Likewise.
17116 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
17118         freopen: work around glibc bug with closed fd
17119         Work around glibc bug#15589, where freopen mishandles the case
17120         where stdin etc. are already closed.
17121         * doc/posix-functions/freopen.texi (freopen): Document the bug.
17122         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
17123         instead of __need_FILE, as the latter does not work with glibc.
17124         Include <fcntl.h>, for open flags.
17125         (rpl_freopen): Work around glibc bug.
17126         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
17127         * modules/freopen (Depends-on): Add fcntl-h.
17128         * tests/test-freopen.c (main): Test for bug.
17130 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17132         fnmatch: fix typo introduced on 2016-08-17
17133         This fixes the port to non-GCC compilers that lack __builtin_expect.
17134         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
17136         dfa: simplify with new function fillset
17137         * lib/dfa.c (fillset): New function.
17138         Use it for clarity when applicable.
17140         dfa: fix glitches with on-demand states
17141         Also, adjust commentary to better match new code.
17142         Some of these glitches predate the recent change.
17143         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
17144         only non-initial states.
17145         (dfastate): Rename locals to better match new roles.
17146         Move them into nested scopes if this is easy.
17147         Omit unnecessary calls to zeroset.
17148         Simplify test for whether to throw in the positions of state 0.
17149         Omit C99-ism (decl after statement) since Gawk still wants C89.
17150         (build_state): Omit unnecessary test and assignment.
17151         Fix some confusion that counted transition tables inaccurately
17152         and could cause a memory leak.
17153         (dfaexec_main): Redo to make it clearer to the compiler that
17154         -1 and -2 are the only negative state numbers here.
17156 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17158         dfa: addition of new state on demand
17159         * src/dfa.c (dfastate): Add argument UC, the current input character.
17160         Fill only a group including the character in transition table.
17161         (realloc_trans_if_necessary): Add the dummy state which means that a
17162         transition table is assigned but the next state is not assigned.
17163         (build_state): Return the next state.  All callers updated.
17164         (transit_state_singlebyte): If we get the dummy state,
17165         fill the transition table.
17166         (dfaexec_main): Handle the dummy state.
17167         (free_mbdata, dfafree): Consider the dummy state.
17169 2016-11-24  Daiki Ueno  <ueno@gnu.org>
17171         srclist: sync with released gettext
17172         * config/srclist.txt: Set "release" option to the files under
17173         $GETTEXT.
17175 2016-11-24  Daiki Ueno  <ueno@gnu.org>
17177         srclist: add "release" option
17178         * config/srclist.txt: Change the format so that the first column
17179         of each line points to the top-level directory of the source
17180         archive.
17181         * config/srclist-update: Accept "release" option that checks files
17182         from the most recently tagged revision in the source archive.
17184 2016-11-21  Bruno Haible  <bruno@clisp.org>
17186         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
17187         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
17188         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
17189         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
17190         Inline and remove member function 'rpl ()' of the wrapper struct.
17192 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
17194         dfa: fix logic typo
17195         Problem reported by Stephane Chazelas (Bug#24973).
17196         * lib/dfa.c (using_simple_locale): Fix typo that caused some
17197         non-simple locales like fr_FR to be treated as simple.
17199 2016-11-20  Jim Meyering  <meyering@fb.com>
17201         fix test driver leaks: exclude, malloc, realloc
17202         * tests/test-exclude.c (main): Fix trivial leak.
17203         * tests/test-malloc-gnu.c (main): Likewise.
17204         * tests/test-realloc-gnu.c (main): Likewise.
17205         With these changes, grep's tests are now leak free.
17206         I.e., running them with ASAN elicits no failure:
17207           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
17208             AM_LDFLAGS='-fsanitize=address -static-libasan' check
17210 2016-11-11  Bruno Haible  <bruno@clisp.org>
17212         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
17213         * modules/libunistring: (License): Change from LGPL to
17214         "LGPLv3+ or GPLv2".
17215         * modules/libunistring-optional: Likewise.
17216         * modules/unicase/*: Likewise.
17217         * modules/uniconv/*: Likewise.
17218         * modules/unictype/*: Likewise.
17219         * modules/unigbrk/*: Likewise.
17220         * modules/unilbrk/*: Likewise.
17221         * modules/uniname/*: Likewise.
17222         * modules/uninorm/*: Likewise.
17223         * modules/unistdio/*: Likewise.
17224         * modules/unistr/*: Likewise.
17225         * modules/uniwbrk/*: Likewise.
17226         * modules/uniwidth/*: Likewise.
17228 2016-11-12  Bruno Haible  <bruno@clisp.org>
17230         Relicense some modules under LGPLv2+.
17231         Paul Eggert's approval is in
17232         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
17233         Eric Blake's approval is in
17234         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
17235         Ludovic Courtès's approval is in
17236         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
17237         * modules/isnand-nolibm (License): Change to LGPLv2+.
17238         * modules/isnanf-nolibm (License): Likewise.
17239         * modules/isnanl-nolibm (License): Likewise.
17241 2016-11-19  Bruno Haible  <bruno@clisp.org>
17243         Relicense some modules under LGPLv2+.
17244         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
17245         modules/vasnprintf.
17246         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
17247         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
17248         All other significant changes to the files in lib/ of these modules
17249         are from me.
17250         * modules/memcmp2 (License): Change to LGPLv2+.
17251         * modules/amemxfrm (License): Likewise.
17252         * modules/fpieee (License): Likewise.
17253         * modules/fpucw (License): Likewise.
17254         * modules/frexp-nolibm (License): Likewise.
17255         * modules/frexpl-nolibm (License): Likewise.
17256         * modules/printf-frexp (License): Likewise.
17257         * modules/printf-frexpl (License): Likewise.
17258         * modules/printf-safe (License): Likewise.
17259         * modules/signbit (License): Likewise.
17261 2016-11-17  Bruno Haible  <bruno@clisp.org>
17263         Enable Unicode decoder safety unconditionally.
17264         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
17265         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
17266         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
17267         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
17268         * lib/unistr/u8-prev.c (u8_prev): Likewise.
17269         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
17270         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
17271         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
17272         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
17273         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
17274         * lib/unistr/u16-prev.c (u16_prev): Likewise.
17275         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
17276         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
17277         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
17278         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
17279         * lib/unistr/u32-prev.c (u32_prev): Likewise.
17280         * lib/unistr/u32-next.c (u32_next): Likewise.
17281         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
17282         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
17283         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
17284         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
17285         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
17286         CONFIG_UNICODE_SAFETY tests unconditionally.
17287         * tests/unistr/test-u32-mblen.c (main): Likewise.
17288         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
17289         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
17290         * tests/unistr/test-u32-next.c (main): Likewise.
17291         * tests/unistr/test-u32-strmblen.c (main): Likewise.
17292         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
17293         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
17294         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
17295         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
17296         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
17297         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
17298         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
17299         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
17300         * lib/unistr/u16-check.c (u16_check): Update comment.
17301         * NEWS: Mention the changes that callers should be aware of.
17303 2016-11-19  Bruno Haible  <bruno@clisp.org>
17305         relocatable-prog-wrapper: Fix breakage on Cygwin.
17306         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
17307         (Depends-on): Remove intprops.
17308         * lib/relocwrapper.c: Update dependency tree.
17309         (strerror): Undefine.
17310         * build-aux/install-reloc (func_create_wrapper): Do not compile
17311         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
17313 2016-11-19  Bruno Haible  <bruno@clisp.org>
17315         strerror: Make it compile in C++ mode.
17316         * lib/strerror.c (strerror): Ignore the return value of memcpy().
17318 2016-11-15  Pedro Alves  <palves@redhat.com>
17320         sys_time: add gnulib::timeval for C++
17321         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
17322         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
17323         timeval macro.
17325 2016-11-14  Pedro Alves  <palves@redhat.com>
17327         snippet/c++defs: fix real-floating arg functions in C++ mode
17328         Also, define isfinite, isinf, isnan, signbit in the gnulib
17329         namespace instead of in the global namespace.
17330         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
17331         (_GL_END_NAMESPACE): New.
17332         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
17333         (isfinite, isinf, isnan, signbit) [__cplusplus &&
17334         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
17335         instead of in the global namespace.
17336         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
17337         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
17338         of in the global namespace.
17340 2016-11-13  Jim Meyering  <meyering@fb.com>
17342         strftime: don't use __THROW
17343         Each use of __THROW would provoke this from gcc-7-to-be:
17345           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
17346             on unit local functions [-Wattributes]
17347           static int iso_week_days (int, int) __THROW;
17348           ^~~~~~
17349         * lib/strftime.c (__THROW): Don't define.
17350         Remove each use of __THROW.
17351         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
17352         (tm_diff, iso_week_days, __strftime_internal): Likewise.
17354 2016-11-14  Paul Eggert  <eggert@union>
17356         obstack: port to gcc -fcheck-pointer-bounds
17357         Problem found by 'make check' failure on bleeding-edge coreutils
17358         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
17359         6.2.0-5ubuntu12), configured via "./configure
17360         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
17361         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
17362         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
17363         New macro, copied from fts_.h.
17364         (struct _obstack_chunk.contents): Use it.
17366 2016-11-14  Eric Blake  <eblake@redhat.com>
17368         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
17369         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
17370         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
17372 2016-11-14  Pádraig Brady  <P@draigBrady.com>
17374         strptime: fix compile error in recent change
17375         * lib/strptime.c (__strptime_internal): Fix ported code.
17377 2016-11-11  Bruno Haible  <bruno@clisp.org>
17379         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
17380         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
17381         (func_import): Extend determination of license_incompatibilities.
17382         (func_create_testdir): Extend table of license compatibility. Handle
17383         also the licenses GPLv3+, GPL, LGPLv3+.
17385 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
17387         strftime: tune %q
17388         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
17390         Merge strftime.c changes from glibc
17391         This incorporates:
17392         2007-10-16 [BZ #5184] Add tzset_called argument
17393         2008-06-13 [BZ #6612] pass reference to tzset_called around
17394         2009-10-30 Implement Burmese language locale for Myanmar
17395         2010-01-09 Add support for XPG7 testing
17396         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
17397         2015-10-20 Convert miscellaneous function definitions to prototype style
17398         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
17399         it anyway and this lessens the difference between gnulib and glibc.
17400         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
17401         (__THROW): Define if standard headers do not.
17402         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
17403         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
17404         Declare with __THROW.
17405         (__strftime_internal): Rename from strftime_case_. Add arg for
17406         whether tzset is called.  All uses changed.  Call tzset at most
17407         once.  Allow %OC, for Burmese.
17408         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
17409         Don't assume values are in range.
17411 2016-11-12  Eric Blake  <eblake@redhat.com>
17413         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
17414         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
17415         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
17416         different value.
17418 2006-11-12  Pedro Alves  <palves@redhat.com>
17420         Fix gnulib C++ namespace support and std::frexp
17421         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
17422         _GL_CXXALIASWARN.
17424 2006-11-12  Pedro Alves  <palves@redhat.com>
17426         GNULIB_NAMESPACE::func need not pull in rpl_func
17427         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
17428         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
17429         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
17430         struct instead of a function pointer.
17432 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
17434         manywarnings: fix -Wno-missing-field-initializers detection
17435         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
17436         to be independent of -Wunused-variable.  I.E. ensure the latter
17437         warning doesn't occur so that detection of the former is accurate.
17439 2016-11-05  Pádraig Brady  <pbrady@fb.com>
17441         strftime,strptime: support %q to represent the quarter
17442         * lib/strftime.c (strftime_case_): Add %q case.
17443         * lib/strptime.c (__strptime_internal): Likewise.
17444         * tests/test-strftime.c (quarter_test): A new test case.
17446 2016-11-03  Eric Blake  <eblake@redhat.com>
17448         bootstrap: Fix get_version() for AIX 5.3
17449         * build-aux/bootstrap (get_version): Factor out sed script, since
17450         indented comments choke AIX 5.3 sed.
17451         Reported-by: Michael Felt <aixtools@gmail.com>
17453 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17455         intprops: port to older XL C
17456         Problem reported by Alexander Samoilov in:
17457         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
17458         http://savannah.nongnu.org/bugs/?49448
17459         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
17460         Define to 1 only for XL C 12.1 or later, since this bug
17461         occurs in XL C for AIX 6.0 but not in 12.1.
17463 2016-11-02  Pádraig Brady  <P@draigBrady.com>
17465         backupfile: initialize default suffix within the implementation
17466         * lib/backupfile.c (find_backup_file_name): Initialize the
17467         global variable here, to simplify usage, and to only call
17468         getenv() when needed.
17470 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
17472         futimens: remove FIXME for old Linux kernels
17473         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
17474         this in 2012" FIXME, like that for utimensat.
17476         utimensat: remove FIXME for old Linux kernels
17477         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
17478         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
17479         this in 2012" FIXME, by assuming the file system bug is absent
17480         unless demonstrated to be present.  We no longer need to worry
17481         about Linux kernel 2.6.32 when building with newer kernels.
17483 2016-10-16  Bruno Haible  <bruno@clisp.org>
17485         qsort_r: Fix macrology for platforms that lack the function.
17486         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
17487         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
17488         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
17489         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
17490         not exist.
17491         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
17492         the function exists.
17493         * modules/qsort_r: Add comments.
17495 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
17497         sys_types: fix Texinfo typos
17498         * doc/glibc-functions/gnu_dev_major.texi:
17499         * doc/glibc-functions/gnu_dev_makedev.texi:
17500         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
17502 2016-10-26  John David Anglin  <dave.anglin@bell.net>
17504         getprogname: port to HP-UX
17505         See Bug#24805.
17506         * lib/getprogname.c (getprogname) [__hpux]: Port.
17507         * tests/test-getprogname.c (STREQ) [__hpux]:
17508         Special-case for HP-UX limitations on program name length.
17510 2016-10-20  Bruno Haible  <bruno@clisp.org>
17512         Update doc about target platforms.
17513         * doc/gnulib-intro.texi (Target Platforms): Update list.
17515 2016-10-15  Bruno Haible  <bruno@clisp.org>
17517         opendir, readdir, closedir: Relicense under LGPLv2+.
17518         * modules/opendir (License): Change to LGPLv2+.
17519         * modules/readdir (License): Likewise.
17520         * modules/closedir (License): Likewise.
17522 2016-10-16  Bruno Haible  <bruno@clisp.org>
17524         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
17525         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
17526         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
17527         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
17528         HAVE_DECL_STRERROR_R.
17530 2016-10-16  Bruno Haible  <bruno@clisp.org>
17532         Make the 'argp' module work without the 'error' module.
17533         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
17535 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
17537         diffseq: restore TOO_EXPENSIVE heuristic
17538         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
17539         (Bug#24715).  The simplest solution is to restore the
17540         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
17541         using a higher threshold to avoid Bug#16848 on smaller files.
17542         * lib/diffseq.h (struct context): Restore member too_expensive.
17543         (struct partition): Restore members lo_minimal, hi_minimal.
17544         (diag, compareseq): Restore arg find_minimal.  All uses changed.
17545         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
17546         1993 to make 'diff' run faster (but not as well) on large inputs,
17547         but use a threshold of 4096 instead of the old 256.
17548         * lib/fstrcmp.c (strcmp_bounded):
17549         * lib/git-merge-changelog.c (compute_differences):
17550         Adjust to diffseq.h changes.
17552 2016-10-22  Bruno Haible  <bruno@clisp.org>
17554         iconv: Avoid compilation error when bootstrapping GNU libiconv.
17555         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
17556         declaration yet, define ICONV_CONST to empty.
17558 2016-10-15  Bruno Haible  <bruno@clisp.org>
17560         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
17561         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
17562         module.
17564 2016-10-16  Bruno Haible  <bruno@clisp.org>
17566         system-quote tests: Avoid compiler warning on AIX.
17567         * tests/test-system-quote-child.c (fopen): Redefine like the system's
17568         <stdio.h> does.
17570 2016-10-16  Bruno Haible  <bruno@clisp.org>
17572         Fix some "gcc -Wall" warnings.
17573         * tests/test-ffsl.c (main): Use variable x, not i.
17574         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
17575         freopen.
17576         * tests/test-sethostname1.c (main): Explicitly ignore the return value
17577         of sethostname.
17579 2016-10-16  Bruno Haible  <bruno@clisp.org>
17581         gnulib-tool: Make --create-testdir on all modules work again.
17582         * gnulib-tool (func_create_testdir): Don't include the
17583         non-recursive-gnulib-prefix-hack module.
17585 2016-10-21  Daiki Ueno  <ueno@gnu.org>
17587         libunistring: change the maintainer to 'all'
17588         * modules/gen-uni-tables, modules/libunistring:
17589         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
17590         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
17591         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
17592         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
17593         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
17594         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
17595         * modules/uniwidth/*: Change the maintainer to 'all'.
17597 2016-10-16  Bruno Haible  <bruno@clisp.org>
17599         Simplify "configure: checking ..." messages.
17600         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
17601         AC_MSG_NOTICE.
17602         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
17604 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
17606         quotearg-tests: pacify gcc -Wall
17607         Problem reported by Bruno Haible in:
17608         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
17609         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
17610         * tests/test-quotearg.h: ... from here.
17612 2016-10-20  Pádraig Brady  <P@draigBrady.com>
17614         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
17615         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
17616         Needed on Centos <= 4.
17618 2016-10-20  Jim Meyering  <meyering@fb.com>
17620         printf.m4: fix a bug in detecting printf %j support
17621         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
17622         uintmax_t is defined in neither stdint.h nor inttypes.h.
17623         Before, this macro might have mistakenly set
17624         gl_cv_func_printf_sizes_c99=yes on such a system.
17625         Spotted by Zev Weiss.
17627 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
17629         sched: substitute HAVE_SYS_CDEFS_H too
17630         Problem reported by Tom G. Christensen in:
17631         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
17632         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
17633         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
17635 2016-10-19  Pádraig Brady  <P@draigBrady.com>
17637         quotearg: never write beyond the returned length
17638         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
17639         scan of the string when we initially encounter a single quote when
17640         shell quoting, so that if we then switch to a more concise quoting method
17641         we will not have written beyond that returned length.
17642         This is significant for sh-quote, which has separate routines
17643         to determine the length and do the actual quoting.
17644         * tests/test-quotearg.h: Reinstate the buffer bounds checking
17645         now that we never write more than the returned length.
17647 2016-10-18  Bruno Haible  <bruno@clisp.org>
17649         getprogname tests: Avoid failure in packages that use libtool.
17650         * tests/test-getprogname.c (main): Strip "lt-" prefix.
17651         Based on a patch by Jim Meyering.
17653 2016-10-16  Bruno Haible  <bruno@clisp.org>
17655         getprogname: Fix test failure on Cygwin. Comments.
17656         * lib/getprogname.h: Add comments.
17657         * lib/getprogname.c: Add comments. Fix #elif indentation.
17658         * tests/test-getprogname.c (main): On Cygwin, expect a result without
17659         ".exe" suffix.
17661 2016-10-16  Bruno Haible  <bruno@clisp.org>
17663         Make sure the libunistring detection rejects older versions with a
17664         known bug.
17665         * modules/unistr/u8-strtok (configure.ac): Bump required version.
17666         * modules/unistr/u16-strtok (configure.ac): Likewise.
17667         * modules/unistr/u32-strtok (configure.ac): Likewise.
17669 2016-10-18  Bruno Haible  <bruno@clisp.org>
17671         sh-quote, system-quote: revert regression of unit test.
17672         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
17673         * tests/test-system-quote-main.c (check_one): Likewise.
17675 2016-10-16  Pádraig Brady  <P@draigBrady.com>
17677         quotearg: fix stale tests
17678         * tests/test-quotearg.c [locale_results]: Add the missing str7
17679         entries to the expected results.
17680         * tests/test-system-quote-main.c (check_one): Don't enforce that we
17681         don't write beyond the returned length, since that's no longer the
17682         case if we switch to a more concise quoting style.
17683         * tests/test-sh-quote.c (check_one): Likewise.
17684         (main): Adjust for the new more concise quoting style.
17685         Reported by Bruno Haible.
17687 2016-10-16  Jim Meyering  <meyering@fb.com>
17689         non-recursive-gnulib-prefix-hack: fix inconsequential typo
17690         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
17691         to "$1".  This macro is always invoked with $1 == lib.
17692         Spotted by Bruno Haible
17694 2016-10-16  Bruno Haible  <bruno@clisp.org>
17696         Fix a test crash.
17697         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
17698         fails.
17700 2016-10-16  Pádraig Brady  <P@draigBrady.com>
17702         test-limits-h: suppress -Woverlength-strings
17703         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
17705 2016-10-15  Bruno Haible  <bruno@clisp.org>
17707         gettime, timespec, utimens: Relicense under LGPL.
17708         * modules/gettime (License): Change to LGPL.
17709         * modules/timespec (License): Likewise.
17710         * modules/utimens (License): Likewise.
17712 2016-10-14  Bruno Haible  <bruno@clisp.org>
17713             Pádraig Brady  <P@draigBrady.com>
17715         canonicalize-lgpl: Support the case path_max > INT_MAX.
17716         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
17717         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
17719 2016-10-13  Jim Meyering  <meyering@fb.com>
17721         getprogname: IBM z/OS: avoid NULL-dereference
17722         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
17723         upon strdup failure.
17725 2016-10-12  Jim Meyering  <meyering@fb.com>
17727         test-stdint: use _GL_VERIFY rather than "verify" for some tests
17728         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
17729         and an abbreviated diagnostic rather than verify with the full one,
17730         because the full-length strings would evoke warnings from gcc with
17731         -Woverlength-strings.
17733 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
17735         stdint: port SIZE_MAX to glibc s390
17736         Problem reported by Eric Blake in:
17737         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
17738         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
17739         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
17740         correct type, if possible.
17742 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
17744         getprogname: port to IBM z/OS
17745         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
17747 2016-10-11  Jim Meyering  <meyering@fb.com>
17749         maint: remove stray space after "." in AC_DEFINE comment.
17750         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
17751         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17753 2016-10-05  Jim Meyering  <meyering@fb.com>
17755         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
17756         * lib/long-options.c (parse_long_options): Add a break statement
17757         to avoid this new warning/failure:
17758         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
17759           --create-testdir --dir=/t/x --with-tests --test long-options
17760         ../../gllib/long-options.c: In function 'parse_long_options':
17761         ../../gllib/long-options.c:66:12: error: this statement may \
17762           fall through [-Werror=implicit-fallthrough]
17763                    (*usage_func) (EXIT_SUCCESS);
17764                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
17766 2016-10-05  Jim Meyering  <meyering@fb.com>
17768         utimecmp: avoid new GCC 7 warning from -Wbool-operation
17769         Testing this module would fail when using GCC 7 like this:
17770         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
17771           --dir=/tmp/x --with-tests --test utimecmp
17772         ../../gllib/utimecmp.c: In function ‘utimecmp’:
17773         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
17774           [-Werror=bool-operation]
17775                          time_t s = src_s & ~ (res == 2 * BILLION);
17776                                             ^
17777         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
17778           [-Werror=bool-operation]
17779                src_s &= ~ (res == 2 * BILLION);
17780                         ^
17781         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
17782         Instead, make it explicit that we intend to apply it to 0 or 1.
17784 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17786         dfa: save memory for states
17787         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
17788         states if dfa has a lot of caches.
17790 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
17792         wchar, wctype-h: fix for MinGW 3.22.2
17793         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
17794         special invocation, to fix issues with MinGW 3.22.2 wchar.h
17795         when included from <string.h>.
17796         * lib/wctype.in.h [__MINGW32__]: Add special invocation
17797         convention for MinGW 3.22.2, to solve issues with their
17798         wctype.h when included from <ctype.h>.
17800 2016-10-05  Jim Meyering  <meyering@fb.com>
17802         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
17803         * lib/long-options.c (parse_long_options): Add a break statement
17804         to avoid this new warning/failure:
17805         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
17806           --create-testdir --dir=/t/x --with-tests --test long-options
17807         ../../gllib/long-options.c: In function ‘parse_long_options’:
17808         ../../gllib/long-options.c:66:12: error: this statement may \
17809           fall through [-Werror=implicit-fallthrough]
17810                    (*usage_func) (EXIT_SUCCESS);
17811                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
17813         utimecmp: avoid new GCC 7 warning from -Wbool-operation
17814         Testing this module would fail when using GCC 7 like this:
17815         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
17816           --dir=/tmp/x --with-tests --test utimecmp
17817         ../../gllib/utimecmp.c: In function ‘utimecmp’:
17818         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
17819           [-Werror=bool-operation]
17820                          time_t s = src_s & ~ (res == 2 * BILLION);
17821                                             ^
17822         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
17823           [-Werror=bool-operation]
17824                src_s &= ~ (res == 2 * BILLION);
17825                         ^
17826         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
17827         Instead, make it explicit that we intend to apply it to 0 or 1.
17829 2016-10-03  Pádraig Brady  <P@draigBrady.com>
17831         quotearg: minimize shell quoting using double quotes
17832         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
17833         quote in encountered then use double quotes (c style quoting)
17834         when possible, as it simplifies the quoting.
17835         * tests/test-quotearg-simple.c: Add test cases.
17836         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
17837         for the fact we now may write beyond the returned length.
17839 2016-10-02  Jim Meyering  <meyering@fb.com>
17841         vasnprintf.c: avoid spurious warning from GCC 7
17842         The presence of cpp directives renders this "FALLTHROUGH" comment
17843         ineffective, so does not suppress the -Wimplicit-fallthrough warning
17844         from GCC 7 built from git on 2016-10-02.
17845         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
17846         directives, so that it takes effect once again.  This is clearly
17847         not a proper change, and I will revert it once this bug is fixed:
17848         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
17850 2016-10-01  Jim Meyering  <meyering@fb.com>
17852         getprogname: correct the test for a __progname variable
17853         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
17854         and AC_LINK_IFELSE to check for a global __progname.  If found,
17855         define HAVE_VAR___PROGNAME.
17856         * lib/getprogname.c (getprogname): Reflect the new name of the
17857         feature- checked preprocessor symbol:
17858         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
17860 2016-09-28  Jim Meyering  <meyering@fb.com>
17862         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
17863         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
17864         fall-through case with a /* fallthrough */ comment.
17866         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
17867         * lib/dfa.c (dfassbuild): Mark the end of this case with a
17868         /* fallthrough */ comment.
17870         getprogname: avoid __progname vs program_invocation_short_name pitfall
17871         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
17872         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
17873         not with Fedora 24's glibc-2.23.1-10.
17874         * lib/getprogname.c (__progname): Move this declaration down...
17875         (getprogname): ... into the #elif block where used, and make it
17876         explicitly "extern".
17878         getprogname: port to OpenBSD 5.1
17879         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
17880         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
17881         * modules/getprogname (configure.ac): Move most of this code...
17882         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
17883         increment serial number, and add a test for __progname.
17884         https://bugs.gnu.org/24562
17885         Reported by Nelson H. F. Beebe.
17887 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
17889         sched: port to GCC 6.2.1 on macOS Sierra
17890         Problem reported by Denis Davydov in:
17891         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
17892         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
17893         Include <sys/cdefs.h> before <sched.h>.
17894         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
17895         so that we needn’t worry about the sched.h include bug here.
17896         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
17897         and include it before <sched.h> if it exists, when
17898         checking for <sched.h>.
17900         tests/init.sh: port Alpine fix to AIX 7.1
17901         * tests/init.sh (compare_): When attempting to use diff -U3,
17902         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
17903         diff -u not outputting a space after leading '+', as the users
17904         of 'compare' should not be that picky about its output format.
17905         In the AIX 7.1 case, return with diff exit status (or with 2 if
17906         trouble), instead of some random nonzero exit status.
17907         * tests/test-init.sh (test_compare): Remove space after leading
17908         '+', so that AIX 7.1 'diff' passes the test.
17910 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17912         nl_langinfo: pacify GCC
17913         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
17914         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
17916         stdint: also set GL_GENERATE_LIMITS_H
17917         Problem reported by Jim Meyering in:
17918         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
17919         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
17921         limits-h, stdint: Don't assume extensions, fix typo
17922         * m4/limits-h.m4 (gl_LIMITS_H):
17923         * m4/stdint.m4 (gl_STDINT_H):
17924         Don't assume AC_USE_SYSTEM_EXTENSIONS.
17925         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
17926         reported by Jim Meyering in:
17927         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
17929 2016-09-21  Jim Meyering  <meyering@fb.com>
17931         getprogname: port to AIX
17932         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
17933         and strdup to obtain a short program name string.  Using code from
17934         Bruno Haible and an idea from Bastien ROUCARIÈS, in
17935         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
17936         Assaf Gordon reported that this new file would fail to compile on
17937         AIX-7.1 32bit.
17939 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17941         extensions: fix typo in comment
17942         * m4/extensions.m4: Sync from Autoconf master.
17944         stdint: support new _WIDTH macros
17945         * doc/posix-headers/stdint.texi: Document this.
17946         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
17947         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
17948         support for INTMAX_WIDTH, etc. as well as for support for just C99.
17949         * modules/stdint (Depends-on): Add limits-h.
17950         (Makefile.am): Substitute HAVE_C99_STDINT_H.
17951         * modules/stdint-tests (Depends-on): Add extensions, so that
17952         INTMAX_MAX etc. are defined.
17953         * tests/test-stdint.c: Verify the new macros.
17955         limits-h: new module
17956         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
17957         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
17958         * doc/posix-headers/limits.texi: Document new module.
17959         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
17960         * modules/limit-h-tests, tests/test-limits-h.c: New files.
17962         stdio: don't redefine __USE_MINGW_ANSI_STDIO
17963         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
17964         if it is already defined.  Apparently GNU Emacs relies on this.  See:
17965         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
17967 2016-09-15  Eric Blake  <eblake@redhat.com>
17969         sys_types: avoid glibc 2.25 warnings about major()
17970         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
17971         older autoconf.
17972         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
17973         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
17974         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
17975         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
17977         mountlist: include sysmacros.h for glibc
17978         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
17979         AC_HEADER_MAJOR.
17980         * lib/mountlist.c (includes): Use correct headers.
17982 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
17984         extensions: port to more ISO C TSes
17985         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
17986         master, to add support for more recent ISO C TRs and TSes.
17988 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17990         intprops: new macro TYPE_WIDTH
17991         * lib/intprops.h (TYPE_WIDTH): New macro.
17992         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
17993         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
17994         * lib/parse-datetime.y (parse_datetime2):
17995         Use it.
17997         extensions: port to recent ISO C TRs
17998         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
17999         Sync from Autoconf master, to add support for recent ISO C TRs.
18000         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
18001         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
18002         the MinGW option is not an extension.
18004 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18006         dfa: port to Solaris 9
18007         Problems reported by Tom G. Christensen in:
18008         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
18009         * modules/dfa (Depends-on): Add isblank.
18010         * modules/dfa-tests (dfa_match_aux_LDADD):
18011         Rename from test_stat_LDADD, to fix typo.
18012         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
18014 2016-09-10  Jim Meyering  <meyering@fb.com>
18016         strverscmp: avoid link failure on OS X
18017         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
18018         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
18020 2016-08-16  Jim Meyering  <meyering@fb.com>
18022         dfa: new module, importing grep's DFA matcher
18023         Since grep's DFA matcher is now being used by two gnulib-enabled
18024         projects, grep and sed, it makes sense to version-control its
18025         sources and unit tests in one place: here.
18026         * modules/dfa: New module.
18027         * modules/dfa-tests: New file.
18028         * lib/dfa.c: New file, from grep.
18029         * lib/dfa.h: Likewise.
18030         * lib/localeinfo.c: Likewise.
18031         * lib/localeinfo.h: Likewise.
18032         * tests/dfa-match-aux.c: Likewise.
18033         * tests/dfa-invalid-char-class.sh: Likewise.
18034         * tests/dfa-match.sh: Likewise, with minor changes.
18035         * MODULES.html.sh (Misc): Add "dfa" to this list.
18037 2016-09-09  Jim Meyering  <meyering@fb.com>
18039         getprogname-tests: don't depend on assert-h
18040         * modules/getprogname-tests (Depends-on): Remove assert-h.
18041         It was not needed, and in fact would cause build failure for
18042         coreutils on some systems.  Reported by Assaf Gordon in https:
18043         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
18045 2016-09-07  Jim Meyering  <meyering@fb.com>
18047         getprogname-tests: work also when EXEEXT is nonempty
18048         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
18049         * tests/test-getprogname.c (main): Use it.
18050         Suggested by Gisle Vanem.
18052 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
18054         getprogname: fix errors in previous change
18055         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
18056         s/program_invocation_name/base/
18057         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
18059 2016-09-08  Pádraig Brady  <P@draigBrady.com>
18061         parse-datetime: restrict debug output to input string
18062         * lib/parse-datetime.y (parse_datetime2): If we parse
18063         all of the input but determine it's invalid, ensure
18064         we don't output the now invalid input pointer.
18065         This issue was seen with `date -d 'now +1'`.
18067 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18069         flexmember: new macro FLEXALIGNOF
18070         * lib/flexmember.h: Include <stddef.h>, for offsetof.
18071         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
18072         this macro.  Update comments.
18074 2016-09-07  Jim Meyering  <meyering@fb.com>
18076         getprogname: port to systems with __argv (mingw, msvc)
18077         * lib/getprogname.c (getprogname): Include "dirname.h" and use
18078         last_component: more general than open coding it with hard-coded "/".
18079         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
18080         * modules/getprogname (Depends-on): Add dirname-lgpl.
18081         (configure.ac): Check for __argv in <stdlib.h>.
18082         * modules/getprogname-tests: New file.
18083         * tests/test-getprogname.c: New file.
18084         Suggested by Gisle Vanem in
18085         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
18087 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18089         flexmember: port better to GCC + valgrind
18090         With a char[] flexible array member in a struct with nontrivial
18091         alignment, GCC-generated code can access past the end of the
18092         array, because GCC assumes there are padding bytes to get the
18093         struct aligned.  So the common idiom of malloc (offsetof (struct
18094         s, m), n) does not properly allocate an n-byte trailing member, as
18095         malloc’s argument should be the next multiple of alignof (struct s).
18096         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
18097         Although C11 apparently permits this GCC optimization (i.e., there
18098         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
18099         See the thread containing:
18100         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
18101         * lib/flexmember.h: New file.
18102         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
18103         * lib/localename.c, lib/time_rz.c:
18104         Include flexmember.h.
18105         * lib/fnmatch_loop.c (struct patternlist):
18106         * lib/localename.c (struct hash_node):
18107         Use FLEXIBLE_ARRAY_MEMBER.
18108         * lib/fnmatch_loop.c (EXT):
18109         * lib/fts.c (fts_alloc):
18110         * lib/glob.c (glob_in_dir):
18111         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
18112         * lib/localename.c (gl_lock_define_initialized):
18113         * lib/time_rz.c (tzalloc):
18114         Use FLEXSIZEOF instead of offsetof.
18115         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
18116         Check that the size of the struct can be taken.
18117         * modules/flexmember (Files): Add lib/flexmember.h.
18118         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
18119         Add flexmember.
18121 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
18123         getprogname: port to Solaris 10
18124         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
18125         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
18126         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
18128         stdalign: correct mistake in alignof doc
18129         Problem reported by Joseph Myers in:
18130         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
18131         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
18132         alignof(S) where S is a structure containing a flexible array
18133         member.  The Gnulib substitute does not support this, but C11 does.
18135 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
18137         main.mk: remove sc_program_name, since there is no more need to
18138         use set_program_name in tools (getprogname is enough for most
18139         of the cases).
18140         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
18141         * top/maint.mk (sc_program_name): Remove.
18143 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
18145         Port tests away from progname, since modules that need the
18146         program name already depend on getprogname.
18147         * modules/acl-tests (Depends-on): Remove progname.
18148         * modules/argmatch (Depends-on): Likewise.
18149         * modules/argmatch-tests (Depends-on): Likewise.
18150         * modules/argp-tests (Depends-on): Likewise.
18151         * modules/argp-version-etc-tests (Depends-on): Likewise.
18152         * modules/array-list-tests (Depends-on): Likewise.
18153         * modules/array-oset-tests (Depends-on): Likewise.
18154         * modules/avltree-list-tests (Depends-on): Likewise.
18155         * modules/avltree-oset-tests (Depends-on): Likewise.
18156         * modules/avltreehash-list-tests (Depends-on): Likewise.
18157         * modules/carray-list-tests (Depends-on): Likewise.
18158         * modules/copy-file-tests (Depends-on): Likewise.
18159         * modules/exclude-tests (Depends-on): Likewise.
18160         * modules/fchownat-tests (Depends-on): Likewise.
18161         * modules/fdopendir-tests (Depends-on): Likewise.
18162         * modules/filenamecat-tests (Depends-on): Likewise.
18163         * modules/fstatat-tests (Depends-on): Likewise.
18164         * modules/fstrcmp-tests (Depends-on): Likewise.
18165         * modules/linked-list-tests (Depends-on): Likewise.
18166         * modules/linkedhash-list-tests (Depends-on): Likewise.
18167         * modules/mkdirat-tests (Depends-on): Likewise.
18168         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
18169         * modules/nonblocking-socket-tests (Depends-on): Likewise.
18170         * modules/obstack-printf-tests (Depends-on): Likewise.
18171         * modules/openat-tests (Depends-on): Likewise.
18172         * modules/parse-datetime-tests (Depends-on): Likewise.
18173         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
18174         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
18175         * modules/quotearg-simple-tests (Depends-on): Likewise.
18176         * modules/quotearg-tests (Depends-on): Likewise.
18177         * modules/rbtree-list-tests (Depends-on): Likewise.
18178         * modules/rbtree-oset-tests (Depends-on): Likewise.
18179         * modules/rbtreehash-list-tests (Depends-on): Likewise.
18180         * modules/spawn-pipe-tests (Depends-on): Likewise.
18181         * modules/system-quote-tests (Depends-on): Likewise.
18182         * modules/uniname/uniname-tests (Depends-on): Likewise.
18183         * modules/uninorm/nfc-tests (Depends-on): Likewise.
18184         * modules/uninorm/nfd-tests (Depends-on): Likewise.
18185         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
18186         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
18187         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
18188         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
18189         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
18190         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
18191         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
18192         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
18193         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
18194         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
18195         * modules/unlinkat-tests (Depends-on): Likewise.
18196         * modules/version-etc-tests (Depends-on): Likewise.
18197         * modules/xalloc-die-tests (Depends-on): Likewise.
18198         * modules/xmemdup0-tests (Depends-on): Likewise.
18199         * modules/xprintf-posix-tests (Depends-on): Likewise.
18200         * modules/xvasprintf-tests (Depends-on): Likewise.
18201         * tests/test-argmatch.c: Do not include progname.h.
18202         (main) Stop calling set_program_name.
18203         * tests/test-argp-version-etc.c: Likewise.
18204         * tests/test-argp.c: Likewise.
18205         * tests/test-argv-iter.c: Likewise.
18206         * tests/test-array_list.c: Likewise.
18207         * tests/test-array_oset.c: Likewise.
18208         * tests/test-avltree_list.c: Likewise.
18209         * tests/test-avltree_oset.c: Likewise.
18210         * tests/test-avltreehash_list.c: Likewise.
18211         * tests/test-carray_list.c: Likewise.
18212         * tests/test-copy-acl.c: Likewise.
18213         * tests/test-copy-file.c: Likewise.
18214         * tests/test-exclude.c: Likewise.
18215         * tests/test-fchownat.c: Likewise.
18216         * tests/test-fdopendir.c: Likewise.
18217         * tests/test-filenamecat.c: Likewise.
18218         * tests/test-fstatat.c: Likewise.
18219         * tests/test-fstrcmp.c: Likewise.
18220         * tests/test-linked_list.c: Likewise.
18221         * tests/test-linkedhash_list.c: Likewise.
18222         * tests/test-mkdirat.c: Likewise.
18223         * tests/test-nonblocking-pipe-main.c: Likewise.
18224         * tests/test-nonblocking-socket-main.c: Likewise.
18225         * tests/test-obstack-printf.c: Likewise.
18226         * tests/test-openat.c: Likewise.
18227         * tests/test-parse-datetime.c: Likewise.
18228         * tests/test-pipe-filter-gi1.c: Likewise.
18229         * tests/test-pipe-filter-gi2-main.c: Likewise.
18230         * tests/test-pipe-filter-ii1.c: Likewise.
18231         * tests/test-pipe-filter-ii2-main.c: Likewise.
18232         * tests/test-quotearg-simple.c: Likewise.
18233         * tests/test-quotearg.c: Likewise.
18234         * tests/test-rbtree_list.c: Likewise.
18235         * tests/test-rbtree_oset.c: Likewise.
18236         * tests/test-rbtreehash_list.c: Likewise.
18237         * tests/test-sameacls.c: Likewise.
18238         * tests/test-set-mode-acl.c: Likewise.
18239         * tests/test-spawn-pipe-main.c: Likewise.
18240         * tests/test-system-quote-main.c: Likewise.
18241         * tests/test-unlinkat.c: Likewise.
18242         * tests/test-version-etc.c: Likewise.
18243         * tests/test-xalloc-die.c: Likewise.
18244         * tests/test-xfprintf-posix.c: Likewise.
18245         * tests/test-xmemdup0.c: Likewise.
18246         * tests/test-xprintf-posix.c: Likewise.
18247         * tests/test-xvasprintf.c: Likewise.
18248         * tests/uniname/test-uninames.c: Likewise.
18249         * tests/uninorm/test-u32-nfc-big.c: Likewise.
18250         * tests/uninorm/test-u32-nfd-big.c: Likewise.
18251         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
18252         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
18253         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18254         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18255         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18256         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18257         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18258         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18259         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18260         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18261         * tests/test-c-stack.c: (program_name): Do not define.
18262         (main): Do not set program_name.
18263         * tests/test-closein.c: Likewise.
18264         * tests/test-xstrtol.c: Likewise.
18265         * tests/test-yesno.c: Likewise.
18267 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
18269         Port modules to use getprogname explicitly, instead of requiring
18270         progname to be used (or program_name to be provided).
18271         * lib/argmatch.c: Do not include progname.h.
18272         [TEST] (program_name): Do not define.
18273         [TEST] (main): Call getprogname instead of using program_name.
18274         * lib/c-stack.c: Do not include progname.h.
18275         (program_name): Do not define.
18276         (die): Call getprogname instead of using program_name.
18277         * lib/chdir-long.c: Do not include progname.h.
18278         [TEST_CHDIR] (main): Do not set program_name.
18279         * lib/error.c [!_LIBC]: Include progname.h.
18280         [!_LIBC] (program_name): Define using getprogname.
18281         * lib/euidaccess.c: Do not include progname.h.
18282         [TEST] (main): Do not set program_name.
18283         * lib/git-merge-changelog.c: Include getprogname.h instead of
18284         progname.h.
18285         (usage): Call getprogname instead of using program_name.
18286         (main): Likewise.  Stop calling set_program_name.
18287         * lib/group-member.c: Do not include progname.h.
18288         [TEST] (main): Do not set program_name.
18289         * modules/argmatch (Depends-on): Add getprogname.
18290         * modules/c-stack (Depends-on): Likewise.
18291         * modules/error (Depends-on): Likewise.
18292         * modules/git-merge-changelog (Depends-on): Likewise.
18293         Also remove progname.
18295 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
18297         * NEWS: Document the deprecation of the 'progname' module.
18299 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
18301         getprogname: new module
18302         This provides a LGPL module for getting the name of the current
18303         program, using the same API found on *BSD systems.
18304         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
18305         * modules/getprogname: New files.
18306         * MODULES.html.sh (Misc): Add getprogname.
18308 2016-09-02  Jim Meyering  <meyering@fb.com>
18310         manywarnings: add -fno-common
18311         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
18312         to the list.  Quoting the manual, "Compiling with -fno-common is
18313         useful on targets for which it provides better performance, or if
18314         you wish to verify that the program will work on other systems that
18315         always treat uninitialized variable declarations this way [putting
18316         it in the data section]."  If diffutils had been using this sooner,
18317         it would have prevented this duplicate declaration issue:
18318         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
18320 2016-08-31  Simon Josefsson  <simon@josefsson.org>
18322         parse-datetime: Fix typo.
18323         * lib/parse-datetime.y (parse_datetime2): Fix typo.
18325 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
18327         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
18328         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
18329         GCC 5 and 6 that have __builtin_sub_overflow but not
18330         __builtin_sub_overflow_p.  With the recent changes, these
18331         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
18332         implementation than with INT_SUBTRACT_OVERFLOW implementation,
18333         since the former needs just one runtime comparison whereas the
18334         latter needs two.
18336         strverscmp: sync with glibc
18337         Although this doesn't exactly synchronize with glibc
18338         byte-for-byte, it makes the code behave the same as glibc.
18339         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
18340         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
18341         difference shouldn't matter in practical use.  All uses changed
18342         back to isdigit.
18343         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
18344         (next_state): Now unsigned char array; redo elements.
18345         (result_type): Now signed char array; redo elements.
18346         (__strverscmp): Fix glibc bug 9913 by using new states.
18347         * tests/test-strverscmp.c (main): Test glibc bug 9913.
18349 2016-08-29  Jim Meyering  <meyering@fb.com>
18351         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
18352         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
18353         similarly to how it was done to intprops.h.
18355 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18357         intprops.h: port recent changes to GCC 6.2.0
18358         * lib/intprops.h (__has_builtin): Move earlier.
18359         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
18360         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
18361         the last argument can be null.  All uses changed.
18362         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
18363         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
18364         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
18365         and it's not clear which GCC versions it works for.
18366         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
18367         its definiens.
18369         intprops.h: use __typeof__ with GCC 7
18370         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
18371         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
18372         This avoids computing the expression's value (which might overflow!).
18374 2016-08-29  Jim Meyering  <meyering@fb.com>
18376         intprops.h, xalloc-oversized.h: work with gcc 7
18377         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
18378         __builtin_mul_overflow each accept a NULL pointer as the third
18379         argument.  However in gcc 7, that is no longer accepted.
18380         Instead, one must use the "_p"-suffixed names, with which, the
18381         third parameter is no longer a pointer.
18382         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
18383         the definition: not true for gcc 7 and subsequent.
18384         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
18385         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
18386         Provide new definitions for gcc 7 and subsequent.
18387         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
18388         that works with gcc-7.
18390         intprops.h: fix missing-backslash problems
18391         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
18392         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
18394 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18396         intprops: fix paren typo on old platforms
18397         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
18398         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
18399         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
18400         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
18401         && !defined LLONG_MAX]:
18402         Remove stray paren.
18404         intprops: port to OpenVMS
18405         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
18406         * doc/posix-headers/limits.texi: Document the problem.
18407         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
18408         Define if not already defined.
18410 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
18412         parse-datetime: improve debug implementation
18413         Follow-up to commit 12ad79069 ("add optional debug printing").
18414         Improve parse-datetime's debug implementation: remove macros,
18415         replace global debug flag variable with a function parameter,
18416         use nstrftime for formatting.
18417         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
18418         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
18419         (parse_datetime2): New function, accepts 'flags' parameter, supporting
18420         debug flag. Existing interface 'parse_datetime' left unmodified.
18421         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
18422         (struct parser_control): add 'parse_datetime_debug' member variable.
18423         (parse_datetime): Call new function 'parse_datetime2' without debug.
18424         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
18425         pc.parse_datetime_debug variable as needed.
18426         (to_year): Accept new flags parameter, instead of using global variable.
18427         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
18428         use struct 'debug' variable instead of global variable.
18429         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
18430         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
18431         correspnding functions directly instead of using macros.
18432         * modules/parse-datetime: Add gnulib's strftime module.
18434 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
18436         c-strcase-tests: port to EBCDIC
18437         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
18438         which assume ASCII encoding semantics to run only in ASCII
18439         mode, as they fail in EBCDIC.
18441         sigpipe-tests: fix typo
18442         * tests/test-sigpipe.sh: C, not B.
18444 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
18446         canonicalize-lgpl: fix errno after malloca fails
18447         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
18448         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
18449         * lib/canonicalize-lgpl.c (__realpath):
18450         Don't assume malloca sets errno on failure.
18452 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
18454         strtod: port errno handling to z/OS
18455         * lib/strtod.c (strtod): Save and restore errno more reliably.
18457 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
18459         strtod: port to z/OS
18460         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
18461         implementation.
18463 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
18465         strtod: port to z/OS
18466         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
18467         implementation.
18469         regex, string: rename to avoid '__string'
18470         * lib/regex.h, lib/string.in.h: Do not use the identifier
18471         '__string', as it is effectively reserved by string.h on z/OS.
18473         c-strcase-tests, wcwidth-tests: depend on c-ctype
18474         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
18475         Add c-ctype.
18477 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
18479         thread: port to z/OS
18480         * lib/glthread/thread.c, lib/glthread/thread.h:
18481         Rudimentary gl_thread support for z/OS.
18483         maint: port tests to z/OS errno behavior
18484         * tests/test-nonblocking-reader.h:
18485         * tests/test-nonblocking-writer.h:
18486         Accommodate z/OS errno code preferences. (I believe this should
18487         still be within spec; IBM is good at following the letter if not
18488         the spirit of such things.)
18490         maint: preprocessor changes to support z/OS
18491         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
18492         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
18493         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
18494         * tests/test-nonblocking-pipe.h:
18496         fclose, strstr-simple, wchar: port to z/OS
18497         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
18498         Changes to the Autoconf M4 code to support z/OS.  Note that
18499         fclose() is broken in a different way on z/OS than it is on other
18500         systems, thus the special-case in fclose.m4.
18502         iconv_open-utf-tests, iconv-tests: port to EBCDIC
18503         * tests/test-iconv-utf.c, tests/test-iconv.c:
18504         Added appropriately conditional #pragmas so that the test strings
18505         in test-iconv-utf.c are correctly interpreted in ASCII instead of
18506         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
18507         addressed in a more portable way by simply rewriting all the ASCII
18508         literal characters as octal escapes, but then you would lose the
18509         partial readability that the strings have now. Also, iconv_open()
18510         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
18512         c-strcase-tests, wcwidth-tests: port to EBCDIC
18513         * tests/test-c-strcasecmp.c: Include c-ctype.h.
18514         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
18515         * tests/test-wcwidth.c: Likewise.
18517 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
18519         stdbool: don't require _Bool for C++
18520         Problem reported by David Seifert in:
18521         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
18522         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
18523         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
18524         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
18525         stricter about checking that bool and _Bool are compatible in C.
18527 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
18529         getdelim: remove dependency on realloc-posix
18530         * lib/canonicalize-lgpl.c (alloc_failed)
18531         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
18532         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
18533         Use __set_errno where needed, for consistency.
18534         * lib/getdelim.c (alloc_failed): New function.
18535         (getdelim): Use it.
18537 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
18539         parse-datetime: add optional debug printing
18540         Print parsing information, warnings, and errors to stderr.
18541         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
18542         * lib/parse-datetime.y:
18543         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
18544         (PROGRESS*): Same as DEBUG, for progress reporting.
18545         (dbg_printf): Print message to stderr, with 'date' prefix.
18546         (struct parser_control): Add 'debug_*_seen' variables.
18547         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
18548         (debug_print_current_time, debug_print_relateive_time): Prints the
18549         current/relative date/time value of parser_control.
18550         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
18551         (to_year): Warn about 2-digit year parsing.
18552         (yylex):   Warn about unrecognized words.
18553         (get_effective_timezone): Returns current timezone in minutes.
18554         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
18555         clearly and unambigiously as possible.
18556         (debug_mktime_not_ok): Print detailed information about failed
18557         date/time values.
18558         (parse_datetime): Add DEBUG messages for failures, warnings. Add
18559         PROGRESS messages for status messages.
18560         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
18562 2016-08-06  Jim Meyering  <meyering@fb.com>
18564         tests/init.sh: exclude dash with bad "local" semantics
18565         * tests/init.sh (gl_shell_test_script_): Add a function to
18566         eliminate a shell like "dash" (unlike bash, zsh) that has
18567         surprising/risky "local var='...'" semantics.  Inspired by
18568         the problem and discussion in https://bugs.gnu.org/24116#11.
18570 2016-08-02  Ján Tomko  <jtomko@redhat.com>
18572         maint.mk: expand the prohibit_doubled_word regex
18573         This check has a static list of words that are checked for
18574         repetitions.  Expand it before running the perl script to
18575         avoid using expensive captures.  This decreases the cost
18576         for libvirt from 1.66s to 0.66s.
18577         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
18578         (sc_prohibit_doubled_word): Use it.
18580 2016-07-26  Ján Tomko  <jtomko@redhat.com>
18582         useless-if-before-free: skip non-matching lines early
18583         * build-aux/useless-if-before-free: First match each line with the
18584         simple/quick /\bif\b/ and reject if there is no match. This often
18585         saves the cost of the much more involved regular expression.
18586         For libvirt, this decreases the cost from 1.44s to 1.02s.
18588 2016-07-26  Ján Tomko  <jtomko@redhat.com>
18590         maint.mk: speed up sc_po_check
18591         sc_po_check would skip files based on their names, or on the
18592         existence of files with derived names. Rewrite it to use perl
18593         instead of shell to make the check faster.
18594         * top/maint.mk (perl_translatable_files_list_): Define.
18595         (sc_po_check): Use it.
18597 2016-07-30  Ján Tomko  <jtomko@redhat.com>
18599         maint.mk: speed up require_config_h_first
18600         Instead of spawning three processes per file,
18601         rewrite the check in perl and run it once for all the files.
18602         * top/maint.mk (perl_config_h_first_): Define.
18603         (sc_require_config_h_first): Use it in place of shell code.
18605 2016-07-26  Ján Tomko  <jtomko@redhat.com>
18607         maint.mk: speed up sc_po_check
18608         sc_po_check would skip files based on their names, or on the
18609         existence of files with derived names. Rewrite it to use perl
18610         instead of shell to make the check faster.
18611         * top/maint.mk (perl_translatable_files_list_): Define.
18612         (sc_po_check): Use it.
18614 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18616         obstack: pacify GCC 6 with -Wnull-dereference
18617         Problem reported by Assaf Gordon in:
18618         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
18619         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
18620         Declare with __attribute_noreturn__.
18621         * lib/obstack.h (__attribute_noreturn__): New macro.
18623 2016-07-13  Eric Blake  <eblake@redhat.com>
18625         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
18626         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
18627         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
18629 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
18631         doc: mention glibc SSIZE_MAX buglet
18632         * doc/posix-headers/limits.texi (limits.h): Document the bug.
18634 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
18636         printf-posix: Fix mingw build
18637         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
18638         expression for detecting C symbol prefixes but forgot to qoute square
18639         brackets in the command line arguments for grep.  That way when
18640         building with mingw the condition was false although it ought to be
18641         true instead.  In particular scenarios this led to the following
18642         compile error:
18644             Cannot export rpl_printf: symbol not found
18645             Cannot export rpl_scanf: symbol not found
18646             collect2: error: ld returned 1 exit status
18648         Fix this by properly quoting square brackets.
18650 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18652         mktime: call tzset as per POSIX
18653         Problem reported by Ludovic Courtès in:
18654         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
18655         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
18656         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
18658 2016-06-26  Pádraig Brady  <P@draigBrady.com>
18660         fts: handle readdir() errors
18661         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
18662         but also upon error when it will also set errno.  Therefore
18663         flag the error case from readdir().  We treat the case where
18664         no items are read the same as if the dir can't be accessed,
18665         i.e. by setting fts_errno to FTS_DNR.
18667 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18669         intprops: port better to GCC 7
18670         GCC 7 __builtin_add_overflow supports a new usage form, where the
18671         last argument is a null pointer, and which merely returns 1 if an
18672         overflow would occur.  This is a constant expression if all
18673         arguments are constants, and should generate faster code when code
18674         needs to be generated.
18675         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
18676         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
18677         Use builtin operations if available.
18678         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
18679         operations are available, as it's almost surely faster.
18681 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18683         intprops-test: port to GCC 6
18684         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
18685         since the bug is not fixed in GCC 6.1.
18687 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
18689         xalloc-oversized: port to GCC 7; fewer warnings
18690         GCC 7 will have a better way to deal with integer overflow.
18691         Plus, fix a warnings problem reported by Tim Ruehsen in:
18692         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
18693         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
18694         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
18695         For GCC 5, use __xalloc_oversized if both args are constants,
18696         or if pedantic.
18698 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
18700         regex: port to Sun C
18701         Reported by Daiki Ueno.
18702         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
18703         __restrict, in prototype.  This fixes a problem I introduced in
18704         the 2016-02-19 merge from glibc.
18706 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
18708         stdbool: Restore __bool_true_false_are_defined check
18709         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
18710         __bool_true_false_are_defined is still defined, even with C++11.
18712 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
18714         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
18715         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
18717 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
18719         Use GCC_LINT, not lint
18720         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
18721         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
18722         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
18723         Document problem with lint and _Noreturn.
18724         * lib/diffseq.h (IF_LINT, IF_LINT2):
18725         * lib/fts.c (sccsid):
18726         * lib/getndelim2.c (IF_LINT):
18727         * lib/gl_anylinked_list2.h (gl_linked_iterator)
18728         (gl_linked_iterator_from_to):
18729         * lib/gl_anytree_list2.h (gl_tree_iterator)
18730         (gl_tree_iterator_from_to):
18731         * lib/gl_anytree_oset.h (gl_tree_iterator):
18732         * lib/gl_array_list.c (gl_array_iterator)
18733         (gl_array_iterator_from_to):
18734         * lib/gl_array_oset.c (gl_array_iterator):
18735         * lib/gl_carray_list.c (gl_carray_iterator)
18736         (gl_carray_iterator_from_to):
18737         * lib/idcache.c:
18738         * lib/inet_ntop.c (IF_LINT):
18739         * lib/regcomp.c (build_charclass_op, create_tree):
18740         * lib/regex_internal.c (re_acquire_state)
18741         (re_acquire_state_context):
18742         * lib/trigl.c (rcsid):
18743         * lib/trim.c (IF_LINT):
18744         * lib/vasnprintf.c (IF_LINT):
18745         * lib/verify.h (assume):
18746         Treat GCC_LINT like lint.
18748 2016-05-29  Bruno Haible  <bruno@clisp.org>
18750         secure_getenv: Port to many more platforms.
18751         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
18752         functions.
18753         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
18754         for non-BSD Unix platforms and for native Windows.
18755         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
18756         Prompted by a request from Nikos Mavrogiannopoulos.
18758 2016-05-27  Eric Blake  <eblake@redhat.com>
18760         canonicalize: Fix broken probe for realpath.
18761         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
18762         in logic introduced in 54615b95.
18764 2016-05-26  Eric Blake  <eblake@redhat.com>
18766         unsetenv: relax to LGPLv2+
18767         * modules/unsetenv (License): Match setenv license.
18769 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
18771         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
18772         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
18773         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
18774         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
18775         (commonarg, dirargs, dirs, infoarg, generate_ascii)
18776         (generate_html, generate_info, generate_tex, outdir)
18777         (source_extra, split, srcfile, texarg): Move above 'version'.
18778         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
18780 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18782         manywarnings: update for GCC 6.1
18783         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18784         Add GCC 6.1 options that apply to C.
18785         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
18786         do not apply to C, are obsolescent, etc.
18788 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
18790         glob: size_t overflow checks
18791         * lib/glob.c (__has_builtin): New macro.
18792         (size_add_wrapv, glob_use_alloca): New static functions.
18793         (glob, glob_in_dir): Check for size_t overflow in several places,
18794         and fix some size_t checks that were not quite right.
18796         glob: don't assume INT_MAX < SIZE_MAX
18797         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
18798         latter is not portable to (probably theoretical) hosts where
18799         SIZE_MAX <= INT_MAX.
18801 2016-05-09  Bruno Haible  <bruno@clisp.org>
18803         Fix undefined behaviour in gettext.h.
18804         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
18805         pointer's value after the storage it points to has been freed.
18806         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
18807         Spotted by Coverity.
18809 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
18811         git-version-gen: avoid undefined shift
18812         Problem reported by Mosè Giordano in:
18813         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
18814         * build-aux/git-version-gen: Avoid undefined behavior if invoked
18815         with --prefix or --fallback but without a later argument.  While
18816         we're at it, omit unnecessary quotes.
18818 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
18820         glob: merge glibc changes into lib/glob.c
18821         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
18822         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
18823         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
18824           struct dirent [BZ #19779]
18825         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
18826           callback gl_readdir
18827         2015-10-20 Convert miscellaneous function definitions to prototype style
18828         2015-10-20 Convert 113 more function definitions to prototype style
18829           (files with assertions)
18830         2015-06-12 Fix getlogin_r namespace (bug 18527).
18831         2014-02-10 Use glibc_likely instead __builtin_expect.
18832         2013-10-20 When glob pattern contains a trailing slash match only
18833           directories. Fixes bug 10278.
18834         2013-09-04 glob: silence -Wattribute warnings
18835         2013-06-07 Avoid use of "register" as optimization hint.
18836         2012-09-25 Use size_t instead of int for internal variables in glob
18837           (bug 14621)
18838         2011-07-20 Check for overflows in expressions
18839         2011-05-28 Remove unused variable
18840         2011-05-22 Add a few more alloca size checks
18841         2010-03-27 Whitespace fixes
18842         2010-03-27 Fix one more issue with the glob patch
18843         2010-03-24 Fix glob with empty pattern
18844         2008-05-27 Remove useless more "if" tests before "free"
18845         * modules/glob (Depends-on): Add stdint.
18847 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
18849         mktime: port to stricter signed overflow checking
18850         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
18851         (long_int): Require width for INT_MAX * 3 * (seconds per year),
18852         instead of merely for INT_MAX * 2.  In practice platforms that
18853         do the latter also do the former.
18854         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
18855         (shr): New static function, replacing SHR.  All uses changed.
18856         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
18857         and TIME_T_MAX.  All uses changed.
18858         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
18859         Use long_int, not time_t.
18860         (long_int_avg): New static function, replacing time_t_avg.
18861         All uses changed.  Round toward positive infinity, as that
18862         generates slightly better code.
18863         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
18864         by INT_ADD_WRAPV.
18865         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
18866         (convert_time): New static function.
18867         (ranged_convert): Use it
18868         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
18869         Use simpler test for loop exit.
18870         (__mktime_internal): Store negative of guessed offset, to simplify
18871         overflow checking.  Remove no-longer-needed test for small time_t
18872         overflows.
18874         mktime: speed up DEBUG_MKTIME benchmarks
18875         Call tzset just once, at the start, rather than for every test
18876         case.  This lets us measure the CPU cost of mktime as opposed to
18877         that of tzset.  This is relevant when TZ is not set and glibc is
18878         being used.  This speeds up tests by a factor of 40 on my Fedora
18879         23 x86-64 platform.
18880         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
18881         to call tzset and as a sanity check.  Later on, use localtime_r
18882         instead of localtime.
18884         mktime: resurrect DEBUG_MKTIME testing
18885         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
18886         Include <string.h>, for strcmp.
18888         mktime: simplify DEBUG_MKTIME
18889         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
18890         Simplify later usage accordingly.
18892         Port mktime_internal offset to unsigned time_t
18893         This avoids some assumptions about wraparound arithmetic on
18894         signed integer overflow.
18895         * lib/mktime-internal.h (mktime_offset_t): New type.
18896         (mktime_internal): Use it in decl.
18897         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
18899         * lib/mktime.c (__mktime_internal, localtime_offset):
18900         * lib/timegm.c (timegm): Use it.
18901         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
18902         (gl_FUNC_MKTIME): Require it.
18904 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
18906         xstrtol: prohibit monstrosities like "1bB"
18907         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
18908         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
18909         "B" only if the first suffix needs a base.
18910         * tests/test-xstrtol.sh: Test this.
18912 2016-04-21  Pádraig Brady  <P@draigBrady.com>
18914         xstrtod: reinstate setting of *result upon ERANGE
18915         * lib/xstrtod.c (XSTRTOD): The user may decide to use
18916         the returned limits upon ERANGE, so allow and document that.
18918 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
18920         xstrtod: modify *result only if no errors
18921         * lib/xstrtod.c (XSTRTOD).
18923 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
18925         btowc: document problems in C locale
18926         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
18927         with mbrtowc.  See: http://bugs.gnu.org/23269#32
18929 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
18931         mktime: improve integer overflow checking
18932         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
18933         (WRAPV): Remove; no longer needed.
18934         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
18935         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
18936         Remove.  Use intprops.h defns instead.
18937         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
18938         Use bool for Boolean, for clarity.
18939         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
18940         detect integer overflow.
18941         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
18943         intprops: check two's complement assumption
18944         Suggested by Eric Blake in:
18945         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
18946         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
18947         short, int, long, and (if available) long long are two's complement.
18948         * modules/intprops (Depends-on): Add 'verify'.
18950         intprops, mktime, strtol: assume two's complement
18951         These macros were not portable to every conforming C11 ones'
18952         complement platform.  It's not worth the hassle of porting to some
18953         platforms that use ones' complement or signed magnitude, as such
18954         platforms are almost purely theoretical nowadays and porting even
18955         to some of them makes the code harder to review for little
18956         practical benefit.  Problem reported by Florian Weimer in:
18957         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
18958         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
18959         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
18960         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
18961         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
18962         (TYPE_SIGNED_MAGNITUDE):
18963         Remove.  All uses rewritten to assume two's complement, which is
18964         all we can reasonably test nowadays anyway.
18965         * top/maint.mk (_intprops_names): Remove the removed macros.
18967 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
18969         stdint: port to strict C11 left shift
18970         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
18971         Pacify clang -Wshift-negative-value, which should be an issue only
18972         on clang setups where stdint.h does not conform to C11 or to C++11.
18973         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
18975 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
18977         mbrtowc: work around glibc bug#19932
18978         Fix mbrtowc so that it never returns -1 in the C locale,
18979         as this conflicts with a future version of POSIX
18980         http://austingroupbugs.net/view.php?id=663#c2738
18981         and causes problems with GNU grep: http://bugs.gnu.org/23234
18982         See glibc bug 19932:
18983         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
18984         * doc/posix-functions/mbrlen.texi (mbrlen):
18985         * doc/posix-functions/mbrtowc.texi (mbrtowc):
18986         Document the glibc bug.
18987         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
18988         Include hard-locale.h, locale.h.
18989         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
18990         if the bug is possible.
18991         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
18992         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
18993         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
18994         * modules/mbrtowc (Depends-on): Add hard-locale.
18995         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
18996         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
18997         * tests/test-mbrtowc5.sh: New file.
18999 2016-04-03  Pedro Alves  <palves@redhat.com>
19001         stdint: detect good enough pre-C++11 stdint.h in C++ mode
19002         When gnulib is configured in C++ mode for a system with a working C99
19003         implementation of stdint.h that predates C++11, gnulib ends up
19004         substituting stdint.h anyway.  This works on most targets, but on e.g.,
19005         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
19006         MinGW is LLP64.  Instead of trying to detect the right types, detect
19007         good-enough-pre-C++11 stdint.h and in such case define
19008         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
19009         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
19010         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
19011         conforms to C99.  If it does, check whether it hides symbols
19012         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
19013         does, define those macros in config.h.
19015 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
19017         argp: merge changes from glibc
19018         Among other things, this should fix problems found by a Coverity
19019         scan and reported by Andrei Borzenkov:
19020         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
19021         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
19022         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
19023         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
19024         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
19025         * lib/argp.h:
19026         Merge changes from glibc.
19027         * tests/test-argp-2.sh: Adjust to match new behavior.
19029 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
19031         stddef: support configuring with g++
19032         Problem reported by Ángel González in:
19033         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
19034         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
19035         Do not define if _GCC_MAX_ALIGN_T is defined.
19037 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
19039         test-framework-sh: minor cleanups
19040         * tests/init.sh (testdir_prefix_): Output a trailing newline,
19041         since strictly speaking POSIX requires this.
19042         (setup_): Do not use the variable 'fail', as that makes the
19043         trace output harder to read ('fail' is typically used by
19044         tests to mean the test failed).  Treat // portably.
19045         Check that new directory is not merely a sibling of the tmp dir.
19046         Avoid unnecessary invocation of tr.
19048         test-framework-sh: revert port to NetBSD 7.0
19049         It was a false alarm; I misinterpreted Assaf Gordon's report.
19050         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
19051         Restore.
19052         (test_dir_): Adjust to mktempd_ change.
19053         (mktempd_): Restore 2nd arg.  Use -t again.
19054         (base_template_, template_, nx_): Resurrect old code.
19056         Port better to Alpine Linux
19057         Its diff implementation does not support -c, but does support -U3.
19058         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
19059         * tests/init.sh (diff_opt_): New var.
19060         (compare_): Prefer diff -U3 to diff -c to plain diff.
19062 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
19064         test-framework-sh: port to NetBSD 7.0
19065         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
19066         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
19067         Remove.  All uses removed.
19068         (test_dir_): Adjust to mktempd_ change.
19069         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
19070         (base_template_, template_, nx_): Simplify by hardcoding.
19072 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
19074         gitlog-to-changelog: suppress ignored chatter
19075         * build-aux/gitlog-to-changelog: Do not warn about skipping
19076         an SHA if it would have been ignored anyway.
19078 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
19080         setlocale: add "sv" to Windows language table
19081         * lib/setlocale.c (language_table) [W32]: Add "sv".
19082         Reported in <https://savannah.gnu.org/bugs/?44588>.
19084 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
19086         sys_select: port to new Cygwin
19087         Problem reported by Ken Brown in:
19088         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
19089         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
19090         diagnostics.
19092 2016-03-17  Jim Meyering  <meyering@fb.com>
19094         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
19095         * tests/test-userspec.c (main): Remove unnecessary braces and fix
19096         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
19097           test-userspec.c:176:9: error: statement is indented as if it were \
19098             guarded by... [-Werror=misleading-indentation]
19099                    {
19100                    ^
19101           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
19102                  if (!diag && !T[i].result)
19103                  ^~
19105 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
19107         time_rz: port to clang -Wunused-const-variable
19108         * lib/time_rz.c (TZ): Remove.  All uses removed.
19110         std-gnu11: improve clang support
19111         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
19112         2016-03-15 Also try clang
19113         2016-03-15 Port C11 and C++11 testing to clang
19115         select: port more to Intel 2016.1.150 compiler
19116         Problem reported by Balázs Hajgató in:
19117         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
19118         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
19120 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
19122         select: try to port to 2016.1.150 compiler
19123         Problem reported by Balázs Hajgató in:
19124         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
19125         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
19126         POSIX specifies 'restrict'.
19128 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
19130         localename-tests: memory allocation fixes
19131         * tests/test-localename.c (test_locale_name)
19132         (test_locale_name_thread): Don't call freelocale on a locale
19133         that was the base of a successful newlocale, as that
19134         results in a double free.  Problem reported by Assaf Gordon.
19135         (test_locale_name_thread): Free saved names after use, to pacify
19136         gcc -fsanitize=address.
19138 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19140         intprops: make .h file license match module
19141         * lib/intprops.h: Change the license wording to match glibc format.
19142         This is what is in modules/intprops anyway.  See:
19143         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
19145 2016-03-08  Eric Blake  <eblake@redhat.com>
19147         acl: fix missing return on Cygwin
19148         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
19149         fall off end of function. Fixes http://bugs.gnu.org/22949
19151 2016-03-05  Bruno Haible  <bruno@clisp.org>
19153         extern-inline: port to PGI CC
19154         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
19155         keyword 'inline'.
19156         Reported by Adam James Stewart in:
19157         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
19159 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
19161         signbit: port back to pre-C++11 GCC
19162         * lib/math.in.h (signbit): Do previous change only if
19163         __cplusplus < 201103.  See Jonathan Wakely in:
19164         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
19166 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
19168         mountlist: recognize autofs-mounted remote file systems, too
19169         Originally reported at: https://bugzilla.redhat.com/1309247
19170         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
19171         "-hosts" because it is used by autofs to mount remote file systems.
19173 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
19175         signbit: port to C++ with GCC 6
19176         * lib/math.in.h (signbit) [__cplusplus]:
19177         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
19178         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
19180         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
19182         regex: make it closer to libc
19183         Make Idx a signed type, rather than possibly unsigned.
19184         The unsignedness was not really buying us anything, since the code
19185         overflows for other reasons before getting to PTRDIFF_MAX.  Making
19186         it signed allows us to use -1 and -2 with abandon, like libc does,
19187         thus lessening the number of differences between gnulib and libc.
19188         Also, it should help avoid gratuitous warnings like the one
19189         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
19190         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
19193         regex: merge patches from libc
19195         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
19196         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
19197         Convert miscellaneous function definitions to prototype style.
19198         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
19199         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
19200         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
19201         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
19202         (re_search_internal):
19203         Convert to prototype-style function definition.
19204         Use internal_function for internal functions.
19206 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
19208         stdalign: port to older HP and IBM cc
19209         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
19210         C compilers, by checking their version numbers.  These version
19211         numbers appear in MariaDB and in Qt code that dates way back and
19212         that conditiionally uses the 'aligned' attribute.
19214 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
19216         stdalign: port to clang 3.7.0
19217         Problem reported by Herbert J. Skuhra in:
19218         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
19219         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
19220         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
19221         https://llvm.org/bugs/show_bug.cgi?id=26547
19223 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
19225         readdir_r: now obsolescent
19226         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
19227         * lib/mountlist.c (read_file_system_list): Add a FIXME.
19229 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19231         misc: port better to gcc -fsanitize=address
19232         Without these patches, ./configure CFLAGS='-fsanitize=address'
19233         would compute incorrect values.  This patch fixes some (but not all)
19234         test failures with recent glibc, with this configuration.
19235         * m4/acl.m4 (gl_ACL_GET_FILE):
19236         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
19237         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
19238         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
19239         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
19240         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
19241         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
19242         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
19243         * m4/getline.m4 (gl_FUNC_GETLINE):
19244         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
19245         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
19246         * m4/regex.m4 (gl_REGEX):
19247         * m4/strndup.m4 (gl_FUNC_STRNDUP):
19248         * tests/test-calloc-gnu.c (main):
19249         * tests/test-duplocale.c (main):
19250         * tests/test-getgroups.c (main):
19251         * tests/test-getline.c (main):
19252         * tests/test-inttostr.c (main):
19253         * tests/test-localename.c (test_locale_name)
19254         (test_locale_name_thread, test_locale_name_environ)
19255         (test_locale_name_default):
19256         * tests/test-regex.c (main):
19257         * tests/test-setlocale1.c (main):
19258         * tests/test-stat.h (test_stat_func):
19259         Free heap-allocated storage before exiting.
19260         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
19261         Don't match *_foo symbols inserted by AddressSanitizer.
19262         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
19264 2016-02-02  Jim Meyering  <meyering@fb.com>
19266         verify-tests: also remove stray test-verify.Tpo
19267         * modules/verify-tests (Makefile.am): Arrange for "make clean"
19268         to remove the test-verify.Tpo file that is left behind by
19269         the automake-generated rule upon compilation failure.
19270         Otherwise, that .Tpo file would cause a failed "make distcheck"
19271         at least for grep.
19273 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
19275         std-gnu11: new module
19276         This makes it easier for applications to prefer C11 and C++11
19277         to older variants, when compiling C and C++ code.
19278         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
19279         a nontrivial chunk of GPLed Autoconf source code.
19280         * COPYING: Mention the m4/*.m4 copyright situation.
19281         * MODULES.html.sh (std-gnu11): New module.
19282         * m4/std-gnu11.m4, modules/std-gnu11: New files.
19284 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
19286         get-permissions, strftime: fix grammar in comments
19287         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
19288         some grammar fixes Alan Mackenzie made to GNU Emacs.
19290 2016-01-25  Daiki Ueno  <ueno@gnu.org>
19292         gettext: mark as obsolete
19293         Suggested by Paul Eggert in:
19294         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
19295         * modules/gettext (Status): Mark as obsolete.
19296         (Notice): Suggest to use 'gettext-h' instead.
19297         * modules/gettext-h (Description): Suggest GNU gettext, instead of
19298         the 'gettext' module.
19300 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
19302         gnulib-tool: don't give up on ln -s so easily
19303         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
19304         because an earlier one failed.  The targets could be on different
19305         file systems.  Problem reported by KO Myung-Hun in:
19306         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
19308         closedir: fix OS/2-related typos
19309         Problem reported by KO Myung-Hun in:
19310         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
19311         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
19312         in the last couple of changes.
19314 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
19316         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
19317         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
19318         copying a directory.
19320 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
19322         regex: treat [x] as x if x is a unibyte encoding error
19323         Problem reported by Aharon Robbins in:
19324         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
19325         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
19326         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
19328         closedir, dirfd, opendir: port to OpenSolaris 5.10
19329         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
19330         * m4/dirfd.m4 (gl_FUNC_DIRFD):
19331         * m4/opendir.m4 (gl_FUNC_OPENDIR):
19332         Don't use ${word##pat} substitution, as it doesn't work in
19333         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
19334         http://bugs.gnu.org/22443#11
19336 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19338         bootstrap: use American spelling
19339         * build-aux/bootstrap: Honor American spelling.
19341 2016-01-22  Karl Berry  <karl@freefriends.org>
19343         * doc/posix-functions/localtime.texi,
19344         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
19346 2016-01-21  Bruno Haible  <bruno@clisp.org>
19348         hash-pjw-bare: fix comment
19349         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
19351         wcwidth: Replace also on OpenBSD 5.8
19352         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
19353         * doc/posix-functions/wcwidth.texi: Update.
19355 2016-01-20  Pádraig Brady  <P@draigBrady.com>
19357         gnu-web-doc-update: fix addition of new files
19358         If there were already added (emnpty) dirs,
19359         then cvs aborts the add with the message:
19360           cvs [add aborted]: there is a version in <./dirname> already
19361         * build-aux/gnu-web-doc-update: Add directories separately
19362         to the addition of files, to avoid the above issue
19363         impacting the addition of files.
19365 2016-01-19  Daiki Ueno  <ueno@gnu.org>
19367         utimens-tests: avoid pulling gettext .m4 files
19368         Although this is not the right fix to the original problem:
19369         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
19370         it makes it possible again for consumer projects to use arbitrary
19371         version of gettext, through the steps described at:
19372         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
19373         See here for details:
19374         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
19375         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
19376         'gettext'.
19377         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
19378         'gettext'.
19380 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19382         regex: pacify static checkers
19383         Problem and draft fix reported by Aharon Robbins in:
19384         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
19385         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
19386         Clear memory to pacify static checkers.
19388         regex: fix [ diagnostic
19389         Problem and fix reported by Aharon Robbins in:
19390         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
19391         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
19393         regex: fix memory leaks
19394         Problem and draft fix reported by Aharon Robbins in:
19395         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
19396         * lib/regcomp.c (build_range_exp, build_charclass_op)
19397         * lib/regex_internal.c (re_dfa_add_node):
19398         Fix memory leak on failure.
19400 2016-01-18  Pádraig Brady  <P@draigBrady.com>
19402         fts: don't unconditionally use leaf optimization for NFS
19403         NFS st_nlink are not accurate on all implementations,
19404         leading to aborts() if that assumption is made.
19405         See <https://bugzilla.redhat.com/1299169>
19406         * lib/fts.c (leaf_optimization_applies): Remove NFS from
19407         the white list, and document the issue.
19409 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19410             KO Myung-Hun  <komh@chollian.net>
19412         gnulib-tool: don't assume ln -s works
19413         * gnulib-tool (func_ln_s): New function.
19414         (func_ln): Use it.
19416 2016-01-15  KO Myung-Hun  <komh@chollian.net>
19418         utimes: detect utimes() correctly on OS/2 kLIBC
19419         utimes() of OS/2 kLIBC has some limitations.
19420         1. OS/2 itself supports a file date since 1980 year in local time.
19421         2. OS/2 itself supports only even seconds for a file time.
19422         3. utimes() of OS/2 kLIBC does not work on an opened file.
19423         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
19424         * doc/posix-functions/utimes.texi: Document the above limitations of
19425         utimes() on OS/2 kLIBC.
19427 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19428             KO Myung-Hun  <komh@chollian.net>
19430         openat_proc_name: port to OS/2 kLIBC
19431         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
19432         instead of /proc/self/fd.
19433         * lib/openat-proc.c (openat_proc_name):
19434         Don't assume file name length is less than INT_MAX.
19435         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
19437 2016-01-14  KO Myung-Hun  <komh@chollian.net>
19439         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
19440         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
19441         definitions of intptr_t and uintptr_t (which use int and unsigned)
19442         to avoid clashes with declarations of system functions like sbrk.
19443         * lib/stdint.in.h (intptr_t, uintptr_t): Check
19444         _INTPTR_T_DECLARED before defining them.
19446         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
19447         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
19448         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
19449         Declare on kLIBC.
19450         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
19451         fd associated with dirp.
19452         (_gl_register_dirp_fd): New. Register fd associated with dirp to
19453         dirp_fd_list.
19454         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
19455         (dirfd): Implemented for kLIBC.
19456         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
19457         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
19458         succeeds.
19459         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
19460         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
19461         (REPLACE_DIRFD): Define to 1 if replaced.
19462         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
19463         * modules/closedir (Depends-on): Add dirfd.
19464         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
19465         condition.
19466         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
19467         * modules/opendir (Depends-on): Add dirfd.
19469         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
19470         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
19471         * lib/dup.c (dup_nothrow): New.
19472         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
19473         (klibc_dup2): New.
19474         * lib/fcntl.c (klibc_fcntl): New.
19475         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
19476         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
19477         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
19478         fd.
19480         pipe_filter_ii_execute: port to OS/2 kLIBC
19481         Pipes on kLIBC do not support O_NONBLOCK like Win32.
19482         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
19483         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
19484         Reuse Win32 code on OS/2 kLIBC.
19485         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
19486         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
19488         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
19489         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
19490         static inline function.  The implementation of wcwidth in wcwidth.c
19491         causes a "conflicting types" error.
19492         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
19494         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
19495         spawn() on OS/2 kLIBC is not silly like one on Windows
19496         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
19497         empty string on OS/2 kLIBC.
19499         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
19500         On OS/2 kLIBC, select() works only on sockets.
19501         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
19503         binary-io: don't put fd in binary mode if it is a console on EMX
19504         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
19505         a console on EMX.
19507 2016-01-15  Pádraig Brady  <P@draigBrady.com>
19509         doc: mention unfixed issues with unsupported localtime() values
19510         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
19511         returns nonsense for localtime(2^56).
19512         * doc/posix-functions/localtime_r.texi: Likewise.
19514 2016-01-14  Pádraig Brady  <P@draigBrady.com>
19516         doc: mention setlocale() issues on OpenBSD
19517         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
19518         never fails, and the need to check categories individually.
19520 2016-01-14  Pádraig Brady  <P@draigBrady.com>
19522         sig2str: list all signals on FreeBSD >= 7
19523         FreeBSD >= 7 is contravening POSIX by not defining NSIG
19524         to the maximal statically defined signal value.
19525         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
19526         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
19527         where available, even when NSIG is defined.
19529 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
19531         acl-permissions: port to USE_ACL==0 platforms
19532         I ran into this problem when building bleeding-edge GNU Emacs
19533         with gcc -fsanitize=address on Fedora 23.  On this platform
19534         the ACL library does not pass the 'configure' test and Emacs
19535         then does not build due in part to what appear to be typos in the
19536         ACL part of Gnulib.
19537         * lib/acl-internal.c (free_permission_context):
19538         * lib/acl-internal.h (struct permission_context):
19539         Test whether USE_ACL is nonzero, not whether it is defined.
19541 2016-01-12  Martin Sebor  <msebor@redhat.com>
19543         mktime: rename macro to avoid glibc clash
19544         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
19545         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
19547 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
19549         Port "$@" to OpenIndiana ksh93
19550         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
19551         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
19552         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
19553         bug long-dead shells, so remove the workaround.
19554         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
19555         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
19556         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
19557         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
19558         Use "$@" instead of ${1+"$@"}.
19560         Port Universal Time settings to strict POSIX
19561         * build-aux/announce-gen, build-aux/bootstrap:
19562         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
19563         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
19564         * build-aux/gnupload, build-aux/mkinstalldirs:
19565         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
19566         * build-aux/update-copyright, build-aux/useless-if-before-free:
19567         * build-aux/vc-list-files, tests/test-strftime.c:
19568         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
19569         but POSIX says the behavior of TZ="UTC" is undefined.
19571 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
19573         msvc-inval: fix problem with unset shell var
19574         Problem reported by Karl Berry in:
19575         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
19576         * modules/msvc-inval (Depends-on):
19577         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
19578         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
19580 2016-01-01  Pádraig Brady  <P@draigBrady.com>
19582         tests: for compare_(), use cmp -s where available
19583         * tests/init.sh (compare_): Only fall back to cmp without
19584         the POSIX defined -s option, where this is not available.
19586 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
19588         version-etc: new year
19589         * build-aux/gendocs.sh (version):
19590         * doc/gendocs_template:
19591         * doc/gendocs_template_min:
19592         * doc/gnulib.texi:
19593         * lib/version-etc.c (COPYRIGHT_YEAR):
19594         Update copyright dates by hand in templates and the like.
19595         * all files: Run 'make update-copyright'.
19597 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
19599         human: fix output buffer overrun by 1
19600         * lib/human.c (human_readable): Fix off-by-one typo in buffer
19601         calculation that could lead to a one-byte buffer overrun.
19603 2015-12-28  Daiki Ueno  <ueno@gnu.org>
19605         maint: fix operator precedence in mbrtowc test
19606         This is a fix for test breakage introduced by commit 45228d96; the
19607         equality expression must be parenthesized when negated with '!',
19608         otherwise we always get:
19610           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
19612         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
19613         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
19615 2015-12-23  James Youngman  <jay@gnu.org>
19617         regexprops-generic: update from regex.h
19618         * doc/regexprops-generic.texi: update by running the regexprops binary
19619         from findutils (the command line is 'regexprops "Regular Expressions"
19620         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
19621         gnulib with GNU grep had made this document out-of-date.
19623 2015-12-23  Pádraig Brady  <P@draigBrady.com>
19625         strftime-tests: avoid false failure on OS X
19626         * tests/test-strftime.c (struct localtime_rz_test): Add an
19627         ahistorical member which is used to warn rather than fail
19628         when tm_isdst isn't set for such entries.  This is the case for
19629         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
19631 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
19633         fts: ensure leaf optimization is used for NFS
19634         NFS provides usable dirent.d_type but not necessarily for all entries
19635         of large directories.  See <https://bugzilla.redhat.com/1252549>
19636         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
19638 2015-12-20  Pádraig Brady  <P@draigBrady.com>
19640         fts: enable leaf optimization for XFS
19641         XFS provides usable dirent.d_type only for DT_DIR,
19642         but the noleaf optimization still applies.
19643         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
19645 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
19647         intprops: comment fix
19648         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
19649         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
19651         intprops-test: work around GCC bug 68971
19652         Problem reported by Pádraig Brady in:
19653         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
19654         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
19655         (main): Add a case that better tests 64-bit long in this area.
19657 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
19659         gnulib-tool: allow multiple --local-dir usage
19660         * gnulib-tool: Use --local-dir to construct compound
19661         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
19662         PATH_SEPARATOR early.
19663         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
19664         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
19665         func_determine_path_separator because that needs to be detected
19666         earlier now.
19667         (func_determine_path_separator): New function.
19668         (func_path_foreach, func_path_foreach_inner): New functions.
19669         (func_path_prepend, func_path_append): Likewise.
19670         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
19671         (func_lookup_file, func_all_modules): Use new functions to work
19672         with local_gnulib_path.
19673         (func_modules_in_dir, func_exists_module): New callbacks for
19674         func_path_foreach.
19675         (func_exists_module, func_get_tests_module): Likewise.
19676         (func_is_local_file, func_should_symlink): New helper methods.
19677         (func_add_file, func_update_file): Use new func_should_symlink
19678         instead, DRY.
19679         (func_reconstruct_cached_local_gnulib_path): New helper.
19680         (func_reconstruct_cached_dir): New callback.
19681         (func_import): The cached_local_gnulib_dir renamed to
19682         cached_local_gnulib_path similarly to local_gnulib_dir.
19683         Use new func_reconstruct_cached_local_gnulib_path.
19684         (func_count_relative_local_gnulib_path): New sub-method.
19685         (func_create_testdir): Use func_should_symlink, DRY.
19686         (func_create_megatestdir): Use new functions to work with
19687         local_gnulib_path correctly.
19688         (func_append_local_dir): New helper.
19690 2015-12-08  Pádraig Brady  <P@draigBrady.com>
19692         fix freadptr to work with ungetc on all uClibc configs
19693         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
19694         where GNU coreutils cut(1) generates invalid output on uClibc
19695         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
19696         * lib/freadptr.c (freadptr): Return NULL if there are
19697         ungotten chars.  In this case freadseek() will iterate
19698         again to process the ungotten character.
19700 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
19702         xalloc-oversized: improve performance with GCC 5
19703         * lib/xalloc-oversized.h (xalloc_oversized):
19704         Improve performance with GCC 5 by using __builtin_mul_overflow.
19706 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
19708         intprops: new public macro EXPR_SIGNED
19709         Emacs can use this macro, so make it public.
19710         * doc/intprops.texi (Arithmetic Type Properties): Rename from
19711         'Integer Type Determination', since some of these macros apply
19712         to non-integer types.  Clarify what kinds of constant expressions
19713         these macros return.  Say when the arguments can be non-integers.
19714         Mention newly published macro EXPR_SIGNED.
19715         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
19716         make it public.  All uses changed.
19718         intprops: fix typo in clang port
19719         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
19720         '__builtin_add_overflow' that is not caught by compiler.
19722 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
19724         test-timespec: fix typo in previous change
19725         * tests/test-timespec.c (main): Fix typo that reduced test quality.
19727         timespec-sub: fix overflow bug; add tests
19728         * lib/timespec-add.c (timespec_add):
19729         * lib/timespec-sub.c (timespec_sub):
19730         Work even if time_t is narrower than int (a theoretical
19731         possibility).  Redo code for a bit more clarity.
19732         * lib/timespec-sub.c (timespec_sub):
19733         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
19734         * modules/timespec-tests, tests/test-timespec.c: New files.
19736         intprops-test: suppress -Woverlength-strings
19737         Problem reported by Pádraig Brady in:
19738         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
19739         It is not worth the hassle to port this test to compilers that
19740         cannot handle long strings in diagnostics.
19741         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
19743 2015-11-03  Pádraig Brady  <P@draigBrady.com>
19745         quotearg: add quotearg_n_style_colon()
19746         This quotes with default options of the specified style,
19747         but with quoting enabled for instances of ':'.
19748         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
19749         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
19751 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
19753         intprops: revise _WRAPV macros, revert _OVERFLOW
19754         The incompatible changes to the _OVERFLOW macros were too much of
19755         a hassle in practice, so revert them.  Instead, change the new
19756         _WRAPV macros to make them closer in behavior to GCC 5's new
19757         builtin_add_overflow etc. functions.  No other software was using
19758         these newly-added macros yet, so this should be OK.
19759         * NEWS: Revert previous change, since the incompatible change
19760         has been reverted, and nobody used the incompatible version.
19761         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
19762         Document revised behavior.
19763         (Integer Range Overflow): Adjust example to match above revisions.
19764         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
19765         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
19766         these can be used in integer constant expressions again.
19767         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
19768         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
19769         needed.
19770         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
19771         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
19772         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
19773         Remove, as they did not seem that useful.
19774         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
19775         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
19776         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
19777         Support new semantics.
19778         (__has_builtin): New macro, if not alreay defined.
19779         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
19780         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
19781         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
19782         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
19783         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
19784         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
19785         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
19786         New macros.
19787         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
19789 2015-11-03  Jim Meyering  <meyering@fb.com>
19791         intprops: add parentheses for when OP has precedence lower than "-"
19792         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
19793         "a OP b" must be parenthesized for when OP is like "<<", which has
19794         lower precedence than the following "-". Reported by Pádraig Brady.
19796 2015-11-03  Pádraig Brady  <P@draigBrady.com>
19798         quotearg: constify get_quoting_style parameters
19799         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
19800         * lib/quotearg.c (get_quoting_style): Likewise.
19802 2015-11-02  Pádraig Brady  <P@draigBrady.com>
19804         quotearg: add support for $'' shell escaping
19805         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
19806         items and descriptions.
19807         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
19808         above types by quoting like "shell", but using $'...' syntax
19809         for non printable characters, which should provide unambiguous
19810         printable output for any input.
19811         * tests/test-quotearg-simple.c: Update accordingly.
19813 2015-11-02  Pádraig Brady  <P@draigBrady.com>
19815         maint: use a more standard return from mbrtowc test
19816         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
19817         from the test program as this is non standard and often
19818         indicates an unhandled case in the test program.
19819         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
19821 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
19823         intprops: add WRAPV and const flavors for GCC 5
19824         If available, use GCC 5's builtin functions for efficient integer
19825         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
19826         and safely compute the low-order bits of the correct answer.
19827         A downside of these efficient functions is that they cannot be
19828         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
19829         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
19830         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
19831         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
19832         Document the changes.
19833         (Wraparound Arithmetic): New section.
19834         (Integer Range Overflow):
19835         Put this subsection last, since it's least useful.
19836         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
19837         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
19838         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
19839         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
19840         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
19841         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
19842         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
19843         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
19844         New macros.
19845         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
19846         Generate calls to GCC builtins if available, for speed.
19847         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
19848         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
19849         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
19850         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
19851         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
19852         (CHECK_QUOTIENT, CHECK_REMAINDER):
19853         Test WRAPV and CONST flavors (when available) too.
19855 2015-10-30  Pádraig Brady  <P@draigBrady.com>
19857         doc: use extended timezone format in iso-8601 example
19858         * doc/parse-datetime.texi: The standard states that extended format
19859         is to be used consistently throughout.
19860         Note that lib/parse-datetime.y can handle either tz format.
19862 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
19864         stdalign: port to Sun C 5.9
19865         * doc/posix-headers/stdalign.texi: Document this.
19866         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
19867         __attribute__ ((__aligned__ (...))).
19869 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
19871         time_rz: fix comment about tzalloc
19872         * lib/time_rz.c (tzalloc): Fix comment.
19874 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
19876         stdalign: work around pre-4.9 GCC x86 bug
19877         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
19878         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
19879         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
19881 2015-10-18  Pádraig Brady  <P@draigBrady.com>
19883         maint.mk: sc_tight_scope: remove extraneous expressions
19884         * top/maint.mk (tight_scope): This is not really required since
19885         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
19886         that matches all nm entries.  But it does remove extraneous entries
19887         that may be confusing or cause issue in future maintenance.
19889 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
19891         time_rz: return NULL if localtime_r fails
19892         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
19893         while still attempting to pacify bleeding-edge GCC.
19895         fts: port to C11 alignof
19896         * doc/posix-headers/stdalign.texi (stdalign.h):
19897         Document the C11 restriction.
19898         * lib/fts.c: Include stddef.h, for max_align_t.
19899         (fts_alloc): Align using max_align_t, not FTSENT.
19900         * modules/fts (Depends-on): Add stddef.
19902 2015-10-18  Jim Meyering  <meyering@fb.com>
19904         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
19905         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
19906         would see this:
19908         lib/time_rz.c: In function 'localtime_rz':
19909         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
19910           [-Werror=nonnull]
19911                    if (tm && !save_abbr (tz, tm))
19912                        ^
19914         That was complaining about "tm" because it is a parameter that was
19915         declared with the __nonnull__ attribute.
19916         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
19917         result of localtime_r.
19919 2015-10-17  Jim Meyering  <meyering@fb.com>
19921         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
19922         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
19923         name-extraction regexp mistakenly used \S+, and would mistakenly
19924         extract "*F" from "extern int *F()" rather than the desired "F".
19925         Use \w+ instead.
19927 2015-10-17  Jim Meyering  <meyering@fb.com>
19929         maint.mk: sc_tight_scope: factor and support OS X
19930         * top/maint.mk (_gl_tight_scope): Address three issues:
19931         - factor out four instances of code that wraps a string in "^...$"
19932         - allow nm-reported symbol names to have an optional leading "_"
19933         - add "main" to the list of ignored variable names, because on os x,
19934         "main" has nm-reported type "S" in the variable-checking section.
19936 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
19938         safe-alloc-tests: fix typo in license header
19939         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
19941 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
19943         copy-file: fix mem leak in error case
19944         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
19945         upon error opening or performing I/O to the src and dest files.
19947 2015-10-15  Mike Frysinger  <vapier@chromium.org>
19949         localename: control langinfo.h inclusion
19950         This header is only used to work around buggy behavior in old
19951         versions of glibc, so do not include it all the time.  Otherwise
19952         we get build failures on systems that do not provide langinfo.h.
19953         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
19954         in the source later on.
19955         The patch was originally submitted to gettext as:
19956         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
19958 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
19960         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
19961         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
19962         * lib/u64.c, lib/unistd.c:
19963         Append 'typedef int dummy;', to pacify compilers that are picky
19964         about empty translation units.
19966 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
19968         accept4-tests: fix to avoid non portable flags
19969         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
19970         as they are the only documented ones, and passing others may trigger
19971         EINVAL (seen on FreeBSD 10.1-RELEASE).
19972         * doc/glibc-functions/accept4.texi: Mention that we don't provide
19973         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
19975 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
19977         gnulib-tool: fix tests of 'extensions' module
19978         This complements f8fe25fab60e3c687a124 commit.
19979         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
19980         emitting of initial gl_EARLY macros.
19981         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
19982         replaced with func_emit_pre_early_macros call.
19984 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
19986         unicase/locale-language: fix typo in utf-8 cookie
19987         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
19988         Problem reported by Zbigniew Jędrzejewski-Szmek.
19990 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
19992         xalloc: do not worry about GCC 5 warning on 32 bit
19993         * lib/xalloc.h: Revert previous change.
19994         I found a better way to fix this in coreutils.
19996 2015-10-02  Pádraig Brady  <P@draigBrady.com>
19998         xalloc: avoid GCC 5.1 warning on 32 bit
19999         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
20000         xalloc_oversized(), which was seen to give this warning
20001         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
20002         when simplifying conditional".
20004 2015-10-02  Daiki Ueno  <ueno@gnu.org>
20006         uniname/uniname-tests: avoid compiler warnings
20007         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
20008         unused local variables.
20009         (test_alias_lookup): Fix alias name display in failure cases.
20011 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20013         c-ctype: do not worry about EBCDIC + char signed
20014         Drop support for EBCDIC with char being signed, as this breaks too
20015         many programs.  Problem reported by Ben Pfaff in:
20016         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
20017         * lib/c-ctype.h: Verify that we are not using EBCDIC with
20018         char being signed.
20019         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
20020         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
20021         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
20022         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
20023         * tests/test-c-ctype.c (test_all):
20024         Simplify by assuming standard char values cannot be negative.
20025         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
20027 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
20029         c-ctype: port better to z/OS EBCDIC
20030         Problems reported by Daniel Richard G. in:
20031         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
20032         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
20033         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
20034         (_C_CTYPE_OTHER_CNTRL): New macro.
20035         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
20036         from SCHAR_MIN, as the functions are defined only from values
20037         promoted from char or from unsigned char, not necessarily from
20038         signed char.
20040 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
20042         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
20044         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
20045         and ARFLAGS variables.  Doing this unconditionally could break
20046         later Automake's AM_PROG_AR invocation (at least it's
20047         AC_CHECK_TOOLS call to detect correct 'ar' binary).
20049         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
20050         Amsterdam Compiler Kit, so make the previous code to have effects
20051         only on ACK, and rather automatically call the Automake's
20052         AM_PROG_AR as soon as possible to decide other cases.
20054         References:
20055         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
20057         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
20058         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
20059         is possible, keep setting AR/ARFLAGS to reasonable defaults.
20060         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
20061         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
20062         'extensions' module is used.
20063         * modules/extensions (configure.ac-early): Remove as this snippet
20064         is added to gnulib-comp.m4 earlier anyway.
20066 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
20068         sockets: MS Windows initalization fixes
20069         Problem reported by Test User in:
20070         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
20071         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
20072         Correct the endianness.
20073         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
20074         number mismatch, not just on <.  Cleanup before any such failure.
20076 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
20078         gc: fix detection of installed libgcrypt version
20079         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
20080         at least as recent as 1.4.4.  The previously used macro is not
20081         available now, since modules were removed in version 1.6.0.
20083 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
20085         c-ctype: rewrite to use inline functions
20086         This simplifies maintenance, since it makes for just one
20087         implementation of each function, letting the compiler have the fun
20088         of optimization.  In practice this works well nowadays with GCC.
20089         E.g., c_isascii might need only three instructions even though the
20090         source code lists every ASCII character individually in a large
20091         switch statement.
20092         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
20093         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
20094         * NEWS: Document the API change.
20095         * lib/c-ctype.c: Drastically simplify, since this now just expands
20096         inline functions.
20097         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20098         (C_CTYPE_INLINE): New macro.
20099         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
20100         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
20101         Verify that either ASCII or EBCDIC is being used.
20102         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
20103         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
20104         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
20105         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
20106         New private macros.
20107         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
20108         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
20109         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
20110         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
20111         (c_tolower, c_toupper): When converting, return the unsigned char,
20112         as that is what z/OS does.
20113         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
20114         of some c-ctype.h macros.
20115         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
20116         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
20117         c_tolower promotion to be compatible with z/OS.
20119 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
20121         gitlog-to-changelog: trim only trailing whitespaces
20122         This is fix for --format regression introduced by commit
20123         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
20124         doubled %n string) had no effect anymore.  This format
20125         specification has been used e.g. by GNU paxuitils (commit
20126         edfd8bcc3).
20128         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
20129         newlines in commmit messages.
20131 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
20133         Test that c_iscntrl agrees with iscntrl, etc.
20134         Suggested by Daniel Richard G. in:
20135         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
20136         * modules/c-ctype-tests (Depends-on): Add ctype.
20137         * tests/test-c-ctype.c: Include <ctype.h>.
20138         (NCHARS): New constant.
20139         (test_agree_with_C_locale): New function.
20140         (main): Use it.
20141         (test_all): Use named constants.
20143         c-ctype: improve c_isascii testing
20144         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
20145         Add a test to count the number of ASCII characters.
20147 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
20149         savewd: remove SAVEWD_CHDIR_READABLE
20150         It was problematic in the light of file systems that ignore umask.
20151         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
20152         * NEWS: Document this.
20153         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
20154         successful, -1 (setting errno) on failure, rather than something
20155         more complicated than that.
20156         * lib/mkdir-p.c (make_dir_parents):
20157         Do not use SAVEWD_CHDIR_READABLE.
20158         * lib/savewd.c (savewd_chdir):
20159         Remove support for SAVEWD_CHDIR_READABLE.
20160         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
20162         c-ctype: port better to EBCDIC
20163         Problems reported by Daniel Richard G. in
20164         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
20165         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
20166         Include "verify.h".
20167         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
20168         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
20169         Define as enum constants with value false, if not defined, so that
20170         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
20171         code more portable, as both branches of the 'if' are compiled on
20172         all platforms.
20173         (C_CTYPE_EBCDIC): New constant.
20174         Verify that the character set is either ASCII or EBCDIC.
20175         (to_char): New static function.
20176         (c_isascii, c_iscntrl):
20177         Assume standard control-character assignments for EBCDIC.
20178         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
20179         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
20180         Rewrite to use 'if' instead of 'ifdef'.
20181         Use to_char if non-ASCII.  Prefer <= to >=.
20182         Prefer true and false to 1 and 0, for booleans.
20183         (c_iscntrl): Use 'if', not 'ifdef'.
20184         * modules/c-ctype (Depends-on): Add verify.
20185         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
20186         (to_char): New function.
20187         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
20189 2015-09-21  Pádraig Brady  <P@draigBrady.com>
20191         nanosleep: fix return code for interrupted replacement
20192         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
20193         that we return -1 in the case the call is interrupted by a signal,
20194         rather than the current value of 1.
20195         Diagnosed and tested by Daniel Richard G.
20197 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
20199         Diagnose ERE '()|\1'
20200         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
20201         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
20202         track of the set of previously-completed subexpressions available
20203         before the first alternative, and restore this set just before
20204         parsing each subsequent alternative.  This lets us diagnose the
20205         invalid back-reference in the ERE '()|\1'.
20207         regex: merge patches from libc
20209         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
20210         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
20211         * lib/regex_internal.h:
20212         Include <libc-lock.h> instead of <bits/libc-lock.h>.
20214         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
20215         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
20216         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
20217         wcscoll.
20218         * lib/regexec.c (check_node_accept_bytes): Likewise.
20220         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
20221         Fix regex wcrtomb namespace (bug 18496).
20222         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
20223         instead of wcrtomb.
20225         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
20226         Fix regex wctype namespace (bug 18495).
20227         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
20228         instead of towlower.
20229         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
20230         instead of iswlower.  Call __towupper instead of towupper.
20231         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
20232         instead of iswalnum.
20234         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
20235         * lib/regcomp.c (parse_bracket_exp): Initialize type to
20236         COLL_SYM in a couple of places to avoid uninitialized variable
20237         wanings on tilegx gcc 4.8.2.
20239         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
20240         * lib/regex_internal.h: Remove NOT_IN_libc.
20242         2014-11-17  Andreas Schwab  <schwab@suse.de>
20243         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
20245         2014-09-11  Roland McGrath  <roland@hack.frob.com>
20246         Move findidx nested functions to top-level.
20247         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
20248         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
20249         Pass new arguments to findidx.
20250         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
20251         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
20252         Don't #include it inside the function.  Pass new arguments to findidx.
20253         * lib/regex_internal.h:
20254         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
20255         (re_string_elem_size_at): Don't #include it inside the function.
20256         Pass new arguments to findidx.
20258         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
20259         Check if DEBUG is defined in regex_internal.c
20260         * lib/regex_internal.c: Check if DEBUG is defined and is set.
20262 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
20264         ceill: detect buggy OpenBSD implementation
20265         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
20266         which returns zero for small values.  Discussed here:
20267         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
20269 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
20271         mountlist: add me_mntroot field on Linux machines
20272         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
20273         mount_entry so Linux machines based on /proc/self/mountinfo can
20274         distinguish between bind mounts and original mounts.  In reality bind
20275         mounts aren't treated differently than mountroot=/ mounts by the
20276         kernel, but the user often wants these bind mounts distinguished.
20277         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
20278         More details at https://pad.lv/1432871
20280 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
20282         doc: Describe to use multiple instances of gnulib
20283         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
20284         instances of gnulib with different modules can be used, for example one
20285         for a lib and another one for associated tools.
20287 2015-09-01  Pádraig Brady  <P@draigBrady.com>
20289         base32: mark function as __attribute__ const
20290         * lib/base32.h (isbase32): Mark __attribute__ const as
20291         suggested by GCC, and consistent with the base64 module.
20293 2015-08-20  Daiki Ueno  <ueno@gnu.org>
20295         gnulib-tool: don't transform binary files with sed
20296         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
20297         .mo and .class files.
20298         Reported by Denis Denisov.
20300 2015-08-10  Daiki Ueno  <ueno@gnu.org>
20302         gperf: respect silent rules
20303         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
20304         V_GPERF_0 for silent rules.
20305         * modules/iconv_open (Makefile.am): Use V_GPERF.
20306         * modules/unicase/locale-language (Makefile.am): Likewise.
20307         * modules/unicase/special-casing (Makefile.am): Likewise.
20308         * modules/unictype/category-byname (Makefile.am): Likewise.
20309         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
20310         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
20311         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
20312         * modules/unictype/property-byname (Makefile.am): Likewise.
20313         * modules/unictype/scripts (Makefile.am): Likewise.
20314         * modules/uninorm/composition (Makefile.am): Likewise.
20316 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
20318         Improve port of stdalign to C++11
20319         Problem reported by Sundaram in:
20320         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
20321         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
20322         (__alignas_is_defined): Define if C++11 or newer.
20324 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
20326         pmccabe2html: fix gawk regex escaping
20327         * build-aux/pmccabe2html: Add one more backslash to properly
20328         escape the gsub replacement value.  Fixes this error:
20329         gawk: ./build-aux/pmccabe2html:425: \
20330         warning: escape sequence `\&' treated as plain `&'
20332 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
20334         time_rz: port to pedantic memcpy
20335         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
20336         that reject memcpy (..., NULL, 0).
20338 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
20340         time_rz: port better to MinGW
20341         Don't change tzname, as this makes MinGW dump core (Bug#21020).
20342         Instead, store the tzname copy in the struct tm_zone object.
20343         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
20344         * lib/strftime.c [!_LIBC]:
20345         * lib/time_rz.c: Include time-internal.h.
20346         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
20347         name from *TZ rather than from TZNAME, doable because *TZ now has
20348         a tzname_copy member.
20349         * lib/time-internal.h: New file, with contents taken from
20350         lib/time_rz.c.  It's separate because strftime.c now accesses
20351         struct tm_zone members.
20352         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
20353         New member tzname_copy.
20354         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
20355         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
20356         Initialize tzname_copy member.
20357         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
20358         in tzname_copy member.
20359         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
20360         (restore_tzname): Remove; no longer needed.  All calls removed.
20361         * modules/time_rz (Files): Add lib/time-internal.h.
20363         time: port __need_time_t to MinGW
20364         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
20365         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
20367 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
20369         strftime: fix newly-introduced bug on Solaris
20370         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
20371         consistently at the start, rather than doing some of the setup at
20372         the start and some in the %Z format spec.  This is cleaner, and
20373         works better with time_rz on platforms like Solaris where struct
20374         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
20375         mktime_z and localtime_rz can mess up the tzname cache.
20377         test-strftime: test for Solaris bug
20378         * modules/strftime-tests (Depends-on): Add strerror.
20379         * tests/test-strftime.c: Include <errno.h>.
20380         (posixtm_test): New function, containing the old 'main'.
20381         (struct tzalloc_test, struct localtime_rz_test): New types.
20382         (TZ, LT): New static vars.
20383         (tzalloc_test): New function.
20384         (main): Rewrite in terms of posixtm_test and tzalloc_test.
20386         time_rz: port to Solaris etc.
20387         Works around a tzname problem on platforms like Solaris that have
20388         tzname but not tm_zone, by setting tzname at the appropriate time
20389         and restoring it later.
20390         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
20391         New static vars.
20392         (save_abbr) [HAVE_TZNAME]: Set them.
20393         (revert_tz) [HAVE_TZNAME]: Clear or use them.
20394         (restore_tzname): New function.
20395         (localtime_rz, mktime_z): Use it.
20397         time_rz: now LGPL
20398         * modules/time_rz (License): Now LGPL, because strftime depends on it.
20400         time_rz: make a constant 'const'
20401         * lib/time_rz.c (local_tz): Now const.
20403         time_rz: fix off-by-one typo
20404         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
20406 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
20408         fprintftime, strftime: use timezone_t args
20409         * NEWS: Document the change.
20410         * lib/fprintftime.h (fprintftime):
20411         * lib/strftime.c (extra_args) [my_strftime]:
20412         * lib/strftime.h (nstrftime):
20413         Time zone arg is now of type timezone_t, not int.
20414         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
20415         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
20416         (my_strftime) [emacs && !my_strftime]:
20417         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
20418         Remove; Emacs doesn't need this any more.
20419         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
20420         fprintftime and nstrftime to call tzset.
20421         (ut) [!my_strftime]: Remove, replacing with ...
20422         (tz) [!my_stftime]: ... this new macro.  All uses changed.
20423         (strftime_case_): Use localtime_rz and mktime_z instead
20424         of localtime_r and mktime.
20425         * modules/fprintftime (Depends-on): Add time_rz.
20426         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
20427         * tests/test-strftime.c (main): Adjust to new nstrftime API.
20429         time_rz: new module
20430         * MODULES.html.sh: Add time_rz.
20431         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
20432         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
20433         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
20434         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
20435         New var HAVE_TIMEZONE_T (default 0).
20436         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
20437         New var GNULIB_TIME_RZ (default 0).
20438         * modules/time (time.h): Substitute the new vars.
20440         flexmember: license is now unlimited
20441         * modules/flexmember (License): Change to unlimited,
20442         since its only source file gives an unlimited license.
20444 2015-07-15  Eric Blake  <eblake@redhat.com>
20446         maint: update copyright paper procedures
20447         * config/srclist.txt: Drop outdated files.
20448         * doc/Copyright/conditions.txt: Update to latest.
20449         * doc/Copyright/assign.changes.manual: Delete.
20450         * doc/Copyright/assign.future.manual: Likewise.
20451         * doc/Copyright/assign.manual: Likewise.
20452         * doc/Copyright/assign.translation.manual: Likewise.
20453         * doc/Copyright/disclaim.changes.manual: Likewise.
20454         * doc/Copyright/disclaim.manual: Likewise.
20455         * doc/Copyright/disclaim.program: Likewise.
20457 2015-07-07  Daiki Ueno  <ueno@gnu.org>
20459         localename: fix link error on Illumos
20460         Illumos defines __sun, but does not have getlocalename_l nor the
20461         equivalent.  This partially reverts commit 387c214.
20462         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
20463         available, as well as uselocale.
20464         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
20465         use getlocalename_l if it is not available.
20467 2015-07-07  Daiki Ueno  <ueno@gnu.org>
20469         unistr/uN-strtok-tests: avoid a trivial leak
20470         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
20471         input and delim after the multibyte delimiter tests.
20473 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
20475         file-has-acl, acl-permissions: fix HP-UX typos
20476         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
20477         * lib/file-has-acl.c (file_has_acl):
20478         * lib/set-permissions.c (context_acl_from_mode)
20479         (context_aclv_from_mode, set_acls):
20480         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
20481         They were introduced by the recent ACL changes.
20483         regex: match current GNU grep behavior
20484         These symbols have not matched GNU grep behavior for quite some time.
20485         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
20486         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
20487         Change to match current GNU behavior.
20488         Simplify by expressing it as differences from POSIX BREs and EREs.
20489         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
20491 2015-07-03  Jim Meyering  <meyering@fb.com>
20493         set-permissions.c: adjust acl_from_mode's cpp guard
20494         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
20495         directives identical to those guarding the sole use.
20496         Otherwise, on some systems, we'd get a warning about
20497         the function being defined but not used.
20498         Also, filter through cppi to correct misleading indentation
20499         of cpp directives.
20501 2015-07-03  Pádraig Brady  <P@draigBrady.com>
20503         tests: restrict shells to those that support 'local'
20504         The local keyword is very widely supported and used
20505         in tests in coreutils and grep at least.  Therefore
20506         restrict to testing with shells that support it.
20507         This mainly excludes /bin/sh on Solaris.
20508         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
20510 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
20511         and Daiki Ueno  <ueno@gnu.org>
20513         unistr/uN-strtok: handle multibyte delimiters
20514         Previously, uN_strtok moved PTR to the next unit to the token end.
20515         When DELIM contained a multibyte character, the new position could
20516         be a middle of a multibyte character.
20517         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
20518         after the token.
20519         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
20520         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
20521         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
20522         * modules/unistr/u8-strtok (Depends-on): Depend on
20523         unistr/u8-strmblen.
20524         * modules/unistr/u16-strtok (Depends-on): Depend on
20525         unistr/u16-strmblen.
20526         * modules/unistr/u32-strtok (Depends-on): Depend on
20527         unistr/u32-strmblen.
20528         * tests/unistr/test-u-strtok.h: New file.
20529         * tests/unistr/test-u8-strtok.c: New file.
20530         * tests/unistr/test-u16-strtok.c: New file.
20531         * tests/unistr/test-u32-strtok.c: New file.
20532         * modules/unistr/u8-strtok-tests: New file.
20533         * modules/unistr/u32-strtok-tests: New file.
20534         * modules/unistr/u16-strtok-tests: New file.
20536 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
20538         update-copyright: fix test failure with perl >= 5.22 (trivial)
20539         * build-aux/update-copyright: Escape a literal left curly bracket,
20540         required with perl >= 5.22
20542 2015-07-02  Daiki Ueno  <ueno@gnu.org>
20544         u{16,32}-strstr-tests: relax timeout condition
20545         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
20546         tests can take longer than 5 seconds to complete.
20547         Reported by Dagobert Michelsen in:
20548         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
20549         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
20550         seconds to 10 seconds.
20551         * tests/unistr/test-u32-strstr.c (main): Likewise.
20553 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
20555         gnulib-common.m4: change the ARFLAGS default to 'cr'
20556         In some GNU/Linux distributions people started to compile 'ar'
20557         binary with --enable-deterministic-archives (binutils project).
20558         That, however, in combination with previous autotools long time
20559         working default AR{_,}FLAGS=cru causes warnings on such
20560         installations:
20561         ar: `u' modifier ignored since `D' is the default (see `U')
20562         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
20563         set already.
20565 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
20567         selinux-h: avoid double free after *getfilecon()
20568         Originally reported by Ben Shelton on bug-tar:
20569         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
20570         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
20571         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
20572         param should be freed by freecon(3) (regardless the return value).
20574 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
20576         fix pty related tests issues on Windows (trivial)
20577         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
20578         however it's still present in tests/ subdirectory of the final project.
20579         Therefore avoid it to pass `make check`.
20580         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
20581         will just return -ENOSYS, so avoid this non applicable test allowing
20582         the build to proceed.
20584 2015-07-01  Pádraig Brady  <P@draigBrady.com>
20586         acl: fix definition of acl_from_mode on FreeBSD
20587         This was causing basic coreutils copy operations to fail
20588         with ENOTSUP or ENOENT error messages.
20589         * lib/acl-internal.h (acl_from_mode): Only define when
20590         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
20591         of acl_from_mode() defined in lib/set-permissions.c to
20592         be used on FreeBSD at least.
20593         * lib/set-permissions.c: Fix up comment spelling,
20594         and a redundant variable assignment; noticed in passing.
20596 2015-06-30  Pádraig Brady  <P@draigBrady.com>
20598         readutmp: port to FreeBSD >= 9
20599         * lib/readutmp.h: Map utmpxname() to setutxdb().
20600         With that coreutils who(1) and pinky(1) tests pass.
20602 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
20604         mgetgroups: port to strict OS X
20605         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
20606         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
20607         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
20608         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
20610 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
20612         mgetgroups: port to strict OS X
20613         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
20614         Document the getgrouplist problem.
20615         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
20616         New macro.
20617         (mgetgroups): Use it.
20618         * m4/mgetgroups.m4 (gl_MGETGROUPS):
20619         Check for OS X signature for getgrouplist.
20621 2015-06-29  Jim Meyering  <meyering@fb.com>
20623         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
20624         It started like this when building coreutils' latest on OS X,
20625         invoking ./configure with a nonempty --cache=.cache:
20627           lib/linkat.c:46:42: error: operator '||' has no right operand
20628           lib/linkat.c: In function 'rpl_linkat':
20629           lib/linkat.c:330:27: error: #if with no expression
20631         Here's linkat.c's line 46:
20633           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
20635         Here's some context:
20637           $ grep linkat_nofoll .cache
20638           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
20639           $ grep LINKAT_SYM lib/config.h
20640           #define LINKAT_SYMLINK_NOTSUP
20642         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
20643         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
20644         but that violates a tenet of AC_CACHE_CHECK: it must
20645         have no side effect other than setting its cache variable.
20647         What happens is that when the cache is set, we'd skip the
20648         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
20649         defined to whatever value it happened to have in configure's
20650         environment.  In my case, it was not defined, so this later code:
20652           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
20653             [Define to 1 if linkat can create hardlinks to symlinks])
20655         would emit code with an empty RHS.
20657         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
20658         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
20660 2015-06-28  Jim Meyering  <meyering@fb.com>
20662         mountlist: avoid an unused-label warning on OS X
20663         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
20664         Building on OS X, I saw a warning about the "free_then_fail" label
20665         being unused.  Give it the _GL_UNUSED_LABEL attribute.
20667         error.c: correct printf-style format: %d -> %u
20668         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
20669         rather than %d, to match the type of "line_number", unsigned int.
20671 2015-06-25  Pádraig Brady  <P@draigBrady.com>
20673         fts: avoid reading beyond the heap allocation
20674         GCC 5.1.1 with -O2 and -fsanitize=address reports
20675         a read of size 4 from a heap object of size 3 is indeed invalid,
20676         though this may be due to incorrect padding assumptions by GCC, see:
20677         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
20678         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
20679         * modules/fts: Depend on stdalign.
20681 2015-06-24  Pádraig Brady  <P@draigBrady.com>
20683         savedir: avoid undefined behavior in qsort call
20684         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
20685         "runtime error: null pointer passed as argument 1,
20686          which is declared to never be null"
20687         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
20689 2015-06-24  Pádraig Brady  <P@draigBrady.com>
20691         userspec: avoid undefined behavior in gettext call
20692         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
20693         "runtime error: null pointer passed as argument 2,
20694          which is declared to never be null"
20695         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
20697 2015-06-20  Glenn Morris  <rgm@gnu.org>
20699         gitlog-to-changelog: improve gitmerge.el commits
20700         Let the Emacs ChangeLog generation process exclude "skipped"
20701         messages from merge commits (Bug#20717).
20702         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
20704 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
20706         wchar: fix MinGW compilation warnings
20707         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
20708         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
20709         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
20711 2015-06-20  Daiki Ueno  <ueno@gnu.org>
20713         uniname/uniname-tests: use pristine data files
20714         For copyright and maintenance reasons, use the data files from UCD
20715         without modification.
20716         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
20717         (getfield): Remove.
20718         (aliases_count): New global variable.
20719         (fill_names): Skip comments and empty lines in the input.  Don't
20720         use getfield.
20721         (fill_aliases): Likewise.
20722         (main): Change the expected command line arguments to:
20723         NAMES... ["--" ALIASES...].
20724         * tests/uniname/test-uninames.sh: Adjust to the change in
20725         test-uninames.c.
20726         * tests/uniname/UnicodeDataNames.txt: Remove.
20727         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
20728         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
20729         file from Unicode 8.0.0.
20731 2015-06-19  Pádraig Brady  <P@draigBrady.com>
20733         linked-list, linkedhash-list: avoid compiler warnings
20734         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
20735         -Werror=suggest-attribute=pure (from GCC 5.1.1).
20737 2015-06-19  Daiki Ueno  <ueno@gnu.org>
20739         libunistring: bump minimum version to 0.9.6
20740         * all modules depending on updated Unicode data: Regenerate.
20741         The modules are listed by a script that does:
20742         - for each file listed by: git show --oneline --name-only 705f4efc
20743           - deduce the containing modules, based on "Files:"
20744         - deduce the modules which depend on the containing modules, based
20745           on "Depends-on:"
20747 2015-06-18  Daiki Ueno  <ueno@gnu.org>
20749         uniname/uniname: update to Unicode 8.0.0
20750         * lib/uniname/uninames.h: Regenerate.
20751         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
20752         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
20754 2015-06-18  Daiki Ueno  <ueno@gnu.org>
20756         libunistring: update to Unicode 8.0.0
20757         * lib/gen-uni-tables.c (SIZEOF): New macro.
20758         (output_numeric): Increase the maximum number of fractions from
20759         128 to 160.  Increase the level3 value width from 7 bits to 8
20760         bits.  Use SIZEOF instead of a hard-coded integer.
20761         (output_blocks): Decrease the cut-off threshold from 0x30000 to
20762         0x28000.
20763         (fill_blocks): Increase the maximum number of blocks from 256 to
20764         384.  Use SIZEOF instead of a hard-coded integer.
20765         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
20766         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
20767         value width.
20768         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
20769         a new case added to LBP22.
20770         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
20771         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
20772         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
20773         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
20774         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
20775         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20776         lib/uniwidth/width.c.
20777         * all generated files under lib/uni* and tests/uni*: Regenerate.
20779 2015-06-16  Pádraig Brady  <P@draigBrady.com>
20781         gnu-web-doc-update: add --mirror to remove stale files
20782         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
20783         out of date files from the CVS server.  Since this is usually
20784         appropriate, a prompt is given when the option is not specified,
20785         along with the `cvs remove` command that would be run.
20787 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
20789         acl-permissions: pacify -Wsuggest-attribute=const
20790         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
20791         * lib/acl-internal.h (free_permission_context):
20792         Declare with attribute const if ! (defined USE_ACL &&
20793         (HAVE_ACL_GET_FILE || defined GETACL)).
20795         fsync: document AIX misbehavior
20796         * doc/posix-functions/fsync.texi (fsync):
20797         Document failure on AIX with read-only file descriptor.
20799 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
20801         stdio: Don't redefine gets when using C++
20802         * lib/stdio.in.h (gets): Disable warning on C++.
20804 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20806         acl-permissions: port to AIX, C89 HP-UX
20807         Problems reported by Michael Felt.
20808         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
20809         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
20810         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
20811         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
20812         Add cast for AIX, whose system calls are declared to accept
20813         char * even though the arguments are really char const *.
20814         * lib/get-permissions.c (get_permissions):
20815         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
20816         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
20817         that broke a build.
20818         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
20819         Rework types to pacify xlc.
20821 2015-06-03  Pádraig Brady  <P@draigBrady.com>
20823         vasprintf-posix: avoid compiling vasnprintf where possible
20824         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
20825         module where not required.  For example on a GNU/Linux system
20826         when gnulib-tool is run with the --conditional-dependencies option.
20828 2015-06-02  Pádraig Brady  <P@draigBrady.com>
20830         file-has-acl: fix build on Mac OS X 10
20831         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
20832         which has an incompatible 6 parameter getxattr() call.
20833         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
20834         call on Mac OS X >= 10.4.
20835         * doc/glibc-functions/fgetxattr.texi: Likewise.
20836         * lib/file-has-acl.c: Revert to more complete combined check.
20837         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
20838         Reported by Jack Howarth.
20840 2015-06-02  Pádraig Brady  <P@draigBrady.com>
20842         prefix-gnulib-mk: remove no longer needed special case
20843         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
20844         continued lib_SOURCES lines are no longer present,
20845         so special case handling of such entries is not required.
20847 2015-06-01  Pádraig Brady  <P@draigBrady.com>
20849         acl: don't depend on the deprecated qacl module
20850         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
20852 2015-06-01  Pádraig Brady  <P@draigBrady.com>
20854         gnulib-tool: concatenate lib_SOURCES to a single line
20855         * gnulib-tool: Refactor the line merging sed logic,
20856         and use that to output a single lib_SOURCES line for each module.
20857         gnulib using projects often postprocess this output to prepend
20858         subdir paths to each item, and having a single line simplifies this
20859         processing allowing better decoupling from the gnulib-tool output.
20861 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
20863         pthread_sigmask: discount system version if a simple macro (trivial)
20864         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
20865         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
20866         function to ensure it's available.
20868 2015-05-31  Pádraig Brady  <P@draigBrady.com>
20870         readlinkat: avoid OS X 10.10 trailing slash bug
20871         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
20872         has this bug.
20873         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
20874         that OS X 10.10 has this function.
20875         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
20876         as done for readlink().
20877         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
20878         trailing slash bug, and assume readlinkat() has the same issue.
20879         Also fix a typo where $gl_cv_decl_readlink_works was tested,
20880         rather than the correct $gl_cv_decl_readlinkat_works.
20882 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
20884         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
20885         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
20886         module rewrite.
20888         acl-permissions: Fix build on Solaris and Cygwin
20889         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
20890         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
20891         ace_entries variables have moved into struct permission_context but
20892         they were still accessed as local variables here.
20894 2015-05-29  Pádraig Brady  <P@draigBrady.com>
20896         linkat: avoid OS X 10.10 trailing slash with symlink bug
20897         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
20898         causes the symlink to be dereferenced, and if it points
20899         to a non existent file, that file will be created as
20900         a hard link to "path1".
20901         This fixes a test failure in test-linkat.c.
20902         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
20903         this case.  The existing workaround in linkat.c for
20904         trailing slash issues, suffices for this case.
20905         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
20906         the list of platforms with trailing slash issues.
20908 2015-05-28  Pádraig Brady  <P@draigBrady.com>
20910         unlinkat: handle ignoring of ".." on Darwin 14
20911         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
20912         on Mac OS X 10.10, where it ignores paths with a trailing "..",
20913         so handle in the same manner.
20914         * m4/unlinkat.m4: Comment on this Darwin issue.
20915         * doc/posix-functions/unlink.texi: Update the latest version
20916         where the issue was seen.
20917         * doc/posix-functions/unlinkat.texi: Mention this issue.
20918         Fixes a test failure in test-unlinkat.c.
20920 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20922         qacl: split into qcopy-acl and qset-acl
20923         Emacs needs the former, but not the latter.
20924         * modules/acl-permissions: New file, containing most of the old qacl.
20925         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
20926         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
20927         * modules/qcopy-acl, modules/qset-acl: New files.
20928         * MODULES.html.sh (File system functions):
20929         Mention the new modules, and mention qacl while we're at it.
20931 2015-05-27  Glenn Morris  <rgm@gnu.org>
20933         gitlog-to-changelog: new option --ignore-line
20934         (This patch is imported from the GNU Emacs master.)
20935         This option ignores individual commit lines matching a pattern.
20936         * build-aux/gitlog-to-changelog: Add --ignore-line option.
20938 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
20940         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
20941         Implement get_permissions and set_permissions primitives for getting all
20942         the permissions of a file, storing them, and later setting them. (In the
20943         minimal case, the permissions consist only of a file mode.) Reimplement
20944         qset_acl and qcopy_acl based on these new primitives: this avoids code
20945         duplication and makes error handling more consistent.
20946         The Solaris and Cygwin code still uses duplicate code paths for setting
20947         a file mode while making sure that no acls exist and setting an explicit
20948         acl; this is no worse than before, but could be cleaned up.  The AIX
20949         code still doesn't read ACLs, it only makes sure that acls don't get in
20950         the way when setting a file mode.
20951         * lib/acl-internal.h (struct permission_context): New data structure.
20952         (get_permissions, set_permissions, free_permission_context): Declare.
20953         * lib/acl-internal.c (free_permission_context): New helper function.
20954         * lib/get-permissions.c (get_permissions): New helper function split off
20955         from qcopy_acl.
20956         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
20957         AIX, set a file's permissions based only on a file mode.
20958         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
20959         other platforms construct a temporary acl from the file mode and set
20960         that acl in the same way as setting an acl read from the source file.
20961         This should help avoid code duplication and inconsistent / buggy
20962         behavior.
20963         (set_acls): New helper function Split off from qcopy_acl.
20964         (chmod_or_fchmod): Moved here from qset-acl.c.
20965         (set_permissions): New helper function.
20966         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
20967         set_permissions.
20968         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
20969         * modules/qacl: Add get-permissions.c and set-permissions.c.
20971         file-has-acl: Split feature tests again (Bug#20667)
20972         * lib/file-has-acl.c: Instead of testing for
20973         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
20974         define them when needed.
20975         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
20976         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
20978 2015-05-27  Pádraig Brady  <P@draigBrady.com>
20980         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
20981         This avoids a conflict with "FORTIFY_SOURCE" variants
20982         of the string functions when they're replaced on NetBSD-6.0.1
20983         and Darwin-14.3.0 at least.
20984         * lib/string.in.h: Avoid including our "lib/string.h" while
20985         including the system <string.h>.
20987 2015-05-26  Eric Blake  <eblake@redhat.com>
20989         stdio: limit __gnu_printf__ witness to gcc 4.4+
20990         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
20991         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
20993         error: use correct printf attributes on mingw
20994         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
20996         inttypes: force correct mingw PRIdMAX even without <stdio.h>
20997         * modules/inttypes (Depends-on): Require extensions, so that mingw
20998         always uses GNU style inttypes.
20999         * lib/inttypes.in.h: On mingw, include <stdio.h>.
21001         stdio: fix probe on mingw under gcc 5.1
21002         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
21003         around new gcc preprocessor rules.
21005 2015-05-07  Glenn Morris  <rgm@gnu.org>
21007         gitlog-to-changelog: parse "Tiny-change"
21008         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
21009         "Copyright-paperwork-exempt".  (Bug#20324)
21011 2015-05-06  Pádraig Brady  <P@draigBrady.com>
21013         doc: document glibc posix_fallocate() issues
21014         * doc/posix-functions/posix_fallocate.texi: Mention the
21015         glibc efficiency problems and issues with NFS.
21017 2015-05-05  Karl Berry  <karl@freefriends.org>
21019         * build-aux/gendocs.sh (usage): document new css default
21020         for HTML (--htmlarg).
21022 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
21024         extern-inline: no need for workaround in GCC 5.1
21025         * doc/extern-inline.texi (extern inline):
21026         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
21027         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
21028         around these bugs in GCC 5.1 and later.  Maybe in a decade or
21029         two we can remove these workarounds.
21031 2015-04-28  Pádraig Brady  <P@draigBrady.com>
21033         eealloc, pagealign_alloc, xalloc: avoid clang warnings
21034         Avoid [-Wunknown-attributes] warnings like:
21035         warning: unknown attribute '__alloc_size__' ignored
21036         * lib/xalloc.h: Don't use the __alloc_size__  attribute
21037         with clang, as support has been fully removed as of clang 3.5:
21038         https://github.com/llvm-mirror/clang/commit/c047507a
21039         * lib/eealloc.h: Likewise.
21040         * lib/pagealign_alloc.h: Likewise.
21042 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
21044         tests: pacify GCC 5.1's stricter printf checking
21045         * tests/test-dirname.c (main):
21046         * tests/test-getaddrinfo.c (simple):
21047         * tests/test-getlogin.c (main):
21048         * tests/test-getndelim2.c (main):
21049         * tests/test-inttostr.c (CK):
21050         * tests/test-md5.c (main):
21051         * tests/test-read-file.c (main):
21052         * tests/test-sha1.c (main):
21053         Fix mismatches between printf format and value signedness.
21054         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
21055         Remove, as CAST_VAL always returned a value of type uintmax_t.
21057         fts: port to GCC 5.1 with --enable-gcc-warnings
21058         Without this fix, GCC 5.1 (correctly) warns about a subscript
21059         error on the fts_name component of FTSENT.  It's actually a
21060         flexible member, so define it that way on C99 or later hosts.
21061         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
21062         structure that now has a flexible array member.
21063         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
21064         (FTSENT): fts_name is now flexible on C99-or-later platforms.
21065         * modules/fts (Depends-on): Add flexmember.
21067 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21069         file-has-acl: port to CentOS 6
21070         Problem reported by Tom G. Christensen in:
21071         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
21072         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
21073         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
21074         HAVE_GETXATTR.
21075         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
21076         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
21077         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
21078         file-has-acl.c actually needs.
21080 2015-04-26  Pádraig Brady  <P@draigBrady.com>
21082         file-has-acl: always return false when ACLs aren't supported
21083         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
21084         change the GNU/Linux getxattr path, to transform "not supported"
21085         errors to a false return rather than an error.  This is handled
21086         within file_has_acl() due to the platform specific tests to
21087         determine if ACLs are not supported.
21089 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21091         gettext: propagate po/Makefile.in.in too
21092         * build-aux/po/Makefile.in.in: Copy from latest gettext.
21093         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
21094         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
21095         between Makefile.in.in and the gettext-runtime m4 files.
21097 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21099         file-has-acl: new module, split from acl
21100         And add a new module file-has-acl-tests to match.
21101         I ran into a problem with the recent changes to the acl module,
21102         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
21103         When using the fixed version with Emacs, I discovered that
21104         file-has-acl wasn't separated out well enough for Emacs (e.g., it
21105         had multiple libraries, but needed only one), so I fixed that too.
21106         * NEWS: Document this incompatible change.
21107         * modules/file-has-acl, modules/file-has-acl-tests: New files.
21108         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
21109         Initialize gl_need_lib_has_acl.
21110         (gl_FUNC_ACL): Require it.
21111         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
21112         Move the file-has-acl.c-relevant stuff to ...
21113         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
21114         use_xattrs = 0' typo, and omit some needless work.  Set
21115         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
21116         when gl_FUNC_ACL is called.
21117         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
21118         (Link): Remove $(LIB_HAS_ACL).
21119         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
21120         (check_PROGRAMS): Move stuff relevant to file-has-acl to
21121         modules/file-has-acl-tests.
21122         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
21124         manywarnings: add GCC 5.1 warnings
21125         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
21126         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
21127         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
21128         -Wsuggest-override, -Wuse-without-only.  Change
21129         -Wnormalized=... operands to match 5.1.
21130         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
21131         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
21132         -Wdiscarded-qualifiers, -Wformat-signedness,
21133         -Wincompatible-pointer-types, -Wint-conversion,
21134         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
21135         -Wshift-count-negative, -Wshift-count-overflow,
21136         -Wsizeof-array-argument, -Wsuggest-final-methods,
21137         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
21138         and add -Warray-bounds=2 as a special case.
21140 2015-04-21  Simon Josefsson  <simon@josefsson.org>
21142         doc: update FDL template to match FDL examples.
21143         * doc/alloca-opt.texi:
21144         * doc/alloca.texi:
21145         * doc/c-ctype.texi:
21146         * doc/c-strcase.texi:
21147         * doc/c-strcaseeq.texi:
21148         * doc/c-strcasestr.texi:
21149         * doc/c-strstr.texi:
21150         * doc/c-strtod.texi:
21151         * doc/c-strtold.texi:
21152         * doc/ctime.texi:
21153         * doc/error.texi:
21154         * doc/gcd.texi:
21155         * doc/gnulib-tool.texi:
21156         * doc/inet_ntoa.texi:
21157         * doc/intprops.texi:
21158         * doc/lib-symbol-visibility.texi:
21159         * doc/maintain.texi:
21160         * doc/parse-datetime.texi:
21161         * doc/quote.texi:
21162         * doc/regexprops-generic.texi:
21163         * doc/standards.texi: Remove spurious 'with' in FDL license
21164         template.
21166 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
21168         lstat: fix cross-compilation 'ln -s' problem
21169         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
21170         Have the test program call 'symlink' rather than a separate
21171         script run 'ln -s'; this is more likely to work in
21172         cross-compilation environments.  Reported by Pavel Fedin in:
21173         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
21175 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
21177         gendocs.sh: default to a common CSS style sheet for HTML output
21178         * build-aux/gendocs.sh (htmlarg): Change default value.
21180 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
21182         gnulib-tool: output bold attribute more portably
21183         * gnulib-tool (func_show_module_list): Change hexadecimal
21184         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
21185         encoded numbers as arguments to `printf' is not portable,
21186         and is not claimed by POSIX.  This is the case with FreeBSD.
21188 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
21190         qacl: Simplify HP-UX acl_nontrivial check
21191         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
21192         acl_nontrivial. Check if the acl has at most three entries instead (it must
21193         have exactly three entries according to the HP-UX documentation). Ignore
21194         uids and gids as long as an entry is either for a user (i.e., the owner),
21195         a group (i.e., the owning group), or others.
21196         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
21197         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
21199 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
21201         acl: On Linux, check for acls without libacl
21202         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
21203         library function to check for the presence of acls, avoiding a library.
21204         * lib/file-has-acl.c: Include xattr headers if we have them.
21205         (file_has_acl): On Linux, use getxattr().
21206         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
21207         file_has_acl(). Check for xattr headers and getxattr().
21209 2015-04-14  Ángel González  <keisial@gmail.com>
21211         tempname: avoid unused parameter warnings (trivial)
21212         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
21213         (try_nocreate): Likewise.
21215 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
21217         fseeko: fix build failure on NetBSD >= 6 (trivial)
21218         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
21219         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
21221 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
21223         gitlog-to-changelog: port to MS-Windows
21224         * build-aux/gitlog-to-changelog (git_dir_option):
21225         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
21226         MS-Windows Perl.  Reported by Eli Zaretskii in:
21227         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
21229 2015-04-07  Karl Berry  <karl@gnu.org>
21231         gendocs: new option --tex for passing args to texi2dvi.
21232         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
21233         (TEXI2DVI): cut to just command name.
21234         (usage): mention new option, and update copyright.
21235         <generate_tex>: use it.
21237 2015-04-07  Karl Berry  <karl@gnu.org>
21239         * config/srclistvars.sh (GETTEXT): new definition.
21240         * config/srclist.txt: use it for gettext .m4 files.
21241         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
21242         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
21243         and continuing into April.
21245 2015-04-07  Daiki Ueno  <ueno@gnu.org>
21247         uniname/uniname-tests: fix failure due to alias
21248         Reported by Jack Howarth in:
21249         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
21250         * tests/uniname/test-uninames.c (name_has_alias): New function.
21251         (test_inverse_lookup): Exclude character name with valid alias,
21252         from randomly generated character names.
21253         (main): Fill unicode_aliases before calling test functions.
21255 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
21257         hash: remove deprecated hash_insert0 function
21258         * lib/hash.h (hash_insert0): Remove deprecated function.
21259         * lib/hash.c (hash_insert0): Likewise.
21261 2015-04-02  Pádraig Brady  <P@draigBrady.com>
21263         mountlist: remove dependency on libmount
21264         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
21265         directly, rather than depending on libmount, which has many
21266         dependencies due to its dependence on libselinux, as detailed at:
21267         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
21268         Note we restrict this to __linux__ as that's probably where this
21269         interface will remain.  If ever porting, it would be best
21270         to first pull the makedev() wrapper from coreutils to a gnulib module.
21271         Note also we don't add a getline dependency to the mountlist module,
21272         as all Linux versions are sufficient.
21274 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
21276         stddef: port to pre-C11 GCC on x86
21277         On this platform, max_align_t should have an alignment of 8 even
21278         though the storage alignments of double, long, etc. max out at 4.
21279         Inspired by a comment of Andreas Schwab's here:
21280         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
21281         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
21282         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
21283         * tests/test-stddef.c: Test __alignof__ too, if available.
21285 2015-03-24  Pádraig Brady  <P@draigBrady.com>
21287         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
21288         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
21290 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
21292         yesno: make EOL optional in ENABLE_NLS case also (trival)
21293         * lib/yesno.c (yesno): Check for EOL before replacing.
21294         * tests/test-yesno.sh: Add a test case (test along with gettext).
21296 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
21298         fdopendir-tests: test it does not close its arg
21299         * tests/test-fdopendir.c (main): Test that fdopendir does not
21300         close its argument.  From a suggestion by David Grayson in:
21301         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
21303 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21305         gitlog-to-changelog: trim trailing white space
21306         * build-aux/gitlog-to-changelog (main):
21307         Trim trailing white space from commit message lines.
21308         This is helpful for processing the GNU Emacs repository,
21309         which dates back to 1985 and contains a lot of such lines.
21311         gitlog-to-changelog: new option --ignore-matching
21312         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
21313         Support new option --ignore-matching=PAT, which ignores all
21314         commit messages whose first line matches PAT.
21316 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
21318         fdopendir: port better to MinGW
21319         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
21320         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
21321         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
21322         * modules/fdopendir (Depends-on): Add dirfd.
21324 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
21326         fdopendir: fix typo in comment
21327         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
21329 2015-03-09  Eric Blake  <eblake@redhat.com>
21331         error: document all entry points provided
21332         * doc/glibc-functions/error_print_progname.texi
21333         (error_print_progname): Mention the error module.
21334         * doc/glibc-functions/error_at_line.texi (error_at_line):
21335         Likewise.
21336         * doc/glibc-functions/error_message_count.texi
21337         (error_message_count): Likewise.
21338         * doc/glibc-functions/error_one_per_line.texi
21339         (error_one_per_line): Likewise.
21341 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
21343         vasnprintf: pacify clang 3.5.0
21344         Problem reported by Werner Lemberg in:
21345         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
21346         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
21347         The casts aren't needed, since the characters in question are ASCII.
21349 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
21351         glob, etc.: port to MSVC v18 on MS-Windows 8.1
21352         * lib/dirent--.h (GNULIB_defined_opendir):
21353         * lib/dirent.in.h (GNULIB_defined_opendir)
21354         (GNULIB_defined_closedir):
21355         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
21356         #undef only if Gnulib defined it.
21358         poll: port to MSVC v18 on MS-Windows 8.1
21359         Problem reported by Gisle Vanem in:
21360         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
21361         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
21362         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
21363         Add sys_socket.
21365 2015-02-24  Pádraig Brady  <P@draigBrady.com>
21367         tests: support stderr verification with returns_()
21368         * tests/init.sh (returns_): Disable tracing for this wrapper
21369         function, so that stderr of the wrapped command is unchanged,
21370         allowing for verification of the contents.
21372 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
21374         passfd: avoid valgrind uninitalised data warning
21375         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
21376         to include just the fd we've initialized, rather than including
21377         the extra space used for alignment.
21379 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
21381         uniwbrk/u32-wordbreaks-tests: fix copyright
21382         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
21384         dup2: doc and test for Android bug
21385         Reported by Kevin Cernekee in:
21386         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
21387         * doc/posix-functions/dup2.texi (dup2): Document the bug.
21388         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
21390 2015-02-23  Kevin Cernekee  <cernekee@google.com>
21392         Replace dup2() on Android
21393         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
21394         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
21395         fails.  Using rpl_dup2() fixes this because it has an explicit test
21396         for this condition.
21398 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
21400         Android doesn't define RLIM_SAVED_*
21401         Portability problem reported by Kevin Cernekee in:
21402         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
21403         * doc/posix-headers/sys_resource.texi (sys/resource.h):
21404         Mention the portability problem.
21405         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
21406         Define if not defined.
21407         * m4/dup2.m4 (gl_FUNC_DUP2):
21408         * m4/fcntl.m4 (gl_FUNC_FCNTL):
21409         Likewise.
21411 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
21413         vasnprintf-posix-tests: use consistent test
21414         * tests/test-vasnprintf-posix.c (test_function):
21415         Use "<" in assert instead of "<=", for consistency with other tests.
21417 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21419         printf, isinf, etc.: noncanonical != NaN
21420         Do not require that isinf, printf, etc. treat noncanonical
21421         values as NaNs.  Instead, require only that they do not crash.
21422         Problem reported by Joseph Myers in:
21423         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
21424         * doc/posix-functions/dprintf.texi (dprintf):
21425         * doc/posix-functions/fprintf.texi (fprintf):
21426         * doc/posix-functions/isfinite.texi (isfinite):
21427         * doc/posix-functions/isinf.texi (isinf):
21428         * doc/posix-functions/isnan.texi (isnan):
21429         * doc/posix-functions/printf.texi (printf):
21430         * doc/posix-functions/snprintf.texi (snprintf):
21431         * doc/posix-functions/sprintf.texi (sprintf):
21432         * doc/posix-functions/vdprintf.texi (vdprintf):
21433         * doc/posix-functions/vfprintf.texi (vfprintf):
21434         * doc/posix-functions/vprintf.texi (vprintf):
21435         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21436         * doc/posix-functions/vsprintf.texi (vsprintf):
21437         Document this.
21438         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
21439         * m4/isinf.m4 (gl_ISINFL_WORKS):
21440         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
21441         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
21442         * tests/test-isfinite.c (test_isfinitel):
21443         * tests/test-isinf.c (test_isinfl):
21444         * tests/test-isnan.c (test_long_double):
21445         * tests/test-isnanl.h (main):
21446         * tests/test-snprintf-posix.h (test_function):
21447         * tests/test-sprintf-posix.h (test_function):
21448         * tests/test-vasnprintf-posix.c (test_function):
21449         * tests/test-vasprintf-posix.c (test_function):
21450         Test only that noncanonical values do not cause crashes, not that
21451         they are treated as NaNs.  In some cases this means a larger
21452         output buffer is needed.
21454 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
21456         fts: remove redundant close() (trivial)
21457         * lib/fts.c (fts_read): Remove redundant call to close().
21458         Spotted by coverity.
21460 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21462         getdtablesize: port better for Android
21463         Problem reported by Kevin Cernekee in:
21464         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
21465         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
21466         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
21467         Instead, just use getrlimit, taking care to avoid Cygwin bug.
21469         poll: fixes for large fds
21470         * lib/poll.c (poll): Don't check directly for NFD too large.
21471         Don't rely on undefined behavior in FD_SET when an arg exceeds
21472         FD_SETSIZE.  Always set revents afterwards, even if to zero.
21473         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
21474         as that makes the test a bit stricter.
21476 2015-02-19  Kevin Cernekee  <cernekee@google.com>
21478         fcntl: Fix cross compiling
21479         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
21480         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
21482 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
21484         dup2, fcntl: cross-compile better for Android
21485         Problem reported by Kevin Cernekee in:
21486         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
21487         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
21488         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
21489         there's little need to cross-compile for older kernels nowadays.
21490         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
21491         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
21493 2015-02-18  Pádraig Brady  <P@draigBrady.com>
21495         getopt: don't crash on memory exhaustion
21496         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
21497         memory exhaustion.  In the _LIBC case we use alloca() as is
21498         already done in glibc, so we don't need to consider the separate
21499         error path in that awkward case.  Also fix a memory leak when
21500         ambiguous options are present.
21501         Reported by Tobias Stoeckmann
21503 2015-02-17  Mike Miller  <mtmiller@ieee.org>
21505         tempname: allow compilation with C++ (trivial)
21506         * lib/tempname.h [C++]: Specify extern "C" linkage.
21507         * lib/tempname.h (try_tempname):
21508         * lib/tempname.c (__try_tempname, __gen_tempname):
21509         Rename 'try' to 'tryfunc'.
21511 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21513         dup2, fcntl: port to AIX
21514         * m4/dup2.m4 (gl_FUNC_DUP2):
21515         * m4/fcntl.m4 (gl_FUNC_FCNTL):
21516         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
21517         The former works on AIX 7.1 but the latter does not.
21518         Also, this may work better with Android; see:
21519         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
21521 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21523         getdtablesize, dup2, fcntl: port to Android
21524         Problem reported by Kevin Cernekee in:
21525         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
21526         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
21527         Mention that getdtablesize doesn't work on Android.
21528         * lib/getdtablesize.c: Use getrlimit substitute only if
21529         getdtablesize is declared.  This should suffice for Cygwin
21530         while not breaking Android.
21531         * m4/dup2.m4 (gl_FUNC_DUP2):
21532         * m4/fcntl.m4 (gl_FUNC_FCNTL):
21533         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
21534         standardized but the latter is not, and sysconf works on Android.
21535         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
21536         Also check that getdtablesize is declared.
21537         This removes the need for a special case for Android.
21539 2015-02-16  Kevin Cernekee  <cernekee@google.com>
21541         localename: Implement gl_locale_name_thread_unsafe for Android
21542         * lib/localename.c: Android API level >= 21 supports two hardcoded
21543         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
21544         the internal __locale_t struct.
21546 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
21548         fts: avoid crash when a cycle is added while traversing
21549         This could be triggered by auto-mounting a recursive bind mount.
21550         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
21551         * lib/fts.c (fts_read): Avoid removing the original hash table item
21552         when leaving a directory that caused a cycle, and preserve the FTS_DC
21553         flag.
21555 2015-02-16  Daiki Ueno  <ueno@gnu.org>
21557         uniname/uniname: support character alias
21558         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
21559         Generate one-way mapping from aliases to codepoints in the
21560         generated tables.  Special case variation selectors to reduce
21561         table size.
21562         * lib/uniname/uniname.c (unicode_character_name): Special case
21563         variation selectors.
21564         (unicode_name_character): Special case variation selectors and
21565         their aliases.
21566         * lib/uniname/uninames.h: Regenerate.
21567         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
21568         * modules/uniname/uniname-tests (Files): Add
21569         tests/uniname/NameAliases.txt.
21570         * tests/uniname/test-uninames.c: Mark as static.
21571         (ALIASLEN): Define.
21572         (struct unicode_alias): New struct.
21573         (unicode_aliases): New variable.
21574         (fill_aliases): New function.
21575         (test_alias_lookup): New test function.
21576         (main): Run the 'test_alias_lookup' test if the second argument is
21577         given.
21578         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
21579         second argument.
21581 2015-02-11  Kevin Cernekee  <cernekee@google.com>
21583         Fix FILE struct compatibility with Android API level >= 21
21584         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
21585         __sferror.  Recent versions of Bionic's stdio.h no longer define
21586         __sferror.
21587         * lib/fbufmode.c: Likewise.
21588         * lib/fflush.c: Likewise.
21589         * lib/fpurge.c: Likewise.
21590         * lib/freadable.c: Likewise.
21591         * lib/freadahead.c: Likewise.
21592         * lib/freading.c: Likewise.
21593         * lib/freadptr.c: Likewise.
21594         * lib/freadseek.c: Likewise.
21595         * lib/fseeko.c: Likewise.
21596         * lib/fseterr.c: Likewise.
21597         * lib/fwritable.c: Likewise.
21599         Assume unbroken ungetc() on Android
21600         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
21601         test case passed when running on an Android host, and the code
21602         hasn't really changed since 2009.
21604         getdtablesize: Fix Android build
21605         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
21606         versions have this symbol in the .so library (at least 32-bit
21607         platforms) but are missing the declaration in the header file,
21608         causing the m4 logic to guess incorrectly.
21610         localename: Fix Android build
21611         * modules/localename (Depends-on): Add langinfo.
21613         getugroups: Fix Android build
21614         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
21615         functions.
21617         euidaccess: Fix Android build
21618         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
21619         AT_EACCESS gets declared.
21621         linkat_nofollow: Add fallback case for cross compiling
21622         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
21624         net_if: Handle content-free <net/if.h> system headers
21625         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
21626         struct if_nameindex.  If not, enable the replacement header.
21628         signal_h: Fix Android build
21629         * lib/signal.in.h: Add Android to the list of platforms that declare
21630         pthread_sigmask() in <pthread.h> instead of <signal.h>.
21632         duplocale: Fix Android build of duplocale-tests
21633         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
21634         is included by test-duplocale.c (but not by duplocale.c).
21635         * modules/duplocale-tests (configure.ac): Check for monetary.h.
21636         * tests/test-duplocale.c: Skip test if monetary.h is absent.
21637         * doc/posix-headers/monetary.texi: Add Android to the list of
21638         platforms missing monetary.h.
21640 2015-02-11  Pádraig Brady  <P@draigBrady.com>
21642         tests: avoid recent -Werror=unused-variable regression in test-locale
21643         * tests/test-locale.c (main): Reference the variable to avoid the
21644         "unused variable" warning.
21646 2015-02-11  Pádraig Brady  <P@draigBrady.com>
21648         maint: various whitespace cleanups in tempname
21649         * lib/tempname.c: Normalize spacing and line length.
21650         * lib/tempname.h: Likewise.
21651         * modules/tempname: Likewise.
21653 2015-02-11  Pádraig Brady  <P@draigBrady.com>
21655         tests: provide returns_() to simplify exit status checking
21656         * tests/init.sh (returns_): A new function for use in tests,
21657         to allow for easier checking of return values, where you expect
21658         a command to exit with failure status.  By checking for a particular
21659         exit code, you don't hide any crashes for example.
21661 2015-02-11  Pádraig Brady  <P@draigBrady.com>
21663         mountlist: only use libmount when specified
21664         There are currently many shared libs dependencies introduced by
21665         libmount with associated runtime and virt mem overhead.
21666         Therefore don't enable by default.
21667         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
21669 2015-02-08  Daiki Ueno  <ueno@gnu.org>
21671         uniname/unimame-tests: don't link with -lunistring
21672         * modules/uniname/uniname-tests (Makefile.am): Don't link against
21673         $(LIBUNISTRING).  Document the rationale why we need to
21674         conditionalize the test.
21676 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
21678         fstrcmp: don't assume strlen < INT_MAX
21679         * lib/fstrcmp.c: Include stddef.h and stdint.h.
21680         (uintptr_t): Remove, as we're now assuming stdint.
21681         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
21682         Prefer ptrdiff_t to int when the value could exceed INT_MAX
21683         if the input string is long.
21684         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
21685         uintptr_t to size_t when the underlying value is a pointer casted
21686         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
21687         * modules/fstrcmp (Depends-on): Add stdint.
21689         diffseq: prefer ptrdiff_t to ssize_t
21690         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
21691         ptrdiff_t is the natural type for signed indexes.
21692         On a few older platforms, ssize_t is narrower than size_t.
21694         xalloc: fix typo that suppressed warnings
21695         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
21696         This typo, introduced a couple of years ago, mistakenly suppressed
21697         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
21698         -Wmissing-declarations warnings.
21700         full-read: fix license notice typo
21701         * lib/full-read.h: Remove a stray line in the license notice.
21702         Reported by Sam Ellis in: http://bugs.gnu.org/19808
21704         crypto/gc: fix a -Wswitch warning
21705         Reported by Bruce Korb in:
21706         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
21707         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
21709 2015-02-03  Pádraig Brady  <P@draigBrady.com>
21711         gnulib-tool: fix handling of patch(1) diagnostics
21712         * gnulib-tool: Send diagnostics from patch(1) to stderr,
21713         as otherwise gnulib-tool will reparse that output and attempt
21714         to lookup modules.
21716 2015-02-03  Pádraig Brady  <P@draigBrady.com>
21718         bootstrap: exit immediately upon gnulib-tool failure
21719         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
21720         This was noticed when gnulib-tool exited early due to failure
21721         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
21722         but various confusing errors were then given as the build proceeded.
21724 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
21726         symlinkat: include all required header files
21727         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
21728         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
21729         Reported at https://savannah.gnu.org/bugs/index.php?44151
21730         and by Jack Howarth.
21732 2015-01-29  Pádraig Brady  <P@draigBrady.com>
21734         localename: support Solaris 12 and illumos
21735         * lib/localename.c (gl_locale_name_thread_unsafe): call
21736         getlocalename_l() on newer __sun platforms.
21737         Reported by Alexander Pyhalov.
21738         Fix suggested by Rich Burridge.
21740 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
21742         locale: fix tests on illumos (trivial)
21743         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
21744         so move from global scope to main().
21746 2015-01-24  Daiki Ueno  <ueno@gnu.org>
21748         unictype: avoid undefined left-shift behavior
21749         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
21750         gcc's -fsanitize=shift and running its tests triggered:
21751           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
21752             places cannot be represented in type 'int'
21753         Cast LHS to 'unsigned int' after integer promotion.
21754         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
21755         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
21757 2015-01-20  Daiki Ueno  <ueno@gnu.org>
21759         libunistring: bump version of unitypes dependants
21760         Due to the header file search order, all the headers which depend
21761         on unitypes.h need to be generated, when the preinstalled
21762         libunistring is older.
21763         * modules/unicase/base (configure.ac): Bump minimum version to
21764         0.9.4.
21765         * modules/uniconv/base (configure.ac): Likewise.
21766         * modules/unilbrk/base (configure.ac): Likewise.
21767         * modules/uninorm/base (configure.ac): Likewise.
21768         * modules/unistdio/base (configure.ac): Likewise.
21769         * modules/unistr/base (configure.ac): Likewise.
21770         * modules/uniwbrk/base (configure.ac): Likewise.
21771         * modules/uniwidth/base (configure.ac): Likewise.
21773 2015-01-20  Daiki Ueno  <ueno@gnu.org>
21775         unictype/category-none: fix link with libunistring
21776         Since _UC_CATEGORY_NONE is not a public symbol, it will be
21777         prefixed with "libstring_" when compiled as part of libunistring.
21778         To avoid undefined symbol at link time, increase the minimum
21779         version when the dependant modules are updated.
21780         * modules/unictype/category-none (configure.ac): Bump minimum
21781         version to 0.9.5.
21783 2015-01-20  Daiki Ueno  <ueno@gnu.org>
21785         unitypes: fix build with installed libunistring
21786         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
21787         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
21788         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
21790 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
21792         time: port to MinGW32 3.21
21793         Problem reported by Eli Zaretskii in:
21794         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
21795         * lib/time.in.h:
21796         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
21797         * modules/time (Depends-on):
21798         Fall back on unistd.h if the other include files don't define
21799         struct timespec.
21801         update-copyright: apply to self
21802         * build-aux/update-copyright: Fix copyright date.  How ironic!
21804 2015-01-15  Daiki Ueno  <ueno@gnu.org>
21806         libunistring: update to Unicode 7.0.0
21807         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
21808         Manichaean names.
21809         * lib/unictype/joininggroup_name.h: Likewise.
21810         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
21811         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
21812         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
21813         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
21814         (fill_arabicshaping, joining_group_as_c_identifier): Support those
21815         enum values.
21816         (is_property_alphabetic): Accept newly added characters to
21817         cuneiform numeric signs.
21818         (is_property_default_ignorable_code_point): Reject U+0605.
21819         (FIELDLEN): Increase from 120 to 160.
21820         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
21821         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
21822         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
21823         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
21824         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
21825         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
21826         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
21827         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
21828         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
21829         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
21830         U+1E8D0..U+1E8D6.
21831         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
21832         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21833         lib/uniwidth/width.c.
21834         * all generated files under lib/uni* and tests/uni*: Regenerate.
21836 2015-01-14  Daiki Ueno  <ueno@gnu.org>
21838         libunistring: update to Unicode 6.3.0
21839         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
21840         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
21841         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
21842         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
21843         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
21844         Update WB5, WB9, WB10, WB13a, and WB13b.
21845         * tests/uniwbrk/test-uc-wordbreaks.c
21846         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
21847         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
21848         (UC_BIDI_PDI): New enumeration values.
21849         (bidi_category_byname): Support those enum values.
21850         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
21851         dedicated property assigned.
21852         (is_property_case_ignorable): Check 0x0027.
21853         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
21854         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
21855         (output_wbp): Support those enum values.
21856         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
21857         (UC_BIDI_PDI): New enumeration values.
21858         * lib/unictype/bidi_byname.gperf: Add those property names.
21859         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
21860         U+180E, U+1A1B, and U+2066..U+2069.
21861         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21862         lib/uniwidth/width.c.
21863         * all generated files under lib/uni* and tests/uni*: Regenerate.
21865 2015-01-14  Daiki Ueno  <ueno@gnu.org>
21867         libunistring: update to Unicode 6.2.0
21868         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
21869         (unilbrk_table): Adjust table size.
21870         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
21871         for LBP_RI.
21872         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
21873         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
21874         Normalize table index skipping ignored properties.
21875         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
21876         WBP_EXTEND and WBP_FORMAT, which are now computed without using
21877         the table.
21878         * lib/uniwbrk/wbrktable.h: Adjust table size.
21879         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
21880         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
21881         Support rule GB8a.
21882         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
21883         * tests/unigbrk/test-uc-is-grapheme-break.c
21884         (graphemebreakproperty_to_string): Support GBP_RI.
21885         * tests/uniwbrk/test-uc-wordbreaks.c
21886         (wordbreakproperty_to_string): Support WBP_RI.
21887         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
21888         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
21889         (output_lbp): Support LBP_RI.  Adjust some characters changed from
21890         LBP_AL to LBP_ID.
21891         (output_lbp): Support LBP_RI.
21892         (WBP_RI): New enumeration value.
21893         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
21894         (output_wbp): Support WBP_RI.
21895         (GBP_RI): New enumeration value.
21896         (output_gbp_test, fill_org_gbp): Support GBP_RI.
21897         * all generated files under lib/uni* and tests/uni*: Regenerate.
21899 2015-01-14  Daiki Ueno  <ueno@gnu.org>
21901         libunistring: update to Unicode 6.1.0
21902         * lib/gen-uni-tables.c (output_joining_group): Switch to
21903         3-level table to accommodate joining groups defined with higher
21904         codepoint value.  Since there are only 88 groups defined in
21905         Unicode 7.0.0, use 7-bit packed format for level3 entries.
21906         (get_lbp): Update for Unicode 6.1.0.
21907         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
21908         3-level table.
21909         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
21910         joining group name.
21911         * lib/unictype/joininggroup_name.h: Likewise.
21912         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
21913         (unilbrk_table): Adjust table size.
21914         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
21915         for LBP_HL.
21916         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
21917         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
21918         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
21919         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
21920         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
21921         U+302E..U+302F.
21922         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21923         lib/uniwidth/width.c.
21924         * all generated files under lib/uni* and tests/uni*: Regenerate.
21925         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
21927 2015-01-15  Daiki Ueno  <ueno@gnu.org>
21929         uniwbrk/u32-wordbreaks-tests: add conformance test
21930         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
21931         tests/uniwbrk/test-uc-wordbreaks.c,
21932         tests/uniwbrk/test-uc-wordbreaks.sh, and
21933         tests/uniwbrk/WordBreakTest.txt.
21934         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
21935         test-uc-wordbreaks to $(check_PROGRAMS), and define
21936         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
21937         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
21938         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
21940 2015-01-15  Daiki Ueno  <ueno@gnu.org>
21942         uniwbrk: ignore Extended/Format characters at BOL not BOS
21943         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
21944         characters if the previous character property is one of
21945         WBP_NEWLINE, WBP_CR, and WBP_LF.
21947 2015-01-11  Jim Meyering  <meyering@fb.com>
21949         test-strstr.c: avoid a trivial leak
21950         * tests/test-strstr.c (main): Free haystack.
21952         update-copyright: recognize groff's \(co marker
21953         * build-aux/update-copyright (circle_c_re): Also accept
21954         uses of \(co, as found in gzip.1.
21956 2015-01-08  Pádraig Brady  <P@draigBrady.com>
21958         maint.mk: fix compatibility with OS X nm
21959         * top/maint.mk (_gl_tight_scope): Use the -g option to
21960         show exported items rather than the -e option which is
21961         ignored on all platforms except OS X where it gives an error.
21962         Reported by Assaf Gordon.
21964 2015-01-07  KO Myung-Hun  <komh@chollian.net>
21966         localcharset: improve charset detection on OS/2
21967         Use system codepage when appropriate.  Map OS/2 codepages to
21968         GNU canonical charset names if possible.
21969         * lib/config.charset: Don't output aliases if "$os" is os2*.
21970         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
21971         result for OS/2.
21972         (locale_charset) [OS2]: Use system codepage if codeset is omitted
21973         from the locale name which is neither "C" nor "POSIX".
21975 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
21977         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
21978         This reverts the last patch but one, as it shouldn't be needed now
21979         that the typo is fixed.
21980         * lib/count-leading-zeros.h (count_leading_zeros_ll):
21981         * lib/count-trailing-zeros.h:
21982         * lib/count-one-bits.h:
21983         Go back to using 64-bit intrinsics.
21985         count-leading-zeros: fix pragma typos
21986         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
21987         Fix typos in declaration of intrinsics when _MSC_VER.
21989 2015-01-06  Pádraig Brady  <P@draigBrady.com>
21991         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
21992         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
21993         intrinsics in this case.
21994         * lib/count-trailing-zeros.h: Likewise.
21995         * lib/count-one-bits.h: Likewise.
21997 2015-01-06  Daiki Ueno  <ueno@gnu.org>
21999         uniname/uniname: update to Unicode 7.0.0
22000         To accommodate new characters added since Unicode 5.1.0, this
22001         changes the internal representation of codepoint ranges.
22002         Previously, we grouped codepoint ranges by manually assigned 4-bit
22003         tag, which only allowed 16 groups.  This removes the limitation by
22004         switching to binary search on a table.  For the detail rationale
22005         and the benchmark results, see:
22006         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
22007         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
22008         to INDEX, as it no longer represents a codepoint.
22009         (range): New struct.
22010         (main): Switch to intervals list from a bit-pattern based
22011         classification.
22012         * lib/uniname/uninames.h: Regenerate.
22013         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
22014         * modules/uniname/base (configure.ac): Bump minimum version to
22015         0.9.5.
22016         * modules/uniname/uniname (configure.ac): Bump minimum version to
22017         0.9.5.
22019 2015-01-05  Eric Blake  <eblake@redhat.com>
22021         doc: update INSTALL from autoconf
22022         * doc/install.texi: Resync from autoconf.
22023         * doc/INSTALL: Reflect recent autoconf update.
22024         * doc/INSTALL.ISO: Likewise.
22025         * doc/INSTALL.UTF-8: Likewise.
22027         stdio: fix use of PRIdMAX on modern mingw
22028         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
22029         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
22030         to work with modern mingw.
22032 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
22034         pthread: detect git mingw builds with only partial pollution
22035         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
22036         pollution, as seen temporarily in Fedora 21.
22038 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
22040         lib-symbol-versions: cache script check
22041         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
22042         Cache the check for linker version scripts.
22043         From a suggestion by Christophe Curis in:
22044         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
22046 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
22048         maint: fix grammar nits in propername (trivial change)
22049         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
22050         and use an adequate verb and tense.
22052 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
22054         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
22055         * module/gendocs: Add 'doc/gendocs_template_min'.
22057         * build-aux/gendocs.sh: Change email addresses and upstream URLs
22058         from to Gnulib's.
22059         (scripturl, templateurl): Adjust accordingly.
22061 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
22063         gendocs: copyright date and version fix
22064         Reported by Karl Berry in:
22065         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
22066         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
22067         Fix copyright date.
22068         * build-aux/gendocs.sh (scriptversion): Update.
22070 2015-01-01  Karl Berry  <karl@gnu.org>
22072         * doc/install.texi,
22073         * build-aux/mdate-sh,
22074         * build-aux/depcomp,
22075         * build-aux/config.guess,
22076         * build-aux/config.sub,
22077         * build-aux/ar-lib,
22078         * build-aux/compile: revert copyright updates (some from last
22079         year) in slaved files.
22081 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
22083         version-etc: new year
22084         * doc/gnulib.texi:
22085         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
22086         * all files: Run 'make update-copyright'.
22088 2014-12-30  Pádraig Brady  <P@draigBrady.com>
22090         xstrtol: ensure errno is reset
22091         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
22092         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
22094         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
22096 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
22098         utimens: fix dependency typo
22099         * modules/utimens (Depends-on): Remove 'assure'.
22100         This bug was introduced in the recent 'assure' patch.
22102 2014-12-22  Eric Blake  <eblake@redhat.com>
22104         docs: mention why libgen.h is bad
22105         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
22107 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
22109         assure: new module
22110         This works better than 'assert' when compiling with -DNDEBUG,
22111         as it avoids some compiler diagnostics in that case.
22112         Reported by Norihiro Tanaka in:
22113         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
22114         * MODULES.html.sh (func_all_modules): Add 'assure'.
22115         * lib/assure.h, modules/assure: New files.
22116         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
22117         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
22118         Prefer 'assure' to 'assert'.
22119         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
22120         * modules/chdir-long, modules/cycle-check, modules/fchdir:
22121         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
22122         Depend on 'assure'.
22124 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
22126         stdalign: port better to HP compilers
22127         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
22128         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
22130         stdalign: work around Apple GCC 4.0 bug
22131         Reported by David Fang in:
22132         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
22133         * lib/stdalign.in.h (_Alignas):
22134         * m4/stdalign.m4 (gl_STDALIGN_H):
22135         Do not use aligned attribute with GCC 4.0 on Apple.
22137 2014-12-16  Pádraig Brady  <P@draigBrady.com>
22139         getcwd: fix test failure on OS X 10.9
22140         * m4/getcwd-path-max.m4: Avoid the replacement if it
22141         won't be effective due to the PATH_MAX limitation of lstat().
22142         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
22143         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
22144         for this case for use in tests, and also exclude this
22145         case when setting REPLACE_GETCWD.
22146         * tests/test-getcwd.c (test_long_name): Restrict the
22147         tested path length so that lstat() will not be passed
22148         a path greater than PATH_MAX.
22149         Also key a test condition on HAVE_OPENAT_SUPPORT rather
22150         than AT_FDCWD, since the latter is set unconditionally
22151         since Sep 2009 in commit 52c658e9.
22153 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
22155         parse-datetime: avoid a compiler warning with byacc (trivial)
22156         * lib/parse-datetime.y (yylex): Use the same prototype in the
22157         function definition as the declaration, to avoid a -Wstrict-prototypes
22158         warning seen when using byacc.
22160 2014-12-12  Daiki Ueno  <ueno@gnu.org>
22162         unicase/locale-language-tests: fix LOCALE_FR test
22163         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
22164         a French locale with traditional encoding.
22165         Reported by umerqayam in:
22166         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
22168 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
22170         stddef: support C11's max_align_t
22171         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
22172         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
22173         Do not undef, as that might cause max_align_t to be defined twice.
22174         Instead, change use to check for _GL_STDDEF_WINT_T too.
22175         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
22176         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
22177         Check for max_align_t.
22178         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
22179         * modules/stddef-tests (Depends-on): Add stdalign.
22180         * tests/test-stddef.c: Test max_align_t.
22182 2014-12-11  Daiki Ueno  <ueno@gnu.org>
22184         unistd: fix iOS check conditional
22185         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
22186         as 0 or 1 in <TargetConditionals.h>, and the previous check always
22187         yielded true on non-iOS environment.
22188         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
22189         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
22190         they are defined.
22192 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
22194         posixtm: avoid compiler warning in a better way
22195         * lib/posixtm.c (IF_LINT): Remove.
22196         (year, posix_time_parse):
22197         Return true (not 0) if successful.  All callers changed.
22198         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
22200 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
22202         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
22203         started with '/' on EMX.
22205 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
22207         freopen: workaround freopen() on OS/2 kLIBC
22208         * lib/freopen.c (rpl_freopen): Workaround.
22209         * m4/freopen.m4: Add os2* case.
22211         get_shared_library_fullname: port to EMX
22212         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
22213         on EMX, respectively.
22214         (_DLL_InitTerm): New on EMX.
22215         (get_shared_library_fullname): Implement on EMX.
22217         find_executable: port to EMX
22218         * lib/progreloc.c (find_executable): Implement on EMX.
22220         sched: check struct sched_param in spawn.h as well
22221         * lib/sched.in.h: Include spawn.h on kLIBC.
22222         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
22224 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
22226         bootstrap: Allow perl modules in $buildreq
22227         * build-aux/bootstrap: Add case for perl modules.
22229 2014-12-08  Pádraig Brady  <P@draigBrady.com>
22231         apply _GL_ATTRIBUTE_PURE to some inline functions
22232         clang 3.4.2 flagged these inline functions as pure
22233         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
22234         * lib/sig-handler.h (get_handler): Likewise.
22235         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
22236         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
22238 2014-12-06  Pádraig Brady  <P@draigBrady.com>
22240         vasnprintf: fix potential use after free
22241         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
22242         flagged by clang-analyzer 3.4.2.
22244 2014-12-05  Pádraig Brady  <P@draigBrady.com>
22246         filevercmp, posixtm: avoid compiler warnings with -O3
22247         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
22248         * lib/posixtm.c: (IF_LINT): Define.
22249         (posix_time_parse): Use it to void a "may be used uninitialized"
22250         warning, seen only with -O3.
22252 2014-12-05  Bruno Haible  <bruno@clisp.org>
22254         Fix LDBL80_WORDS macro on big endian platforms.
22255         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
22256         LDBL80_WORDS macro.
22257         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
22258         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22259         * tests/test-isfinite.c (test_isfinitel): Likewise.
22260         * tests/test-isinf.c (test_isinfl): Likewise.
22261         * tests/test-isnan.c (test_long_double): Likewise.
22262         * tests/test-isnanl.h (main): Likewise.
22263         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
22264         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
22265         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
22266         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
22267         Reported by Pádraig Brady.
22269 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
22271         git-version-gen: do not print new line characters
22272         * build-aux/git-version-gen: Use printf instead of echo and tr.
22274         gnulib-tool: recognize x:* as an absolute path
22275         * gnulib-tool (func_gnulib_dir): Add ?:* case.
22276         (func_relconcat): Likewise.
22278 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
22280         argp: avoid extraneous translation and mem leak with empty pre doc
22281         * lib/argp-help.c (argp_doc): Never translate the empty string,
22282         when "\v" is the first or last character of the string, as that
22283         has a reserved meaning to return the header info from a po file.
22284         This also fixes a small memory leak in the !post case.
22285         The issue can be seen with this command for example:
22286         LC_MESSAGES=en_US grub2-mknetdir --help
22288 2014-11-27  Daiki Ueno  <ueno@gnu.org>
22290         uniname/uniname-tests: skip if system's libunistring is used
22291         * modules/uniname/uniname-tests (Makefile.am): Skip test if
22292         uniname/uniname module is not compiled.
22294 2014-11-27  Pádraig Brady  <P@draigBrady.com>
22296         printf: fix configure check on big endian systems
22297         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
22299 2014-11-22  Daiki Ueno  <ueno@gnu.org>
22301         pipe-filter-gi, pipe-filter-ii: port to AIX
22302         On AIX 7.1, 'select' is defined as static and cannot be referred
22303         to from inline function.
22304         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
22305         the definition...
22306         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
22307         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
22309 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
22311         gitlog-to-changelog: add --until
22312         * build-aux/gitlog-to-changelog: Support new --until option.
22313         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
22315 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
22317         extern-inline: update commentary about GCC bugs
22318         * m4/extern-inline.m4: Add another GCC bug number to comments.
22320 2014-11-13  Daiki Ueno  <ueno@gnu.org>
22322         gen-uni-tables: untabify
22323         * lib/gen-uni-tables.c: Untabify.
22325 2014-11-13  Daiki Ueno  <ueno@gnu.org>
22327         gen-uni-tables: check out-of-range values added to 3-level tables
22328         * lib/gen-uni-tables.c (output_category, output_bidi_category)
22329         (output_joining_type, output_ident_category): Check out-of-range
22330         values added to 3-level tables.
22332 2014-11-13  Daiki Ueno  <ueno@gnu.org>
22334         gen-uni-tables: utilize 'assert'
22335         * lib/gen-uni-tables.c: Include <assert.h>.
22336         (output_category, output_combclass, output_decimal_digit_test)
22337         (output_decimal_digit, output_digit_test, output_digit)
22338         (output_numeric, get_mirror_value, fill_properties)
22339         (fill_property30, is_property_alphabetic)
22340         (is_property_default_ignorable_code_point)
22341         (is_property_uppercase, is_property_lowercase)
22342         (is_property_cased, is_property_case_ignorable)
22343         (is_property_changes_when_lowercased, is_property_iso_control)
22344         (is_property_math, fill_arabicshaping, output_joining_group)
22345         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
22346         (output_wbp, fill_org_gbp, get_decomposition)
22347         (output_decomposition, fill_composition_exclusions)
22348         (debug_output_composition_tables, output_composition_tables)
22349         (redistribute_casefolding_rules, output_casing_rules): Use
22350         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
22351         reporting.
22353 2014-11-13  Daiki Ueno  <ueno@gnu.org>
22355         gen-uni-tables: cosmetic improvements
22356         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
22357         variables specification.
22358         (is_outdigit): Remove unused function.
22360 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
22362         fcntl-h-tests: port to PA-RISC GNU/Linux
22363         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
22365 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
22367         fts: port to C89
22368         Problem reported for MSVC 16 by Gisle Vanem in:
22369         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
22370         * lib/fts.c (fts_build): Avoid declaration before statement.
22372 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
22374         unistd: port to iOS
22375         Problem reported by André Klitzing in:
22376         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
22377         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
22379 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
22381         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
22382         Problem reported by Alan Modra in:
22383         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
22384         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
22385         Always cast the function arg, reverting this part of the previous
22386         change.
22388 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
22390         obstack: avoid potentially-nonportable function casts
22391         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
22392         Remove, replacing with ...
22393         (call_chunkfun, call_freefun): New static functions.
22394         All uses changed.  Avoid potentially-nonportable casts.
22395         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
22396         (_obstack_begin_worker): Omit last two args, since they
22397         rely on potentially-nonportable casts.  All callers changed.
22398         * lib/obstack.h (_OBSTACK_CAST): New macro.
22399         Use it everywhere the old API used a potentially-nonportable cast.
22400         The new API doesn't cast.
22401         (struct obstack): Use unions rather than requiring
22402         potentially-nonportable casts.
22403         (obstack_chunkfun, obstack_freefun): Return void.
22405 2014-11-03  Alan Modra  <amodra@gmail.com>
22407         obstack: fix macro return values
22408         * lib/obstack.h (obstack_next_free): Return void *.
22409         (obstack_1grow_fast, obstack_blank_fast): Return void.
22410         For __GNUC__ macros:
22411         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
22412         For !__GNUC__ macros:
22413         (obstack_make_room, obstack_grow, obstack_grow0)
22414         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
22416 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
22418         obstack: do not assume system-supplied obstack is size_t safe
22419         * m4/obstack.m4: New file.
22420         * modules/obstack (Files): Add it.
22422         obstack: port to platforms that #define __alignof__
22423         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
22424         not if !_LIBC.  We don't know of any platforms that #define
22425         __alignof__, but it might be useful in tests.  Conversely,
22426         glibc assumes GCC.
22428 2014-11-03  Pádraig Brady  <P@draigBrady.com>
22430         linkat: don't unconditionally replace on GNU/Linux
22431         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
22432         was redundant for a few reasons.  It was present to support compiling
22433         on new systems but running on the old narrow window of Linux 2.6.1[67].
22434         It setup and cleaned up test files which weren't actually used.
22435         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
22436         implicit in the following check.
22438 2014-11-03  Pádraig Brady  <P@draigBrady.com>
22440         linkat: wrap to handle symlinks on OS X 10.10
22441         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
22442         but not usable because it doesn't support creating hardlinks
22443         to symlinks.  Therefore add a generic test for this capability
22444         and fallback to our emulation if linkat() fails with ENOTSUP.
22446 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
22448         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
22449         * doc/posix-functions/open.texi (open):
22450         * doc/posix-functions/openat.texi (openat):
22451         Document that these functions do not set errno to ELOOP when
22452         a symlink is opened with O_NOFOLLOW.
22454 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
22456         obstack: add NEWS entry for recent incompatible changes
22457         * NEWS: Describe recent changes.
22459 2014-10-30  Pádraig Brady  <P@draigBrady.com>
22461         mountlist: don't use libmount to decide on dummy/remote
22462         * lib/mountlist.c (read_file_system_list): Don't use the libmount
22463         routines to determine whether a file system is dummy or remote,
22464         as they're not currently compatible.  For example the remoteness
22465         is determined on file system type (for which the list seems incomplete),
22466         rather than simply checking for a ':' in the device name.
22467         Also libmount currently determines that 'tmpfs' is a dummy file system
22468         even though it has associated storage.
22470 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
22472         obstack: prefer __alignof__ to alignof
22473         This is for portability to pre-4.7 GCC when compiling glibc.
22474         See Joseph S. Myers in:
22475         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
22476         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
22477         New macro, defined by including and using <alignof.h>.
22478         (MAX): New macro.
22479         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
22480         Do not use enums as they are not portable to some broken compilers.
22481         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
22483         obstack: prefer alignof to calculating alignments by hand
22484         * lib/obstack.c: Include <stdalign.h>.
22485         (struct fooalign): Remove.
22486         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
22487         * modules/obstack (Depends-on): Add stdalign.
22489 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
22491         obstack: use size_t alignments and check for overflow
22492         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
22493         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
22494         * lib/obstack.h (struct obstack.alignment_mask):
22495         Use _OBSTACK_SIZE_T, not int, for alignments.
22496         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
22497         overflows, e.g., when adding the alignment.
22499 2014-10-29  Alan Modra  <amodra@gmail.com>
22501         obstack: 64-bit obstack support, part 3
22502         This finally enables full 64-bit obstack support.  The glibc
22503         shared library specific code is removed from obstack.c too, and
22504         the error handling code conditionally compiled under control of
22505         another macro, _OBSTACK_NO_ERROR_HANDLER.
22506         * lib/obstack.h: Include string.h earlier.
22507         (_OBSTACK_INTERFACE_VERSION): Define.
22508         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
22509         * lib/obstack.c: Don't include shlib-compat.h.
22510         (OBSTACK_INTERFACE_VERSION): Delete.
22511         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
22512         glibc code is compatible with version 2.  Don't include stdio.h for
22513         __GNU_LIBRARY.
22514         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
22515         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
22516         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
22517         glibc shared library specific source.
22519         obstack: 64-bit obstack support, part 2
22520         This gets us 4G obstack support, without changing ABI
22521         compatibility, apart from possibly introducing some
22522         signed/unsigned comparison warnings in code that uses obstack.h.
22523         a) Replace "int" size parameters, return values, and macro local vars
22524            with _OBSTACK_SIZE_T, an "unsigned int" for now.
22525         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
22526         c) Make all obstack macros checking available room use obstack_room.
22527            "next_free + desired > chunk_limit" may wrap the lhs for chunks
22528            allocated near the top of memory.
22529         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
22530         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
22531         in place of "int" size parameters, return values and local vars.
22532         (_CHUNK_SIZE_T): Define.
22533         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
22534         union use an _OBSTACK_SIZE_T integer type.
22535         For __GNUC__ versions of the following macros...
22536         (obstack_room): Rename local var.
22537         (obstack_make_room): Use obstack_room.
22538         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
22539         obstack_int_grow, obstack_blank): Likewise.
22540         (obstack_finish): Use unsigned comparison when comparing aligned
22541         next_free against chunk_limit.
22542         (obstack_free): Cast OBJ to remove possible const qualifier.
22543         For !__GNUC__ versions of the following macros...
22544         (obstack_make_room): Use obstack_room.
22545         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
22546         obstack_int_grow, obstack_blank): Likewise.
22547         (obstack_finish): Use unsigned comparision when comparing aligned
22548         next_free against chunk_limit.
22549         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
22550         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
22551         _OBSTACK_SIZE_T.
22552         (_obstack_begin, _obstack_begin_1): Likewise.
22553         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
22554         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
22556         obstack: 64-bit obstack support, part 1
22557         a) Correct calls to alloc function, to use a size_t arg.  "long" is
22558            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
22559            and "size_t" 64 bits.
22560         b) Consolidate _obstack_begin and _obstack_begin1 code.
22561         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
22562         use "size_t" rather than "long".
22563         (_obstack_begin, _obstack_begin1): Likewise.
22564         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
22565         obstack_chunkfun): Update alloc function casts.
22566         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
22567         (chunkfun_type, freefun_type): New typdefs.
22568         (_obstack_begin_worker): Split out from ..
22569         (_obstack_begin, _obstack_begin_1): ..here.
22571         obstack: tidy part 2
22572         a) Don't be concerned about "not polluting the namespace with stddef.h
22573            symbols" in obstack.h, since gnulib string.h includes stddef.h
22574            anyway, and it seems unlikely that anyone would care.
22575         b) Don't roll our own slow memcpy in _obstack_newchunk.
22576         c) Rename obstack_free to _obstack_free.  This makes the naming
22577            consistent with other obstack functions and obviates the need for
22578            __obstack_free.  Ancient obstack.c defined both obstack_free and
22579            _obstack_free.  We continue to do that for _LIBC via an alias.
22580         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
22581            is clever, but nowadays gcc warns on undefined macros.  You'll get
22582            an undefined macro warning if simulating an old gcc with -U__GNUC__
22583            -U__GNUC_MINOR__ -D__GNUC__=1.
22584         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
22585         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
22586         (__obstack_free): Delete, update refs.
22587         (_obstack_free): Rename from obstack_free.
22588         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
22589         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
22590         * lib/obstack.c: Don't include stddef.h.
22591         (COPYING_UNIT): Delete.
22592         (_obstack_begin): Formatting fix.
22593         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
22594         (_obstack_free): Rename from __obstack_free, update alias.  Move
22595         undef of obstack_free to where it is needed.
22597         obstack: tidy part 1
22598         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
22599            to me, and result in overlong lines after later patches.
22600         b) Move error handling code, to avoid a forward declaration and to
22601            simplify later patches in this series.
22602         * lib/obstack.h (struct obstack <temp>): Rename fields of union
22603         and update all uses.
22604         * lib/obstack.c: Include stdlib.h earlier.
22605         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
22606         in file.
22607         (print_and_abort): Remove now redundant forward declaration.
22609 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
22611         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
22612         Without this change, in bleeding-edge fileutils Autoconf complains
22613         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
22614         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
22615         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
22616         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
22618 2014-10-24  Daiki Ueno  <ueno@gnu.org>
22620         iconv: avoid false detection of non-working iconv
22621         The INBUF arguments of iconv can be either 'const char **'
22622         or 'char **'.  If CC is g++, the difference causes a compile error
22623         and thus leads to a false detection of non-working iconv.
22624         Reported by Eli Zaretskii and Werner LEMBERG in:
22625         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
22626         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
22627         iconv.  Bump serial number.
22629 2014-10-23  Pádraig Brady  <P@draigBrady.com>
22631         bootstrap: print more diagnostics for missing programs
22632         * build-aux/bootstrap: only suppress stderr when checking for
22633         alternative program names.  This supports programs issuing non
22634         standard error messages.
22636 2014-10-23  Pádraig Brady  <P@draigBrady.com>
22638         bootstrap: only update the gnulib submodule
22639         * build-aux/bootstrap: Restrict the "submodule update" command
22640         to the gnulib path.
22642 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
22644         symlinkat: port to AIX 7.1
22645         * doc/posix-functions/symlinkat.texi (symlinkat):
22646         Mention AIX porting problem.
22647         * lib/symlinkat.c: Always include errno.h.
22648         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
22649         * lib/unistd.in.h (symlinkat): Add replacement machinery.
22650         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
22651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
22652         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
22653         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
22654         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
22656         readlinkat: port to AIX 7.1
22657         * doc/posix-functions/readlink.texi (readlink):
22658         * doc/posix-functions/readlinkat.texi (readlinkat):
22659         Mention AIX porting problem.
22660         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
22661         New function.
22662         * lib/unistd.in.h (readlinkat): Add replacement machinery.
22663         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
22664         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
22665         * modules/readlinkat (configure.ac): Also compile replacement
22666         if REPLACE_READLINKAT.
22667         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
22669 2014-10-12  Karl Berry  <karl@gnu.org>
22671         * doc/posix-functions/dirname.texi: remove spurious {.
22673 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
22675         basename, dirname: Improve documentation.
22676         * doc/posix-functions/basename.texi: Mention dirname module and
22677         base_name() function.
22678         * doc/posix-functions/dirname.texi: Mention dir_name() and
22679         mdir_name() functions.
22680         Suggested by Werner LEMBERG <wl@gnu.org>.
22682 2014-09-24  Jim Meyering  <meyering@fb.com>
22684         exclude: declare exclude_patopts static
22685         * lib/exclude.c (exclude_patopts): Declare static,
22686         to avoid triggering a -Wmissing-prototypes warning.
22687         The alternative (declaring it in the .h file) would
22688         require publicizing the private "struct patopts".
22690 2014-09-21  Werner Lemberg  <wl@gnu.org>
22692         dirname: support compilation with C++
22693         * lib/dirname.h: Add necessary C linkage declarations.
22695 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22697         qsort_r: include <config.h>
22698         Problem reported by Tom G. Christensen in:
22699         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
22700         * lib/qsort.c [!_LIBC]: Include <config.h> first.
22702 2014-09-16  Dylan Cali  <calid1984@gmail.com>
22704         avltree-list: avoid compiler warnings (trivial)
22705         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
22706         -Werror=suggest-attribute=pure.
22707         * lib/gl_array_list.c: Likewise.
22708         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
22709         declaration to avoid -Werror=missing-prototypes.  This is not added
22710         to a header as only exported for tests.  Add (void) to the
22711         check_invariants() call to indicate we're discarding the result
22712         in this context which avoids -Werror=unused-value.  Note we don't
22713         use ignore_value here to avoid a dependency as we know we'll not
22714         be adding __attribute__((warn_unused_result)) to check_invariants().
22715         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
22717 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
22719         qsort_r: new module, for GNU-style qsort_r
22720         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
22722 2014-09-15  Werner LEMBERG  <wl@gnu.org>
22724         strerror_r-posix: support compilation with C++
22725         * lib/strerror_r.c: Add necessary C linkage declarations.
22727 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
22729         fcntl-h: fix compilation with Intel C++ compiler (trivial)
22730         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
22732 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
22734         mountlist: use /proc/self/mountinfo when available
22735         Use libmount to propagate device IDs provided by Linux in
22736         /proc/self/mountinfo.  This will give more accurate output when
22737         using df in chroot'ed environments as the device IDs are not
22738         determined by stat() which may be inaccurate within the chroot.
22739         * lib/mountlist.c (read_file_system_list): Use the libmount routines
22740         from util-linux to parse "/proc/self/mountinfo" or fall back to
22741         standard getmntent() processing.
22742         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
22743         getmntent() is used, as is the case on GNU/Linux.
22745 2014-09-07  Eric Wong  <normalperson@yhbt.net>
22747         users.txt: add cmogstored
22748         cmogstored has used gnulib since the beginning in 2012 to support
22749         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
22751 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
22753         Trivial change.
22754         * gnulib-tool: Use same options as build-aux/bootstrap to download
22755         PO files.
22757 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
22759         Trivial change.
22760         * gnulib-tool: Fallback to wget when rsync of PO files fails.
22762 2014-09-04  Eric Blake  <eblake@redhat.com>
22764         maintainer-makefile: add syntax check for useless ';;'
22765         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
22767 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
22769         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
22770         Problem reported by Assaf Gordon in:
22771         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
22772         Apparently Ubuntu is doing some fancy link-time optimization
22773         that doesn't work with -lpthread but does work with -pthread.
22774         Work around the bug by preferring -pthread to -lpthread.
22775         * m4/pthread.m4 (gl_PTHREAD_CHECK):
22776         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
22777         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
22778         Treat -pthread like -lpthread.
22780 2014-09-04  Eric Blake  <eblake@redhat.com>
22782         error: drop spurious semicolon
22783         * lib/error.c (__error_at_line): Fix ';;'.
22785 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22787         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
22788         * m4/gnulib-common.m4 (AC_C_RESTRICT):
22789         Override AC_C_RESTRICT unconditionally.
22790         Update from autoconf, incorporating:
22791         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
22792         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
22794 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22796         manywarnings: add GCC 4.9 warnings
22797         Also, make it easier to maintain this in the future.
22798         * build-aux/gcc-warning.spec: Add -Wabi-tag,
22799         -Wconditionally-supported, -Wdelete-incomplete,
22800         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
22801         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
22802         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
22803         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
22804         only for older GCC versions that need them.  Handle
22805         -Wnormalized=nfc specially, so that the 'comm' command used
22806         for maintenance doesn't get confused.
22808 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22810         vasnprintf: fix bugs in width computation
22811         * lib/vasnprintf.c (VASNPRINTF):
22812         Rework previous change, which introduced a bug,
22813         to avoid the warning in a different way.
22814         Avoid undefined behavior if the width arg is less than -INT_MAX.
22815         Avoid unnecessary use of HAS_WIDTH local.
22817 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
22819         vasnprintf: Avoid signed/unsigned comparison warning.
22820         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
22821         compare end addr of generated string w/ maximum end addr.
22823 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
22825         parse-datetime: Avoid pointer difference.
22826         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
22827         instead of calculating difference of pointers.  This removes an
22828         annoying warning, devoid of any use.
22830 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
22832         qsort_r: new module, for GNU-style qsort_r
22833         This works even on FreeBSD, which has an incompatible qsort_r API.
22834         * MODULES.html.sh: Add it.
22835         * doc/glibc-functions/qsort_r.texi: It's now supported.
22836         * lib/qsort.c: New file, taken from glibc with minor changes
22837         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
22838         removed.
22839         * lib/qsort_r.c: New file, compiled only on FreeBSD.
22840         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
22841         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
22842         * modules/qsort_r, modules/qsort_r-tests: New files.
22843         * modules/stdlib (Makefile): Set up its defaults.
22844         * tests/test-qsort_r.c: New file.
22846 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
22848         vla: new module
22849         GNU RCS can use this, mostly for documentation I expect.  See:
22850         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
22851         * MODULES.html.sh: Add vla.
22852         * lib/vla.h, modules/vla: New files.
22854 2014-08-07  Daiki Ueno  <ueno@gnu.org>
22856         localename: make gl_locale_name_thread really thread-safe on Windows
22857         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
22858         "glthread/lock.h".
22859         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
22860         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
22862 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
22864         getpass: don't assume struct termios
22865         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
22866         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
22867         * lib/getpass.c (getpass): Port to systems lacking struct termios.
22869         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
22870         Problem reported by Jonas 'Sortie' Termansen in:
22871         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
22872         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
22873         Implement via sysconf for platforms that lack getdtablesize.
22875         vararrays: modernize AC_C_VARARRAYS for C11
22876         This backports a change I recently made to Autoconf.
22877         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
22878         VLAs are not supported, as this is what C11 does.  The old macro
22879         HAVE_C_VARARRAYS is still defined if they are supported, but is
22880         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
22882 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
22884         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
22885         * build-aux/install-reloc (func_create_wrapper): Also wrap
22886         strerror-override, stat, stat.
22888 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22890         sys_select: fix FD_ZERO problem on Solaris 10
22891         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
22892         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
22893         to expand to an expression that invoked memset without necessarily
22894         including <string.h>.  The problem was that the first include
22895         defined _SYS_TIME_H, causing the second include to short-circuit.
22896         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
22897         Also, fix what appears to be a cut-and-paste typo, by replacing
22898         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
22899         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
22901         accept: document Solaris 10 type glitch
22902         * doc/posix-functions/accept.texi (accept): Mention that
22903         Solaris 10 'accept' takes void * last arg, not socklen_t *.
22905 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
22907         extern-inline: port to FreeBSD, DragonFly
22908         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
22909         is present if either __DragonFly__ or __FreeBSD__ is defined.
22910         FreeBSD problem reported by Andrey Borzenkov in:
22911         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
22912         Also, worry about __APPLE__ only if __MACH__ is also defined,
22913         as this is more consistent with the rest of gnulib.
22914         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
22915         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
22917 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
22919         regex: Make #if/#ifdef usage consistent for DEBUG
22920         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
22921         of the inconsistent usage of #if and #ifdef as that works with
22922         both Glibc and Gnulib's style.
22924 2014-07-31  Eric Blake  <eblake@redhat.com>
22926         openat-die: use _Noreturn markup
22927         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
22928         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
22929         _Noreturn.
22931 2014-07-30  Eric Blake  <eblake@redhat.com>
22933         test-open: port to cygwin, which lacks Fortify
22934         * tests/test-open.h (ALWAYS_INLINE): New macro.
22935         (__always_inline): Don't abuse internal symbol on non-glibc.
22937 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
22939         localename: Enforce declarations before statements.
22940         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
22941         first statement.
22943 2014-07-18  Jim Meyering  <meyering@fb.com>
22945         test-userspec: don't look up numeric user names
22946         * tests/test-userspec.c: I found a system for which getpwnam("0")
22947         returned a pointer to a non-root user's entry, and that made the
22948         test fail.
22949         (T): Prefix each numeric input with "+", to inhibit lookup.
22951 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
22953         localcharset, localename: MS-Windows support for non-default locales
22954         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
22955         falling back on the default system codepage, try extracting
22956         the codepage from what 'setlocale' returns.  This allows to
22957         take into account changes of the codeset due to non-default
22958         locale set by a previous call to 'setlocale'.
22959         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
22960         Define if not already defined.
22961         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
22962         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
22963         current locale by calling 'setlocale', then converting the
22964         locale name into LCID by calling 'get_lcid'.  This allows to
22965         take into account changes in the current locale from the
22966         default one, in contrast to GetThreadLocale.
22968 2014-07-14  Daiki Ueno  <ueno@gnu.org>
22970         announce-gen: avoid failure when Digest::SHA is installed
22971         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
22972         Digest::SHA1->new in print_checksums fails.
22973         * build-aux/announce-gen (digest_classes): New associative array
22974         for available message digest implementations.
22975         (print_locations): Use it.
22977 2014-07-13  Pádraig Brady  <P@draigBrady.com>
22979         gettext: revert "update macros to version 0.19"
22980         This reverts commit 9b9370ca, as it currently requires that
22981         developers of any project that explicitly uses the gettext module
22982         or implicitly uses it through the utimens-tests or
22983         futimens-tests modules, use gettext >= 0.19.
22984         However there are some stability and availablity issues with
22985         that version at present.  We can reinstate this soon, when stability
22986         is addressed and packages are more readily available.
22988 2014-07-12  Jim Meyering  <meyering@fb.com>
22990         regex: don't deref NULL upon heap allocation failure
22991         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
22992         failure in one more place.
22993         To trigger the segfault, configure grep -with-included-regex,
22994         build it, and run these commands:
22995         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
22996         I discovered this while replying to a private report from
22997         Jens Schleusener about excessive memory consumption by grep
22998         when using a regular expression like the one above.
23000 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
23002         regex: fix memory leak in compiler
23003         Fix by Andreas Schwab in:
23004         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
23005         * lib/regcomp.c (parse_reg_exp): Deallocate partially
23006         constructed tree before returning error.
23008 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
23010         announce-gen: avoid perl warnings
23011         * build-aux/announce-gen: add two minor checks to avoid
23012         "use of uninitialized value" warnings when command-line parameters are
23013         missing.
23015 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
23017         localename: avoid -Wsuggest-attribute={const,pure} warnings
23018         * lib/localename.c (string_has): Tag internal function as pure.
23019         * lib/localename.h (gl_locale_name_default): Tag extern declaration
23020         as const when appropriate.
23022 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
23024         nl_langinfo: Fix last change.
23025         * lib/nl_langinfo.c (includes): Drop redundant include.
23027 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
23029         error: Fix -Wundef warnings in glibc
23030         * lib/error.c [_LIBC]: Define default macros for
23031         glibc.
23032         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
23033         Check _LIBC before STRERROR_R_CHAR_P.
23035         error: Sync from glibc master
23036         * lib/error.c [_LIBC]: Remove INTUSE usage.
23037         (error_tail): Remove unused macro ALLOCA_LIMIT.
23038         Fix potential buffer overflow.  Fix potential NULL dereference
23039         in strcmp.
23041 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
23043         nl_langinfo: fix build under mingw
23044         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
23046 2014-07-09  Andrew D Warshall  <warshall@99main.com>
23048         mountlist: do not classify a bind-mounted dir entry as "dummy"
23049         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
23050         1-argument getmntent() (instead of assuming absence).
23052 2014-07-08  Eric Blake  <eblake@redhat.com>
23054         maint.mk: less syntax-check noise when SIGPIPE is ignored
23055         * top/maint.mk (_sc_header_without_use)
23056         (sc_require_config_h_first): Parse full list.
23058 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
23059             Paul Eggert  <eggert@cs.ucla.edu>
23061         nl_langinfo: CODESET on MS-Windows and more items from localeconv
23062         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
23063         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
23064         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
23065         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
23066         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
23067         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
23068         Include <stdio.h> if Microsoft Windows.
23069         Include <time.h> if !REPLACE_NL_LANGINFO.
23070         (ctype_codeset): New function, taken from rpl_nl_langinfo,
23071         and with improvements for Microsoft Windows.
23072         (rpl_nl_langinfo): Use it.
23073         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
23074         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
23075         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
23076         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
23077         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
23078         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
23079         corresponding values returned by 'localeconv'.  Compute the values
23080         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
23081         'strftime' with a suitable struct tm value.
23083 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
23085         Bruno Haible has stepped down as maintainer.
23086         See Karl Berry in:
23087         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
23088         Daiki Ueno has volunteered to maintain libunistring; see:
23089         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
23090         * modules/gen-uni-tables, modules/libunistring:
23091         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
23092         * modules/unicase/base, modules/unicase/cased:
23093         * modules/unicase/empty-prefix-context:
23094         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
23095         * modules/unicase/locale-language, modules/unicase/special-casing:
23096         * modules/unicase/tocasefold, modules/unicase/tolower:
23097         * modules/unicase/totitle, modules/unicase/toupper:
23098         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
23099         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
23100         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
23101         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
23102         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
23103         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
23104         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
23105         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
23106         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
23107         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
23108         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
23109         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
23110         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
23111         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
23112         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
23113         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
23114         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
23115         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
23116         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
23117         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
23118         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
23119         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
23120         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
23121         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
23122         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
23123         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
23124         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
23125         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
23126         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
23127         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
23128         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
23129         * modules/unicase/ulc-casexfrm, modules/unicodeio:
23130         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
23131         * modules/uniconv/u16-conv-to-enc:
23132         * modules/uniconv/u16-strconv-from-enc:
23133         * modules/uniconv/u16-strconv-from-locale:
23134         * modules/uniconv/u16-strconv-to-enc:
23135         * modules/uniconv/u16-strconv-to-locale:
23136         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
23137         * modules/uniconv/u32-strconv-from-enc:
23138         * modules/uniconv/u32-strconv-from-locale:
23139         * modules/uniconv/u32-strconv-to-enc:
23140         * modules/uniconv/u32-strconv-to-locale:
23141         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
23142         * modules/uniconv/u8-strconv-from-enc:
23143         * modules/uniconv/u8-strconv-from-locale:
23144         * modules/uniconv/u8-strconv-to-enc:
23145         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
23146         * modules/unictype/bidicategory-all:
23147         * modules/unictype/bidicategory-byname:
23148         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
23149         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
23150         * modules/unictype/bidiclass-byname:
23151         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
23152         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
23153         * modules/unictype/block-all, modules/unictype/block-list:
23154         * modules/unictype/block-of, modules/unictype/block-test:
23155         * modules/unictype/category-C, modules/unictype/category-Cc:
23156         * modules/unictype/category-Cf, modules/unictype/category-Cn:
23157         * modules/unictype/category-Co, modules/unictype/category-Cs:
23158         * modules/unictype/category-L, modules/unictype/category-LC:
23159         * modules/unictype/category-Ll, modules/unictype/category-Lm:
23160         * modules/unictype/category-Lo, modules/unictype/category-Lt:
23161         * modules/unictype/category-Lu, modules/unictype/category-M:
23162         * modules/unictype/category-Mc, modules/unictype/category-Me:
23163         * modules/unictype/category-Mn, modules/unictype/category-N:
23164         * modules/unictype/category-Nd, modules/unictype/category-Nl:
23165         * modules/unictype/category-No, modules/unictype/category-P:
23166         * modules/unictype/category-Pc, modules/unictype/category-Pd:
23167         * modules/unictype/category-Pe, modules/unictype/category-Pf:
23168         * modules/unictype/category-Pi, modules/unictype/category-Po:
23169         * modules/unictype/category-Ps, modules/unictype/category-S:
23170         * modules/unictype/category-Sc, modules/unictype/category-Sk:
23171         * modules/unictype/category-Sm, modules/unictype/category-So:
23172         * modules/unictype/category-Z, modules/unictype/category-Zl:
23173         * modules/unictype/category-Zp, modules/unictype/category-Zs:
23174         * modules/unictype/category-all, modules/unictype/category-and:
23175         * modules/unictype/category-and-not, modules/unictype/category-byname:
23176         * modules/unictype/category-longname, modules/unictype/category-name:
23177         * modules/unictype/category-none, modules/unictype/category-of:
23178         * modules/unictype/category-or, modules/unictype/category-test:
23179         * modules/unictype/category-test-withtable:
23180         * modules/unictype/combining-class:
23181         * modules/unictype/combining-class-all:
23182         * modules/unictype/combining-class-byname:
23183         * modules/unictype/combining-class-longname:
23184         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
23185         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
23186         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
23187         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
23188         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
23189         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
23190         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
23191         * modules/unictype/digit, modules/unictype/joininggroup-all:
23192         * modules/unictype/joininggroup-byname:
23193         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
23194         * modules/unictype/joiningtype-all:
23195         * modules/unictype/joiningtype-byname:
23196         * modules/unictype/joiningtype-longname:
23197         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
23198         * modules/unictype/mirror, modules/unictype/numeric:
23199         * modules/unictype/property-all, modules/unictype/property-alphabetic:
23200         * modules/unictype/property-ascii-hex-digit:
23201         * modules/unictype/property-bidi-arabic-digit:
23202         * modules/unictype/property-bidi-arabic-right-to-left:
23203         * modules/unictype/property-bidi-block-separator:
23204         * modules/unictype/property-bidi-boundary-neutral:
23205         * modules/unictype/property-bidi-common-separator:
23206         * modules/unictype/property-bidi-control:
23207         * modules/unictype/property-bidi-embedding-or-override:
23208         * modules/unictype/property-bidi-eur-num-separator:
23209         * modules/unictype/property-bidi-eur-num-terminator:
23210         * modules/unictype/property-bidi-european-digit:
23211         * modules/unictype/property-bidi-hebrew-right-to-left:
23212         * modules/unictype/property-bidi-left-to-right:
23213         * modules/unictype/property-bidi-non-spacing-mark:
23214         * modules/unictype/property-bidi-other-neutral:
23215         * modules/unictype/property-bidi-pdf:
23216         * modules/unictype/property-bidi-segment-separator:
23217         * modules/unictype/property-bidi-whitespace:
23218         * modules/unictype/property-byname:
23219         * modules/unictype/property-case-ignorable:
23220         * modules/unictype/property-cased:
23221         * modules/unictype/property-changes-when-casefolded:
23222         * modules/unictype/property-changes-when-casemapped:
23223         * modules/unictype/property-changes-when-lowercased:
23224         * modules/unictype/property-changes-when-titlecased:
23225         * modules/unictype/property-changes-when-uppercased:
23226         * modules/unictype/property-combining:
23227         * modules/unictype/property-composite:
23228         * modules/unictype/property-currency-symbol:
23229         * modules/unictype/property-dash:
23230         * modules/unictype/property-decimal-digit:
23231         * modules/unictype/property-default-ignorable-code-point:
23232         * modules/unictype/property-deprecated:
23233         * modules/unictype/property-diacritic:
23234         * modules/unictype/property-extender:
23235         * modules/unictype/property-format-control:
23236         * modules/unictype/property-grapheme-base:
23237         * modules/unictype/property-grapheme-extend:
23238         * modules/unictype/property-grapheme-link:
23239         * modules/unictype/property-hex-digit:
23240         * modules/unictype/property-hyphen:
23241         * modules/unictype/property-id-continue:
23242         * modules/unictype/property-id-start:
23243         * modules/unictype/property-ideographic:
23244         * modules/unictype/property-ids-binary-operator:
23245         * modules/unictype/property-ids-trinary-operator:
23246         * modules/unictype/property-ignorable-control:
23247         * modules/unictype/property-iso-control:
23248         * modules/unictype/property-join-control:
23249         * modules/unictype/property-left-of-pair:
23250         * modules/unictype/property-line-separator:
23251         * modules/unictype/property-logical-order-exception:
23252         * modules/unictype/property-lowercase, modules/unictype/property-math:
23253         * modules/unictype/property-non-break:
23254         * modules/unictype/property-not-a-character:
23255         * modules/unictype/property-numeric:
23256         * modules/unictype/property-other-alphabetic:
23257         * modules/unictype/property-other-default-ignorable-code-point:
23258         * modules/unictype/property-other-grapheme-extend:
23259         * modules/unictype/property-other-id-continue:
23260         * modules/unictype/property-other-id-start:
23261         * modules/unictype/property-other-lowercase:
23262         * modules/unictype/property-other-math:
23263         * modules/unictype/property-other-uppercase:
23264         * modules/unictype/property-paired-punctuation:
23265         * modules/unictype/property-paragraph-separator:
23266         * modules/unictype/property-pattern-syntax:
23267         * modules/unictype/property-pattern-white-space:
23268         * modules/unictype/property-private-use:
23269         * modules/unictype/property-punctuation:
23270         * modules/unictype/property-quotation-mark:
23271         * modules/unictype/property-radical:
23272         * modules/unictype/property-sentence-terminal:
23273         * modules/unictype/property-soft-dotted:
23274         * modules/unictype/property-space:
23275         * modules/unictype/property-terminal-punctuation:
23276         * modules/unictype/property-test, modules/unictype/property-titlecase:
23277         * modules/unictype/property-unassigned-code-value:
23278         * modules/unictype/property-unified-ideograph:
23279         * modules/unictype/property-uppercase:
23280         * modules/unictype/property-variation-selector:
23281         * modules/unictype/property-white-space:
23282         * modules/unictype/property-xid-continue:
23283         * modules/unictype/property-xid-start:
23284         * modules/unictype/property-zero-width, modules/unictype/scripts:
23285         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
23286         * modules/unictype/syntax-c-whitespace:
23287         * modules/unictype/syntax-java-ident:
23288         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
23289         * modules/unigbrk/u16-grapheme-breaks:
23290         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
23291         * modules/unigbrk/u32-grapheme-breaks:
23292         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
23293         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
23294         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
23295         * modules/unigbrk/uc-is-grapheme-break:
23296         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
23297         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
23298         * modules/unilbrk/u16-width-linebreaks:
23299         * modules/unilbrk/u32-possible-linebreaks:
23300         * modules/unilbrk/u32-width-linebreaks:
23301         * modules/unilbrk/u8-possible-linebreaks:
23302         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
23303         * modules/unilbrk/ulc-possible-linebreaks:
23304         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
23305         * modules/uniname/uniname, modules/uninorm/base:
23306         * modules/uninorm/canonical-decomposition:
23307         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
23308         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
23309         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
23310         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
23311         * modules/uninorm/nfkc, modules/uninorm/nfkd:
23312         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
23313         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
23314         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
23315         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
23316         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
23317         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
23318         * modules/unistdio/base, modules/unistdio/u-printf-args:
23319         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
23320         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
23321         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
23322         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
23323         * modules/unistdio/u16-u16-sprintf:
23324         * modules/unistdio/u16-u16-vasnprintf:
23325         * modules/unistdio/u16-u16-vasprintf:
23326         * modules/unistdio/u16-u16-vsnprintf:
23327         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
23328         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
23329         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
23330         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
23331         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
23332         * modules/unistdio/u32-u32-asnprintf:
23333         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
23334         * modules/unistdio/u32-u32-sprintf:
23335         * modules/unistdio/u32-u32-vasnprintf:
23336         * modules/unistdio/u32-u32-vasprintf:
23337         * modules/unistdio/u32-u32-vsnprintf:
23338         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
23339         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
23340         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
23341         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
23342         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
23343         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
23344         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
23345         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
23346         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
23347         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
23348         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
23349         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
23350         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
23351         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
23352         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
23353         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
23354         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
23355         * modules/unistr/u16-check, modules/unistr/u16-chr:
23356         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
23357         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
23358         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
23359         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
23360         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
23361         * modules/unistr/u16-move, modules/unistr/u16-next:
23362         * modules/unistr/u16-prev, modules/unistr/u16-set:
23363         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
23364         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
23365         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
23366         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
23367         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
23368         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
23369         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
23370         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
23371         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
23372         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
23373         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
23374         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
23375         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
23376         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
23377         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
23378         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
23379         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
23380         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
23381         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
23382         * modules/unistr/u32-next, modules/unistr/u32-prev:
23383         * modules/unistr/u32-set, modules/unistr/u32-startswith:
23384         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
23385         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
23386         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
23387         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
23388         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
23389         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
23390         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
23391         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
23392         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
23393         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
23394         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
23395         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
23396         * modules/unistr/u8-check, modules/unistr/u8-chr:
23397         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
23398         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
23399         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
23400         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
23401         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
23402         * modules/unistr/u8-next, modules/unistr/u8-prev:
23403         * modules/unistr/u8-set, modules/unistr/u8-startswith:
23404         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
23405         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
23406         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
23407         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
23408         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
23409         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
23410         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
23411         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
23412         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
23413         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
23414         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
23415         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
23416         * modules/uniwbrk/base, modules/uniwbrk/table:
23417         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
23418         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
23419         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
23420         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
23421         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
23422         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
23423         * modules/uniwidth/width, modules/utf16-ucs4:
23424         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
23425         * modules/utf8-ucs4-unsafe:
23426         Change maintainer from Bruno Haible to Daiki Ueno.
23427         This is my guess at the libunistring modules; please feel free
23428         to fix if I guessed incorrectly.
23429         * modules/accept4, modules/acl, modules/acos, modules/acosf:
23430         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
23431         * modules/areadlink, modules/array-list, modules/array-mergesort:
23432         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
23433         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
23434         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
23435         * modules/binary-io, modules/bison-i18n, modules/btowc:
23436         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
23437         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
23438         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
23439         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
23440         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
23441         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
23442         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
23443         * modules/closedir, modules/concat-filename, modules/copy-file:
23444         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
23445         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
23446         * modules/csharpcomp-script, modules/csharpexec:
23447         * modules/csharpexec-script, modules/ctype, modules/diffseq:
23448         * modules/dprintf, modules/dprintf-posix, modules/dup:
23449         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
23450         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
23451         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
23452         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
23453         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
23454         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
23455         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
23456         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
23457         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
23458         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
23459         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
23460         * modules/findprog, modules/findprog-lgpl, modules/floor:
23461         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
23462         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
23463         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
23464         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
23465         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
23466         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
23467         * modules/freadable, modules/freadahead, modules/freadptr:
23468         * modules/freadseek, modules/freopen, modules/frexp:
23469         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
23470         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
23471         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
23472         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
23473         * modules/ftello, modules/full-read, modules/full-write:
23474         * modules/fwritable, modules/fwriteerror, modules/gcd:
23475         * modules/get-rusage-as, modules/get-rusage-data:
23476         * modules/getdtablesize, modules/getrusage, modules/gettext:
23477         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
23478         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
23479         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
23480         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
23481         * modules/iconv, modules/iconv-h, modules/iconv_open:
23482         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
23483         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
23484         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
23485         * modules/integer_length_ll, modules/ioctl, modules/isatty:
23486         * modules/isblank, modules/isnand, modules/isnand-nolibm:
23487         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
23488         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
23489         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
23490         * modules/javaexec, modules/javaexec-script, modules/javaversion:
23491         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
23492         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
23493         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
23494         * modules/lib-symbol-visibility, modules/libsigsegv:
23495         * modules/linked-list, modules/linkedhash-list, modules/list:
23496         * modules/localcharset, modules/locale, modules/localeconv:
23497         * modules/localename, modules/lock, modules/log, modules/log-ieee:
23498         * modules/log10, modules/log10-ieee, modules/log10f:
23499         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
23500         * modules/log1p, modules/log1p-ieee, modules/log1pf:
23501         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
23502         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
23503         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
23504         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
23505         * modules/logf, modules/logf-ieee, modules/login_tty:
23506         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
23507         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
23508         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
23509         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
23510         * modules/mbscspn, modules/mbsinit, modules/mbslen:
23511         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
23512         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
23513         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
23514         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
23515         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
23516         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
23517         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
23518         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
23519         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
23520         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
23521         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
23522         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
23523         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
23524         * modules/posix_spawn, modules/posix_spawn-internal:
23525         * modules/posix_spawn_file_actions_addclose:
23526         * modules/posix_spawn_file_actions_adddup2:
23527         * modules/posix_spawn_file_actions_addopen:
23528         * modules/posix_spawn_file_actions_destroy:
23529         * modules/posix_spawn_file_actions_init:
23530         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
23531         * modules/posix_spawnattr_getpgroup:
23532         * modules/posix_spawnattr_getschedparam:
23533         * modules/posix_spawnattr_getschedpolicy:
23534         * modules/posix_spawnattr_getsigdefault:
23535         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
23536         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
23537         * modules/posix_spawnattr_setschedparam:
23538         * modules/posix_spawnattr_setschedpolicy:
23539         * modules/posix_spawnattr_setsigdefault:
23540         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
23541         * modules/pow, modules/powf, modules/printf-frexp:
23542         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
23543         * modules/progname, modules/propername, modules/pselect:
23544         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
23545         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
23546         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
23547         * modules/read, modules/readdir, modules/readlink:
23548         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
23549         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
23550         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
23551         * modules/relocatable-script, modules/remainder:
23552         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
23553         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
23554         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
23555         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
23556         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
23557         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
23558         * modules/setlocale, modules/sh-quote, modules/shutdown:
23559         * modules/signal, modules/signbit, modules/sigpipe:
23560         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
23561         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
23562         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
23563         * modules/snippet/link-warning, modules/snippet/unused-parameter:
23564         * modules/snprintf, modules/snprintf-posix, modules/spawn:
23565         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
23566         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
23567         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
23568         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
23569         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
23570         * modules/streq, modules/strerror_r-posix, modules/striconv:
23571         * modules/striconveh, modules/striconveha, modules/strncat:
23572         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
23573         * modules/sublist, modules/sys_resource, modules/sys_utsname:
23574         * modules/sys_wait, modules/system-posix, modules/system-quote:
23575         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
23576         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
23577         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
23578         * modules/truncf, modules/truncf-ieee, modules/truncl:
23579         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
23580         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
23581         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
23582         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
23583         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
23584         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
23585         * modules/wait-process, modules/waitpid, modules/wcpcpy:
23586         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
23587         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
23588         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
23589         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
23590         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
23591         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
23592         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
23593         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
23594         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
23595         * modules/write, modules/xconcat-filename, modules/xlist:
23596         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
23597         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
23598         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
23599         * modules/y0, modules/y1, modules/yn:
23600         Remove Bruno Haible as maintainer; if he's the sole maintainer,
23601         change the maintainer to 'all'.  Let's hope someone volunteers.
23603 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
23605         mktime: merge #if/#ifdef usage from glibc
23606         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
23607         as that works with both Glibc's and Gnulib's style.
23608         See thread starting at Siddhesh Poyarekar's bug report at:
23609         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
23611 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
23613         git-version-gen: improve option descriptions
23614         * build-aux/git-version-gen: Mention that --prefix and --fallback
23615         have a mandatory argument.
23617 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
23619         regex: fix memory leak in compiler
23620         Fix by Andreas Schwab in:
23621         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
23622         * lib/regcomp.c (parse_expression): Deallocate partially
23623         constructed tree before returning error.
23625         regex: merge patch from libc
23626         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
23627         Combine __USE_BSD and __USE_SVID into __USE_MISC.
23628         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
23630 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
23632         acl: port to gcc -Wredundant-decls
23633         From a request by Dmitry Antipov in:
23634         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
23635         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
23636         "#ifndef _GL_ACL_H".
23638 2014-06-11  Bruce Korb  <bkorb@gnu.org>
23639         Jim Meyering  <meyering@fb.com>
23641         parse-duration: eliminate 68-year duration limit
23642         * lib/parse-duration.c: Include "intprops.h".
23643         (TIME_MAX): Rename to MAX_DURATION and define to
23644         TYPE_MAXIMUM(time_t).
23645         * modules/parse-duration (Depends-on): Add intprops.
23646         Reported by Jonas 'Sortie' Termansen.
23648 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
23650         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
23651         * modules/pthread (Depends-on): Add 'extensions', as it defines
23652         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
23653         (configure.ac-early): New section.
23654         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
23655         it is no longer needed.
23657 2014-06-14  Pádraig Brady  <P@draigBrady.com>
23659         pthread: define thread-safe macros on some platforms
23660         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
23661         for thread-safe operation on some platforms.
23663 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
23665         regex: don't be multithreaded if USE_UNLOCKED_IO.
23666         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
23667         * lib/regex_internal.h: Do not use multithreaded version if
23668         USE_UNLOCKED_IO is defined.  This is a hack, but it works
23669         around a porting bug with coreutils 8.22 on AIX 7.1.
23671 2014-06-11  Daiki Ueno  <ueno@gnu.org>
23673         gettext: update macros to version 0.19
23674         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
23675         depend on gl_EXTERN_INLINE and drop support for older Bison
23676         versions.
23678 2014-06-10  Pádraig Brady  <P@draigBrady.com>
23680         select,poll: fix console handle check on windows 8
23681         lib/poll.c (IsConsoleHandle): Change from testing the lower
23682         2 bits of the handle to the more expensive but accurate syscall.
23683         lib/select.c: Likewise.
23685 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
23687         select: fix waiting on anonymous pipes on MS-Windows
23688         * lib/select.c (rpl_select): Fall back to polling when select()
23689         indicates there is nothing to check, while due to the timeout not
23690         expiring, activity is indicated on one of the handles.
23691         Also clear the TIMEOUT argument if the timer does expire.
23693 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
23695         times: fix to return non constant value on MS-Windows
23696         * lib/times.c (times): Don't use the process creation time,
23697         rather clock() which on windows returns the number of
23698         clock ticks since the process started.
23700 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
23702         isatty: fix to work on windows 8
23703         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
23704         2 bits of the handle to the more expensive but accurate syscall.
23706 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
23708         maint: fix typo in fdl.texi
23709         * doc/fdl.texi: Fix typo (missing '@').
23710         Somehow this was in fdl.texi but not fdl-1.3.texi.
23712 2014-06-06  Ben Walton  <bdwalton@gmail.com>
23714         mountlist: avoid hasmntopt const type warning on solaris
23715         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
23716         with char * instead of const char *.  Passing the constant string
23717         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
23718         to avoid the warning.
23720 2014-06-04  Eric Blake  <eblake@redhat.com>
23722         maintainer-makefile: delete obsolete code
23723         * top/maint.mk (build_aux): Drop old code, as threatened.
23725         maintainer-makefile: avoid spurious error messages
23726         * top/maint.mk (syntax-check): Guard definition and use of
23727         $(shell) by whether Makefile is present.
23729 2014-06-03  Ben Walton  <bdwalton@gmail.com>
23731         rename: avoid unused-but-set-variable compiler warning
23732         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
23733         it is possible that dst_exists may be set but not used.  Mark it with
23734         the unused attribute to avoid compiler warnings.
23736 2014-06-02  Ben Walton  <bdwalton@gmail.com>
23738         rename: mark a label as potentially unused
23739         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
23740         by marking the out label as potentially unused.
23741         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
23743 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23745         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
23746         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
23748 2014-06-02  Ben Walton  <bdwalton@gmail.com>
23750         acl: apply pure attribute to two functions
23751         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
23752         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
23754 2014-06-01  Pádraig Brady  <P@draigBrady.com>
23756         gnulib-common.m4: add _GL_UNUSED_LABEL
23757         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
23758         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
23760 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
23762         dup2, fcntl, fcntl-h: port to AIX 7.1
23763         This fixes some porting problems discovered when testing the latest
23764         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
23765         in grep but it could be important for other applications.
23766         * doc/posix-functions/dup2.texi:
23767         * doc/posix-functions/fcntl.texi:
23768         * doc/posix-headers/fcntl.texi:
23769         Document AIX bugs.
23770         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
23771         Define to 0 if outside 'int' range.
23772         * m4/dup2.m4 (gl_FUNC_DUP2):
23773         * m4/fcntl.m4 (gl_FUNC_FCNTL):
23774         Check for getdtablesize.  If it's available, test a value just
23775         outside its range instead of testing 1000000.  When cross-compiling,
23776         guess that AIX will fail this improved test.
23778 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
23780         printf, config.rpath: Port to FreeBSD 10.
23781         Problem reported by Tijl Coosemans in:
23782         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
23783         * build-aux/config.rpath (hardcode_libdir_flag_spec)
23784         (hardcode_direct): Simplify FreeBSD configuration.
23785         (library_names_spec): Don't mishandle FreeBSD 10+.
23786         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
23787         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
23788         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
23789         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
23790         Don't mishandle FreeBSD 10+ when cross-compiling.
23792         ftoastr: work around compiler bug in IBM xlc 12.1
23793         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
23794         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
23795         around a compiler bug in IBM xlc 12.1.0.0: it complains
23796         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
23797         _GL_FLT_PREC_BOUND.'
23799 2014-05-30  Kieran Colford  <colfordk@gmail.com>
23801         valgrind-tests: fixed misleading help message
23802         * m4/valgrind-tests.m4: The help message generated by configure
23803         implied that valgrind was disabled by default, which it wasn't.
23804         Adjusted the help message using s/enable/disable/ to clarify.
23806 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
23808         isfinite, isinf, isnan tests: fix for little-endian PowerPC
23809         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
23810         first double of a PowerPC "double double" pair.
23811         * tests/test-isinf.c (test_isinfl): Likewise.
23812         * tests/test-isnan.c (test_long_double): Likewise.
23813         * tests/test-isnanl.h (main): Likewise.
23814         * tests/test-signbit.c (test_signbitl): Likewise.
23816 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
23818         exclude-tests: port to AIX 7.1
23819         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
23820         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
23821         the regex code uses locks.
23823 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
23825         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
23826         Without this fix, Emacs would sometimes call sigprocmask instead
23827         of pthread_sigmask, which is a no-no in multithreaded applications.
23828         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
23829         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
23830         Suppress check for pthread_sigmask working without -lpthread if
23831         the application always links with -lpthread.  Do not link with
23832         $LIBMULTITHREAD if gl_THREADLIB is not defined.
23833         * m4/timer_time.m4 (gl_TIMER_TIME):
23834         Require gl_THREADLIB only if it is defined.  Do not append
23835         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
23837 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
23839         gnulib-tool: wget translations using --no-verbose rather than --quiet
23840         This allows the user to see error messages if any (--quiet hides them)
23841         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
23843 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
23845         gnulib-tool: adjust translation wget to avoid a https redirection
23846         Context: http://translationproject.org/latest/gnulib redirects to
23847            https://translationproject.org/latest/gnulib/
23848         Rationale: if the user falls back to wget, she doesn't have rsync and
23849         is probably in a minimal build environment, where packages such as
23850         'ca-certificates' are missing as well, resulting in a failed (and
23851         difficult to detect since ignored) translation initial fetch.
23852         Consequently let's avoid https if possible, and add the missing
23853         trailing slash.  This also avoids an unnecessary 302 redirection.
23854         * gnulib-tool: Add trailing slash to gnulib URL.
23856 2014-05-22  Pádraig Brady  <P@draigBrady.com>
23858         getlogin_r-tests: check return value rather than errno
23859         * tests/test-getlogin_r.c (main): As per POSIX we should be
23860         verifying the return value from getlogin_r() rather than errno.
23862 2014-05-22  Pádraig Brady  <P@draigBrady.com>
23864         getlogin_r-tests: fix various issues in recent change
23865         * tests/test-getlogin_r.c: Include required headers that were
23866         missed in recent commit eec20b4e.
23867         Also consistently check the errno rather than the return value from
23868         getlogin_r as POSIX only specifies that non zero is returned on error.
23869         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
23871 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
23873         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
23874         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
23875         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
23876         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
23877         * lib/spawn-pipe.c:
23878         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
23879         and then 'int open64(const char *, int, ...);', which means the
23880         declaration for 'open' gets lost if we later '#undef open'.
23881         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
23882         where the compilation reported the non-fatal error "In function
23883         'openat_proc_name' ... warning: implicit declaration of function
23884         'open'".  In this case the error is relatively harmless, but in
23885         other cases it might not be so minor.
23887 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
23889         xalloc: don't potentially generate invalid code for xmemdup calls
23890         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
23891         this function can initialize the newly-allocated storage with new
23892         pointers, which means this function is not malloc-like.  See:
23893         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
23895 2014-05-19  Pádraig Brady  <P@draigBrady.com>
23897         getlogin_r-tests: avoid false failure under sudo/ssh etc.
23898         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
23899         changes from commit 97249cf29 to not depend on environment variables.
23901 2014-05-18  Pádraig Brady  <P@draigBrady.com>
23903         getlogin-tests: avoid false failure under cron
23904         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
23905         since that's not what's under test.  Centos 6 was seen to return
23906         EINVAL for ttyname() when run from cron.
23908 2014-05-16  Jim Meyering  <meyering@fb.com>
23910         mbrtowc.m4: fix a comment typo
23911         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
23912         emitted documentation string.
23914 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
23916         mbrlen, mbrtowc: fix bug with empty input
23917         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
23918         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
23919         so this is mainly for documentation.
23920         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
23921         (gl_FUNC_MBRTOWC): Use it.
23922         * tests/test-mbrtowc.c (main): Test for the bug.
23924 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
23926         doc: document mbrtowc and mbrlen problem with empty input
23927         * doc/posix-functions/mbrlen.texi (mbrlen):
23928         * doc/posix-functions/mbrtowc.texi (mbrtowc):
23929         Document portability problem when the input string is empty.  See:
23930         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
23932         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
23933         Problem reported by Eli Zaretskii in:
23934         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
23935         * doc/posix-functions/execl.texi (execl):
23936         * doc/posix-functions/execle.texi (execle):
23937         * doc/posix-functions/execlp.texi (execlp):
23938         * doc/posix-functions/execv.texi (execv):
23939         * doc/posix-functions/execve.texi (execve):
23940         * doc/posix-functions/execvp.texi (execvp):
23941         Mention spawn+exit problem on non-Cygwin Windows platforms.
23943 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
23945         getlogin-tests: avoid false failure under sudo/ssh etc.
23946         * modules/getlogin-tests (configure.ac): Check for ttyname().
23947         * tests/test-getlogin.c (main): Don't depend on environment variables
23948         to correlate with getlogin(), since sudo and ssh etc. can tamper
23949         with the LOGNAME and USER env vars.  Instead lookup the name from
23950         the uid associated with the stdin tty.
23952 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
23954         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
23955         These were found when building the latest grep snapshot on IRIX 6.5.
23956         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
23957         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
23958         never used later.
23959         * lib/quotearg.c (quoting_options_from_style):
23960         * lib/xstrtol.c (__xstrtol):
23961         Use enum instead of 0, to pacify IRIX 6.5 cc.
23963 2014-04-18  Pádraig Brady  <P@draigBrady.com>
23965         gitlog-to-changelog: revert inclusion of git-log-fix file
23966         * build-aux/git-log-fix: Delete dummy file.
23967         * modules/gitlog-to-changelog: Don't reference (overwrite)
23968         the project specific git-log-fix file.
23970 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
23972         maint.mk: Relax the copyright check to cater for non FSF projects
23973         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
23974         to not require the "Free" suffix after the copyright years.
23976 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
23978         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
23979         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
23980         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
23981         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
23982         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
23984 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
23986         exclude: port to strict C99
23987         Strict C does not allow converting a function pointer to void *
23988         and vice versa.  Pass a pointer to a function pointer instead.
23989         * lib/exclude.c (add_exclude_file):
23990         Pass the address of the function pointer.
23991         (call_addfn): And deference the address here, to match.
23993 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
23995         regex: do not depend on malloc-gnu
23996         * modules/regex (Depends-on): Remove malloc-gnu.
23997         It's no longer needed, because of the 2012-12-29 patch
23998         "regex: port to hosts where malloc (0) == NULL".
23999         Reported by Nathan Kennedy in:
24000         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
24002 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
24004         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
24005         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
24006         * doc/posix-functions/expl.texi: Mention the workaround.
24008 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
24010         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
24011         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
24012         size to be zero even when the pointer is nonnull.  This
24013         accommodates the use case where P is malloc (0) and *PN is 0 on a
24014         host where malloc (0) yields nonnull.
24016 2014-04-09  Eric Blake  <eblake@redhat.com>
24018         fts: avoid unnecessary strlen calls
24019         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
24021 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
24023         fts: avoid unnecessary strlen calls
24024         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
24025         when that can be faster than strlen.
24027 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
24029         fts: avoid unnecessary strlen calls
24030         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
24031         (fts_build): Store the length of the dp->d_name entry in a local variable
24032         instead of calling strlen() several times via the above, removed macro.
24033         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
24034         run by ~4%, yet this reduces the execution time by about a third if run
24035         via "ltrace -c rm -rf some-dir".
24037 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
24039         obstack: Remove ancient NeXTSTEP gcc support conditional
24040         This change will ease merging with glibc.  The "#if ... __NEXT__"
24041         causes a warning with -Wundef which glibc now enables by default.
24042         Problem reported by Will Newton in
24043         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
24044         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
24045         so go with that.
24046         * lib/obstack.h (__extension__):
24048 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
24050         obstack: merge with glibc changes
24051         * lib/obstack.c, lib/obstack.h: Merge from glibc.
24052         This is mostly indenting and commentary changes.
24053         Instances of 'register' have been removed.
24055 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
24057         strftime: wrap macros in "do {...} while(0)"
24058         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
24059         this macro in "do {...} while(0)" to prevent false use as a
24060         single statement, e.g., in an un-braced "{}" else-block.
24061         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
24062         (strftime_case_): Remove 'else' after 'goto' - which was the
24063         only non-fatal, un-braced use of one of the above macros.
24064         Spotted by coverity (NESTING_INDENT_MISMATCH).
24066 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
24068         modechange: avoid memory leaks for invalid octal modes
24069         * lib/modechange.c (mode_compile): During the parsing of
24070         notations like +40, free the 'mc' buffer for invalid mode
24071         strings like +17777 (greater than the maximum octal mode),
24072         =18 (bad octal mode characters) or u=1 ('affected' with
24073         octal modes).
24074         Reproducer, e.g.:
24075             $ valgrind --leak-check=full chmod +17777 file
24076         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
24077         add notations +40, 00440, etc.".
24078         Spotted by coverity (RESOURCE_LEAK).
24080 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
24082         gitlog-to-changelog: include a dummy git-log-fix file
24083         Problem reported by Nathan Stratton Treadway in:
24084         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
24085         * build-aux/git-log-fix: New file.
24087 2014-03-13  Jim Meyering  <meyering@fb.com>
24089         gitlog-to-changelog: also include the file, git-log-fix
24090         * modules/gitlog-to-changelog (Files): Add git-log-fix.
24091         Reported by Assaf Gordon.
24093 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
24095         regex: port to OS X 10.8.5 en_US.UTF-8 locale
24096         This fixes a bug when ignoring case and when comparing the
24097         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
24098         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
24099         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
24100         titlecase letter is neither lowercase nor uppercase, but
24101         uppercasing the titlecase letter (via towupper) yields the
24102         uppercase letter, so the two letters should match when ignoring case.
24103         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
24104         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
24105         Don't test whether a character is lowercase before uppercasing it.
24107 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
24109         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
24110         This is basically one of the options Bruno Haible proposed in:
24111         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
24112         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
24113         * lib/stdint.in.h: Use it.
24114         * modules/stdint (Depends-on): Add sys_types.
24116 2014-02-26  Pádraig Brady  <P@draigBrady.com>
24118         parse-datetime: fix crash or infloop in TZ="" parsing
24119         * lib/parse-datetime.y (parse_datetime): Break out of the
24120         TZ="" parsing loop once the second significant " is found.
24121         Also skip over any subsequent whitespace to be consistent
24122         with the non TZ= case.
24123         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
24125 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
24127         savedir: new symbol for fast-read version
24128         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
24129         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
24130         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
24131         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
24133 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
24135         unistd: port readlink to Mac OS X 10.3.9
24136         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
24137         around self-include problem in Mac OS X 10.3.9 when combined with
24138         readlink module.  Problem reported by Klaus Zietler in
24139         <http://bugs.gnu.org/16825>.
24141 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
24143         diffseq: remove TOO_EXPENSIVE heuristic
24144         Problem with diffutils reported by Vincent Lefevre in
24145         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
24146         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
24147         Although appropriate for circa-1993 hardware, these days the heuristic
24148         seems to be more trouble than it's worth.
24149         * lib/diffseq.h: Modernize citations.
24150         (struct context): Remove member too_expensive.
24151         All uses changed.
24152         (struct partition): Remove members lo_minimal, hi_minimal.
24153         All uses changed.
24154         (diag, compareseq): Remove arg find_minimal.  All uses changed.
24155         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
24156         1993 to make 'diff' run faster (but not as well) on large inputs.
24157         These days, computers are fast enough that it's typically better
24158         to run slower but more accurately.
24159         * lib/fstrcmp.c: Remove duplicate comment.
24160         * lib/fstrcmp.c (strcmp_bounded):
24161         * lib/git-merge-changelog.c (compute_differences):
24162         Adjust to diffseq.h changes.
24163         * NEWS: Document the change.
24165         savedir: simplify by using stpcpy
24166         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
24167         (streamsavedir): Use stpcpy instead.
24168         * modules/savedir (Depends-on): Add stpcpy.
24170 2014-02-21  Pádraig Brady  <P@draigBrady.com>
24172         spawn: fix link error on uclibc
24173         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
24174         to incorporate -lrt if needed (on uclibc for example).
24175         * modules/posix_spawn: Reference the substituted LIB.
24177 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
24178         timer: fix uClibc detection of threading
24179         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
24180         enabled in uClibc.
24182 2014-02-21  Eric Blake  <eblake@redhat.com>
24184         maintainer-makefiles: provide AC_PROG_SED for older autoconf
24185         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
24187 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
24189         exclude: add support for posix regexps
24191         This commit adds support for POSIX extended regular expressions
24192         and fixes a long-standing memory leak (pattern buffer was never
24193         freed).  It also implements a new interface function to read
24194         exclude patterns from a FILE, which passes an additional parameter
24195         to its callback function, thereby allowing to preserve its state
24196         between invocations.
24198         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
24199         (pattern_buffer): New struct.
24200         (exclude): New member patbuf.
24201         (exclude_add_pattern_buffer): New function.
24202         (free_exclude_segment): Free regexps.
24203         (free_exclude): Free allocated pattern buffers.
24204         (exclude_patopts): New function.
24205         (file_pattern_matches): Use exclude_patopts.
24206         (add_exclude): support regexps.
24207         (add_exclude_fp): New function.
24208         (add_exclude_file): Rewrite using add_exclude_fp.
24209         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
24210         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
24211         (add_exclude_fp)
24212         (add_exclude_file): Rewrite using add_exclude_fp.
24213         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
24214         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
24215         (add_exclude_fp)
24216         (exclude_add_pattern_buffer): New prototypes.
24217         * modules/exclude: Depends on regex and filename.
24219 2014-02-20  Eric Blake  <eblake@redhat.com>
24221         maintainer-makefiles: use $(SED) for syntax check
24222         * modules/maintainer-makefile (configure.ac): Check for sane sed.
24223         * top/maint.mk: Change sed to $(SED).
24225 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
24226             Paul Eggert  <eggert@cs.ucla.edu>
24228         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
24229         Patch based on an idea by Dick Streefland in
24230         <https://savannah.gnu.org/patch/?7892>.
24231         * NEWS: Document this.
24232         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
24233         (direntry_t, comparison_function): New types.
24234         (direntry_cmp_name): New function.
24235         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
24236         (streamsavedir, savedir): New arg OPTION.
24237         (streamsavedir): Simplify memory allocation.
24238         (fdsavedir): Remove.
24239         * lib/savedir.h (enum savedir_option): New type.
24240         (streamsavedir, savedir): New arg OPTION.
24241         (fdsavedir): Remove.
24243 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
24245         file-type: add support for doors and other less-common file types
24246         Problem with S_ISDOOR reported by Rich Burridge.
24247         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
24248         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
24249         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
24251 2014-01-23  Eric Blake  <eblake@redhat.com>
24253         pthread: work around winpthread header pollution on mingw
24254         * lib/time.in.h: Move pthread workarounds...
24255         * lib/pthread.in.h: ...here.
24256         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
24257         detect macro pollution on mingw.
24258         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
24260 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
24262         qacl: check for fchmod
24263         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
24264         and qset-acl.c both use HAVE_FCHMOD.
24266 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
24268         fdopen-tests: port to Tru64
24269         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
24270         descriptor that is not open, as POSIX doesn't specify the
24271         resulting behavior and the test does not work on Tru64.
24272         Problem reported by Steven M. Schweda in:
24273         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
24275         stdalign: port to HP-UX compilers
24276         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
24277         if __HP_cc or __HP_aCC are nonzero.
24279 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
24281         strtoimax: port to platforms lacking 'long long'
24282         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
24283         check whether strtoll is declared, which causes the C file to
24284         wrongly report an error.  Problem reported by Steven M. Schweda in:
24285         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
24286         * lib/strtoimax.c (strtoull):
24287         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
24288         (strtoll): Declare only if HAVE_LONG_LONG_INT.
24290 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
24292         relocatable-perl: fix texi syntax
24293         * doc/relocatable-maint.texi: Escape braces.
24295 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
24297         relocatable-perl: like relocatable-script, but for Perl scripts
24298         * build-aux/relocatable.pl.in: Add.
24299         * doc/relocatable-maint.texi: Add documentation.
24300         * modules/relocatable-perl: Add.
24302 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
24304         tests: fix export bug in previous patch
24305         Problem reported by Jim Meyering.
24306         * tests/init.sh (re_shell): New var, which is exported instead of
24307         re_shell_.
24309         tests: simplify porting to Solaris 10 /bin/sh
24310         Some test cases in 'grep' need a shell that groks '$(';
24311         export re_shell_ for their benefit.  Problem reported for 'grep'
24312         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
24313         * tests/init.sh (re_shell_): Export if it's used.
24315 2014-01-06  Eric Blake  <eblake@redhat.com>
24317         md5, sha1, sha256, sha512: support older autoconf
24318         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
24319         for autoconf < 2.63b.
24321         include_next: port to autoconf 2.63
24322         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
24324 2014-01-04  Jim Meyering  <meyering@fb.com>
24326         maint: add a gnulib-local rule to keep non-ascii out of .texi files
24327         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
24328         so that "make sc_maint" will ding anyone who puts non-ascii
24329         in any of gnulib's .texi files.
24331 2014-01-03  Jim Meyering  <meyering@fb.com>
24333         freadable, fwritable, fwriting: declare with the "pure" attribute
24334         * lib/freadable.h (freadable): Declare with the "pure" attribute.
24335         * lib/fwritable.h (fwritable): Likewise.
24336         * lib/fwriting.h (fwriting): Likewise.
24337         Suggested by Bruno Haible.
24339         maint.mk: adapt openat.h-include-without-use test
24340         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
24341         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
24342         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
24343         With this change, running "make sc_maint" in gnulib's top-level
24344         directory now passes for me.
24346 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
24348         doc: use ASCII in .texi files where UTF-8 isn't needed
24349         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
24350         * doc/posix-functions/setkey.texi, doc/regex.texi:
24351         Use ASCII input, not UTF-8.
24353 2014-01-02  Jim Meyering  <meyering@fb.com>
24355         freading: declare with the "pure" attribute
24356         * lib/freading.h (freading): Declare with the "pure" attribute.
24358         manywarnings: remove -Wmudflap
24359         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
24360         it is no longer supported in gcc-4.9-to-be.
24362 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
24364         relocatable-script: remove unused code
24365         Problem reported by Reuben Thomas in:
24366         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
24367         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
24369 2014-01-01  Jim Meyering  <meyering@fb.com>
24371         maint: fix public-submodule-commit to work with newer git
24372         * top/maint.mk (public-submodule-commit): Remove excess quoting.
24373         We were over-quoting the test arguments, and somewhere prior to
24374         version 1.8.5.2.229, git stopped removing those excess quotes,
24375         which made the test fail, since the unexpanded strings would
24376         always differ; using GIT_TRACE=1 confirmed that the git merge-base
24377         command wasn't even being run.
24379 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
24381         doc: update main copyright year
24382         * doc/gnulib.texi: Update copyright date.
24384 2014-01-01  Eric Blake  <eblake@redhat.com>
24386         version-etc: new year
24387         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
24388         * all files: run 'make update-copyright'
24390 2013-12-24  Eric Blake  <eblake@redhat.com>
24392         passfd: give nicer error for recvfd at eof
24393         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
24394         * tests/test-passfd.c (main): Enhance test to cover this.
24396 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
24398         gettimeofday: port recent C++ fix to Emacs
24399         Without this further patch, Emacs won't build due to
24400         the portcheck failing.  Also, this simplifies the patch a bit.
24401         * lib/time.in.h (localtime, gmtime): Don't replace unless
24402         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
24403         * lib/time.in.h (localtime, gmtime):
24404         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
24405         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
24406         * modules/time (time.h):
24407         Don't worry about the possibility of localtime and gmtime
24408         being absent; they're present in all C libraries we know about.
24409         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
24410         Don't assume sys_time is present and has been initialized.
24411         Instead, use a hack that should work even if it hasn't been.
24412         Don't use a portcheck for gmtime or localtime; this supports
24413         the hack.
24414         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
24416 2013-12-17  John W. Eaton  <jwe@gnu.org>
24418         gettimeofday: fix C++ crosscompilation
24420         Never replace gmtime and localtime by macros when compiling with
24421         C++, this prevents <ctime> from being included.
24423         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
24424         define gmtime and localtime as preprocessor macros.  Instead
24425         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
24426         REPLACE_LOCALTIME substitutions.
24427         * lib/time.in.h: Declare gmtime and localtime when needed.
24428         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
24429         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
24430         * modules/time: Depend on gettimeofday, and substitute the above
24431         variables in time.h.
24433 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
24435         qacl: port to Windows better
24436         See Eli Zaretskii in
24437         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
24438         * lib/file-has-acl.c (acl_access_nontrivial):
24439         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
24440         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
24442 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
24444         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
24445         * lib/gl_openssl.h: Cast void pointers to a specific type.
24447 2013-12-07  Pádraig Brady  <P@draigBrady.com>
24449         open-tests: fix build failure with -Werror=old-style-declaration
24450         * tests/test-open.h: Reorder the inline to avoid the issue.
24452 2013-12-07  Pádraig Brady  <P@draigBrady.com>
24454         md5, sha1, sha256, sha512: fix link error with partial libcrypto
24455         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
24456         init time, so that if early checks find crypto routines,
24457         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
24458         avoiding link failures.
24460 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
24462         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
24463         This provides a new way to specify the default for
24464         gl_CRYPTO_CHECK, one that is reflected in the --help message.
24465         Emacs uses this, as well as the old way.
24466         This attempts to implement a suggestion by Pádraig Brady in
24467         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
24468         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
24469         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
24471         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
24472         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
24473         Add support for a new option, --with-openssl=auto, which causes
24474         the library to be used if available and silently ignored if not.
24475         Add support to allow configure.ac to specify its own
24476         default, by setting with_openssl_default before invoking gl_INIT.
24478 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
24480         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
24481         Problem reported by Daiki Ueno in:
24482         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
24483         * tests/test-open.h (__always_inline):
24484         New macro, if not already defined.
24485         (test_open): Use it.
24487 2013-12-04  Eric Blake  <eblake@redhat.com>
24489         include_next: minimize code duplication
24490         * modules/include_next (Depends-on): Add absolute-header.
24491         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
24492         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
24494 2013-12-04  Pádraig Brady  <P@draigBrady.com>
24496         getcwd: fix compile error in configure check
24497         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
24499 2013-12-04  Pádraig Brady  <P@draigBrady.com>
24501         regex: suppress core dumps from detection code
24502         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
24503         to suppress core dumps that may well occur on glibc systems.
24504         These core dumps might not be cleaned up automatically, or could
24505         trigger some system core dump handling logic.
24507 2013-12-03  Pádraig Brady  <P@draigBrady.com>
24509         md5, sha1, sha256, sha512: support mandating use of openssl
24510         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
24511         description, to list the now 3 separate options.  also don't
24512         mention the default=no, since this is implicit given the option
24513         is described as --with-openssl rather than --without-openssl.
24514         If projects change the default they're free to document that.
24515         with --with-openssl[=yes] we now error out when the specified
24516         hash algorithm is not available in libcrypto.
24518 2013-12-03  Ivailo  <xakepa10@gmail.com>
24520         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
24521         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
24522         -Wformat-nonliteral checks, as these edge cases are part of the test.
24524 2013-12-03  Eric Blake  <eblake@redhat.com>
24526         regex: avoid glibc deadlock during configure
24527         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
24528         glibc bug 15078 in turn triggers bug 16159.
24529         Reported by Michal Privoznik.
24531 2013-12-02  Pádraig Brady  <P@draigBrady.com>
24533         md5, sha1, sha256, sha512: use openssl routines if available.
24534         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
24535         routines will be used if available, requiring apps to link @LIB_CRYPTO@
24536         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
24537         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
24538         in the standard system location.
24539         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
24540         * m4/sha256.m4: Likewise with SHA256.
24541         * m4/sha512.m4: Likewise with SHA512.
24542         * m4/md5.m4: Likewise with MD5.
24543         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
24544         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
24545         * lib/sha256.h: Likewise with SHA256.
24546         * lib/sha512.h: Likewise with SHA512.
24547         * lib/md5.h: Likewise with MD5.
24548         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
24549         * lib/sha256.c: Likewise with SHA256.
24550         * lib/sha512.c: Likewise with SHA512.
24551         * lib/md5.c: Likewise with MD5.
24552         * modules/crypto/sha1 (Link:): Add the new optional lib.
24553         (Depends-on:): Add dependency on extern-inline.
24554         * modules/crypto/sha256: Likewise.
24555         * modules/crypto/sha512: Likewise.
24556         * modules/crypto/md5: Likewise.
24557         * modules/crypto/sha1-tests: Reference the lib here too.
24558         * modules/crypto/md5-tests: Likewise.
24559         * modules/crypto/gc-des-tests: Likewise.
24560         * modules/crypto/gc-hmac-md5-tests: Likewise.
24561         * modules/crypto/gc-hmac-sha1-tests: Likewise.
24562         * modules/crypto/gc-hmac-sha256-tests: Likewise.
24563         * modules/crypto/gc-hmac-sha512-tests: Likewise.
24564         * modules/crypto/gc-md5-tests: Likewise.
24565         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
24566         * modules/crypto/gc-sha1-tests: Likewise.
24567         * modules/crypto/gc-tests: Likewise.
24568         * modules/crypto/hmac-md5-tests: Likewise.
24569         * modules/crypto/hmac-sha1-tests: Likewise.
24570         * modules/crypto/hmac-sha256-tests: Likewise.
24571         * modules/crypto/hmac-sha512-tests: Likewise.
24573 2013-11-29  RV1971  <rv1971@web.de>
24575         base64: (trivial) fix compilation regression on some compilers
24576         * lib/base64.c: Don't return the void function,
24577         instead split to a separate return statement.
24579 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
24581         ignore-value: revert previous code change
24582         * lib/ignore-value.h (ignore_value): Use __extension__ and
24583         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
24584         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
24585         Change the comment to try to explain this better.
24587 2013-11-27  Pádraig Brady  <P@draigBrady.com>
24589         selinux-h: improve stub types and add more stub functions
24591         * lib/se-selinux.in.h: Change security_context_t to a typedef
24592         rather than a define, as it's a pointer type and so is better
24593         as a typedef to avoid issues declaring multiple variables
24594         with the comma operator.  Also add stub for string_to_security_class().
24595         * lib/se-context.in.h: Add stub functions for
24596         context_{type,range,role,user}_get().
24598 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
24600         ignore-value: prefer GCC version back through 2.0
24601         The code didn't match the comments, so I did a bit of software
24602         archaeology.  GCC 2.0 seems to support __extension__ and
24603         __typeof__, so fix both code and comments to use 2.0.
24604         * lib/ignore-value.h (ignore_value): Use __extension__ and
24605         __typeof__ for GCC 2.0 through 3.3, too.
24607 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
24609         pty: Activate the signature wrapper of forkpty.
24610         The intended preprocessor macro HAVE_FORKPTY is
24611         never defined, yet `lib/forkpty.c' depends on it.
24613         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
24614         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
24615         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
24617 2013-11-18  Jim Meyering  <meyering@fb.com>
24618         and Paul Eggert  <eggert@cs.ucla.edu>
24620         quotearg: don't attempt to store 1 << 31 into an "int"
24621         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
24622         gcc's new -fsanitize=undefined and running its tests triggered some
24623         new test failures due to undefined behavior, all with this diagnostic:
24624           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
24625             cannot be represented in type int
24626         Rather than shifting "1" left to form a mask, shift the bits right and
24627         simply use "1" as the mask.
24629 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
24631         error: depend on stdio
24632         Problem reported by Nikos Mavrogiannopoulos in
24633         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
24634         * modules/error (Depends-on): Add stdio.
24636 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
24638         * doc/relocatable-maint.texi (Supporting Relocation): Improve
24639         wording.
24640         Reported by Reuben Thomas <rrt@sc3d.org>.
24642 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
24644         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
24645         New function and macro, to work around _DARWIN_C_SOURCE problem.
24646         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
24648 2013-11-11  Pádraig Brady  <P@draigBrady.com>
24650         base64: provide a fast path for encoding well sized buffers
24651         Avoid conditionals in the base64 encoding loop,
24652         which was seen to give 60% better throughput.
24653         * lib/base64.c (base64_encode_fast): A new function to be called
24654         when we don't want to NUL terminate, and we have enough space
24655         in the output to encode the given input.
24656         (base64_encode): Call the _fast() version when appropriate.
24657         Also remove a redundant mask with 0x3F on the first encoded byte.
24659 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
24661         extern-inline: port better to OS X 10.9
24662         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
24663         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
24664         OS X 10.9, except for g++ where the bug is still present.
24665         See <http://trac.macports.org/ticket/41033>.
24667 2013-11-08  Eric Blake  <eblake@redhat.com>
24669         fpending: fix regression on DragonFly BSD
24670         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
24671         * lib/fpending.h (__fpending): Don't declare twice.
24672         Reported by GW in
24673         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
24675 2013-11-05  Jim Meyering  <meyering@fb.com>
24677         hash: relax license to LGPLv2+, for libguestfs
24678         * modules/hash (License): Change from GPL to LGPLv2+.
24680 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
24682         intprops: port to Oracle Studio c99
24683         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
24684         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
24686 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
24688         obstack: pacify HP C
24689         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
24690         warning "conversion from pointer to smaller integer" from HP
24691         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
24692         C89 or later nowadays, so cast to void instead of int.  Privately
24693         reported by H.Merijn Brand.  Also, change header to match glibc's,
24694         to make checking against glibc easier.
24696 2013-10-29  Jim Meyering  <meyering@fb.com>
24698         maint.mk: prefer gpgv2 over gpgv
24699         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
24700         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
24701         Reported by Gary Vaughan.
24703 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
24705         isnan: port to VAX
24706         Reported by John Klos for NetBSD-5/VAX in
24707         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
24708         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
24709         (FUNC): Use it.
24711 2013-10-28  Jim Meyering  <meyering@fb.com>
24713         gnulib-tool: protect against CDPATH
24714         * gnulib-tool: Many "cd" built-in functions print a directory name
24715         to stdout when CDPATH is set, e.g.,
24716           $ bash -c 'CDPATH=/; cd tmp'
24717           /tmp
24718         Unset it, when possible.  Prompted by a comment from Bruce Korb.
24720         maint.mk: restore functionality removed by recent change...
24721         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
24722         the context of a shallow-cloned gnulib repository: "git describe"
24723         would fail in such a directory.  However, that change made it so
24724         the reported gnulib revision no longer includes the version number
24725         or a commit count, even when run from a full clone.
24726         * top/maint.mk (gnulib-version): Use the full "git describe"
24727         output when possible, e.g., the form above, rather than the
24728         abbreviated, no-tag, no-commit-count string, and fall back to
24729         using a 10-byte hash, rather than the default minimal-length
24730         hash prefix, since while the minimal-length one may be fine today,
24731         it is likely not to be unique for very long.
24733 2013-10-26  Jim Meyering  <meyering@fb.com>
24735         maint.mk: fix "release" target to build _version
24736         This fixes a bug in README-release whereby following the outlined
24737         steps, one would publish a tarball whose programs would report
24738         --version output not consistent with the package version number.
24739         This bug caused grep-2.15 to produce a grep program whose
24740         --version option made it print 2.14.56-1e3d rather than 2.15.
24741         * top/maint.mk (release): Making this target build "_version"
24742         ensures that the new version number is reflected in configure.
24744 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
24746         install-reloc: Support multi-binary installation.
24747         * build-aux/install-reloc: Support installing multiple programs in
24748         one invocation, as done by Automake starting with commit
24749         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
24750         Haible <bruno@clisp.org>, archived at
24751         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
24752         Reported by Sylvain <beuc@gnu.org>.
24754 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
24756         selinux-h: Really build without selinux when library is missing.
24757         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
24758         continue without selinux, as already told in the warning message.
24760 2013-10-21  Jim Meyering  <meyering@fb.com>
24762         regex: also remove dependency on HAVE_WCSCOLL
24763         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
24765 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
24767         xfreopen: Fix typo. s/frepoen/freopen/
24768         * lib/xfreopen.c: Fix description.
24769         * modules/xfreopen: Likewise.
24771 2013-10-21  Jim Meyering  <meyering@fb.com>
24773         regex: don't depend on wcscoll
24774         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
24775         It is no longer used.
24777 2013-10-20  Jim Meyering  <meyering@fb.com>
24779         error: add the printf attribute to a static function
24780         * lib/error.c (error_tail): Add the printf attribute, to placate
24781         gcc's -Werror=suggest-attribute=format option.
24783 2013-09-30  Jim Meyering  <meyering@fb.com>
24785         fpending, obstack, strerror-override: use pure+const function attrs
24786         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
24787         * lib/obstack.c (_obstack_allocated_p): Likewise.
24788         * lib/obstack.h (_obstack_memory_used): Likewise.
24789         (_obstack_memory_used): Likewise.
24790         * lib/strerror-override.h (strerror_override): Declare with
24791         the "const" attribute.
24793 2013-10-18  Eric Blake  <eblake@redhat.com>
24795         extern-inline: make safe for -Wundef usage
24796         Reported by Vladimir 'phcoder' Serbinenko in
24797         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
24798         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
24800 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
24802         mkfifo-tests, etc.: allow HP-UX 11.11 bug
24803         Problem reported by Daniel Richard G. in
24804         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
24805         * doc/posix-functions/mkfifo.texi (mkfifo):
24806         * doc/posix-functions/mkfifoat.texi (mkfifoat):
24807         * doc/posix-functions/mknod.texi (mknod):
24808         * doc/posix-functions/mknodat.texi (mknodat):
24809         Document the HP-UX 11.11 bug.
24810         * tests/test-mkfifo.h (test_mkfifo):
24811         Allow the HP-UX 11.11 bug.
24813 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
24815         acl: allow cross-compilation to Gentoo
24816         Problem reported by Gabriel Marcano in
24817         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
24818         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
24819         test only whether it links.
24821 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
24823         mgetgroups: remove dependency on realloc-gnu
24824         The dependency violates the comment in realloc-gnu, which
24825         says that tests can't depend on realloc-gnu; some tests depend
24826         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
24827         Problem reported by Daniel Richard G. in
24828         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
24829         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
24830         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
24831         not realloc-gnu.
24833 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
24835         regex-tests: port to HP-UX 11.11
24836         Problem reported by Daniel Richard G. in
24837         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
24838         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
24840 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24842         verify: document some 'assume' pitfalls
24843         * doc/verify.texi (Compile-time Assertions):
24844         Mention that 'assume (E)' can sometimes slow things down.
24845         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
24847 2013-10-10  Eric Blake  <eblake@redhat.com>
24849         strtoumax: fix typo in previous commit.
24850         * modules/strtoumax (Depends-on): Fix typo.
24851         * modules/strtoimax (Depends-on): Likewise.
24853 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24855         strtoumax: port to Solaris 8
24856         This problem was introduced in the recent HP-UX patch.
24857         Reported by Tom G. Christensen in
24858         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
24859         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
24860         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
24862 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
24864         strtoimax, strtoumax: port to HP-UX 11.11
24865         Problem reported by Daniel Richard G. in
24866         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
24867         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
24868         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
24869         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
24870         REPLACE_STRTOUMAX.
24871         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
24872         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
24873         Replace the function if defined as a macro but not as a function.
24874         * modules/inttypes-incomplete (inttypes.h): Substitute
24875         REPLACE_STRTOUMAX.
24876         * modules/strtoumax (configure.ac): Replace strtoumax if
24877         REPLACE_STRTOUMAX.
24879 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
24881         strtoimax: port to HP-UX 11.11
24882         Problem reported by Daniel Richard G.
24883         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
24884         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
24885         they might clash with inttypes.h.
24887 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
24889         New module 'count-trailing-zeros'.
24890         * MODULES.html.sh: Mention it.
24891         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
24892         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
24893         * modules/count-trailing-zeros-tests:
24894         * tests/test-count-trailing-zeros.c:
24895         New files.
24897         count-leading-zeros: port to MSC; support types wider than 64 bits
24898         The ideas behind the MSC port are stolen from Emacs.
24899         * lib/count-leading-zeros.h:
24900         Don't include verify.h: it's no longer needed, as types wider than
24901         64 bits are now supported.
24902         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
24903         performance with MSC.  All uses changed.  Do not assume that TYPE
24904         has at most 64 bits.
24905         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
24906         All uses changed.  Fold the subtraction from 31 into the table.
24908         count-one-bits: port to MSC; support types wider than 64 bits
24909         The ideas behind the MSC port are stolen from Emacs.
24910         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
24911         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
24912         Don't include verify.h: it's no longer needed, as types wider than
24913         64 bits are now supported.
24914         (COUNT_ONE_BITS_GENERIC): New macro.
24915         (popcount_supported) [_MSC_VER]: New inline function.
24916         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
24917         performance with MSC.  All uses changed.  Do not assume that TYPE
24918         has at most 64 bits.
24919         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
24921 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
24923         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
24924         * lib/mountlist.c (read_file_system_list): fix leak of directory
24925         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
24927 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
24929         tests: improve diagnostic when an assertion fails
24930         * tests/macros.h (ASSERT): Report the assertion that failed.
24932 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
24934         verify: new macro 'assume'
24935         This is taken from Emacs, and should be generally useful.
24936         * doc/verify.texi (assume): Document it.
24937         * lib/verify.h (assume): New macro.
24938         (__has_builtin): Expand to 0 if not defined.
24940 2013-09-26  Eric Blake  <eblake@redhat.com>
24942         dup2, dup3: work around another cygwin crasher
24943         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
24944         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
24945         * tests/test-dup2.c (main): Likewise.
24946         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
24947         * lib/dup3.c (dup3): Likewise.
24948         * doc/posix-functions/dup2.texi (dup2): Document it.
24949         * doc/glibc-functions/dup3.texi (dup3): Likewise.
24951         getdtablesize: work around cygwin issue
24952         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
24953         * modules/getdtablesize (configure.ac): Build replacement.
24954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
24955         * modules/unistd (Makefile.am): Expose the witness.
24956         * lib/unistd.in.h (getdtablesize): Declare replacement.
24957         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
24958         * tests/test-getdtablesize.c (main): Test it.
24959         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
24961 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
24963         pmccabe2html: escaping of special characters
24964         Escape all '<', '>', and '&' in HTML output.
24965         * build-aux/pmccabe2html (html_fnc): Call gsub()
24966         instead of sub() to capture all '<', '>', and '&'.
24967         Neither of '<' and '>' is special in a regexp,
24968         so first arguments to gsub() are corrected. Also,
24969         in replacement strings, ampersand must be escaped.
24970         Finally, '&' must be handled first, then '<' and '>'.
24972 2013-09-24  Eric Blake  <eblake@redhat.com>
24974         manywarnings: enable nicer gcc warning messages
24975         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
24976         some -f options for optimal warnings.
24978 2013-09-21  Jim Meyering  <meyering@fb.com>
24980         timespec: use the new TIMESPEC_RESOLUTION in a few more places
24981         * lib/timespec-add.c (timespec_add): Also replace 999999999
24982         with TIMESPEC_RESOLUTION - 1.
24983         * lib/timespec-sub.c (timespec_sub): Likewise.
24985 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
24987         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
24988         Problem reported by Dagobert Michelsen via Eric Blake in
24989         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
24990         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
24991         not AC_COMPILE_IFELSE.
24993 2013-09-23  Eric Blake  <eblake@redhat.com>
24995         configmake: support new --runstatedir option
24996         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
24997         even if autoconf was too old to provide the command line option.
24998         * modules/configmake (Makefile.am): Propagate it to .h file.
25000 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
25002         ctype, string: depend on extern-inline
25003         This is needed to complete the recent OS X fixes.
25004         Also, fix related documentation as suggested by Eric Blake.
25005         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
25006         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
25007         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
25008         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
25009         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
25010         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
25011         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
25012         * doc/posix-functions/toupper.texi:
25013         List the 'ctype' gnulib module.
25014         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
25015         * doc/posix-functions/strncpy.texi:
25016         List the 'string' gnulib module.
25017         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
25018         Add string.
25019         * modules/ctype, modules/string (Depends-on): Add extern-inline.
25021 2013-09-19  Pádraig Brady  <P@draigBrady.com>
25023         userspec: support optional parameters to parse_user_spec()
25024         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
25025         then avoid group processing and treat the full spec as a user.
25026         (parse_with_separator): Allow the USERNAME and GROUPNAME to
25027         be optional params (NULL), in which case they're ignored.
25029 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
25031         timespec: new function make_timespec, and new constants
25032         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
25033         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
25034         (make_timespec): New function.
25035         * lib/dtotimespec.c (dtotimespec):
25036         * lib/timespec-add.c (timespec_add):
25037         * lib/timespec-sub.c (timespec_sub):
25038         * lib/utimens.c (validate_timespec):
25039         * lib/utimensat.c (rpl_utimensat):
25040         Use these new constants and functions.
25042         stdio: OS X port of putc_unlocked + extern inline
25043         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
25044         * doc/posix-functions/putc_unlocked.texi:
25045         * doc/posix-functions/putchar_unlocked.texi:
25046         Document this portability problem.
25048         signal: OS X port of sigaddset etc. + extern inline
25049         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
25050         (sigismember): #undef on problematic Apple platforms.
25051         * doc/posix-functions/sigaddset.texi:
25052         * doc/posix-functions/sigdelset.texi:
25053         * doc/posix-functions/sigemptyset.texi:
25054         * doc/posix-functions/sigfillset.texi:
25055         * doc/posix-functions/sigismember.texi:
25056         Document this portability problem.
25058         extern-inline: do not always suppress extern inline on OS X
25059         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
25060         extern inline on Apple only if the particular compile-time
25061         configuration is known to have the problem.
25062         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
25063         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
25064         other Gnulib modules.
25066         extern-inline: document fixes for ctype and wctype macros
25067         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
25068         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
25069         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
25070         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
25071         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
25072         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
25073         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
25074         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
25075         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
25076         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
25077         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
25078         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
25079         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
25080         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
25081         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
25082         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
25083         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
25084         * doc/posix-functions/strncpy.texi:
25085         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
25086         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
25087         Document that Gnulib fixes portability problems with these
25088         functions on OS X 10.8 and earlier when called from plain inline
25089         or extern inline functions.
25091 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
25093         fflush, freadahead, fseeko: Fix for Android
25094         Suggested by Bruno Haible in:
25095         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
25096         * lib/stdio-impl.h: Use local __sfileext definition.
25098 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
25100         pmccabe2html: Portability to other awk versions.
25101         The functions systime() and strftime() are available
25102         in Gawk only.  Properly close two HTML-tags 'style'
25103         and 'span'.
25104         * build-aux/pmccabe2html (BEGIN): Store timing
25105         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
25106         systime() in HTML_COMMENT.
25107         (html_header): Correctly close tag 'style'.
25108         (END): Replace strftime() by CHRONOS_TIME.  Close
25109         tag 'span' correctly, not as 'div'.
25111 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
25113         getgroups: statement without effect
25114         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
25115         Change equality conditional to expected assignment.
25117 2013-09-09  Eric Blake  <eblake@redhat.com>
25119         glob: fix compilation
25120         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
25122 2013-09-07  Eric Blake  <eblake@redhat.com>
25124         glob: fix build for platforms without __THROW
25125         * lib/glob.in.h (__THROW): Add definition again.
25127 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
25129         regex-quote: fix buffer access out of bounds
25130         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
25131         * lib/regex-quote.c (regex_quote_spec_pcre):
25132         Fix typo that resulted in an out-of-bounds read.
25134 2013-09-04  Eric Blake  <eblake@redhat.com>
25136         glob: avoid -Wattribute warnings on glibc
25137         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
25138         __THROWNL, not __THROW, on static functions.
25139         * lib/glob.in.h (__THROW): Adjust...
25140         (__THROWNL): ...accordingly.
25142 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
25144         headers: check that _GL_INLINE_HEADER_BEGIN is defined
25145         Suggested by Bruce Korb in:
25146         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
25147         * doc/extern-inline.texi (extern inline):
25148         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
25149         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
25150         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
25151         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
25152         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
25153         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
25154         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
25155         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
25156         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
25157         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
25158         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
25159         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
25160         * lib/xtime.h:
25161         Check that _GL_INLINE_HEADER_BEGIN is defined.
25163 2013-08-29  Pádraig Brady  <P@draigBrady.com>
25165         bootstrap: remove the --version requirement from ancillary tools
25166         * build-aux/bootstrap (check_exists): A new refactored function to
25167         determine if a command exists.
25168         (find_tool): Use the new function which does not require the
25169         --version option to be supported.
25170         (check_versions): Use the new function.
25172 2013-08-26  Simon Josefsson  <simon@josefsson.org>
25174         gc: support HMAC-SHA256 and HMAC-SHA512.
25175         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
25176         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
25177         functions.
25178         (gc_hmac_md5): Use symbolic constant.
25179         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
25180         (gc_hmac_sha256, gc_hmac_sha512): New functions.
25181         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
25182         * m4/sha256.m4: Protect against empty expansion.
25183         * m4/sha512.m4: Likewise.
25184         * lib/hmac-sha256.c: New file.
25185         * lib/hmac-sha512.c: Likewise.
25186         * m4/gc-hmac-sha256.m4: Likewise.
25187         * m4/gc-hmac-sha512.m4: Likewise.
25188         * m4/gc-sha256.m4: Likewise.
25189         * m4/gc-sha512.m4: Likewise.
25190         * modules/crypto/gc-hmac-sha256: Likewise.
25191         * modules/crypto/gc-hmac-sha256-tests: Likewise.
25192         * modules/crypto/gc-hmac-sha512: Likewise.
25193         * modules/crypto/gc-hmac-sha512-tests: Likewise.
25194         * modules/crypto/hmac-sha256: Likewise.
25195         * modules/crypto/hmac-sha256-tests: Likewise.
25196         * modules/crypto/hmac-sha512: Likewise.
25197         * modules/crypto/hmac-sha512-tests: Likewise.
25198         * tests/test-gc-hmac-sha256.c: Likewise.
25199         * tests/test-gc-hmac-sha512.c: Likewise
25200         * tests/test-hmac-sha256.c: Likewise.
25201         * tests/test-hmac-sha512.c: Likewise
25203 2013-08-24  Daiki Ueno  <ueno@gnu.org>
25205         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
25206         of AC_CHECK_DECLS.
25208 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
25210         selinux-at: omit unnecessary include
25211         * lib/selinux-at.c: Don't include dosname.h; not needed, since
25212         this source file doesn't use its macros, and subsidiary files that
25213         use the macros already include it.
25215 2013-08-21  Eric Blake  <eblake@redhat.com>
25217         d-ino: avoid false negative on symlink
25218         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
25219         Reported by Stephane Chazelas.
25221 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
25223         bootstrap: port to OpenBSD sed
25224         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
25225         does not interpret `-' as a file argument to mean stdin.
25227 2013-08-15  Eric Blake  <eblake@redhat.com>
25229         warnings: minor optimization
25230         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
25232         warnings: check -Wfoo rather than -Wno-foo
25233         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
25234         -Wno-, test if the compiler recognizes the positive form instead.
25236 2013-08-15  Karl Berry  <karl@gnu.org>
25238         * config/srclist-update: add option "doclicense" to placate
25239         pulling *.texi files from Emacs.  Write terse usage
25240         documentation at the top.
25242 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
25244         xvasprintf-tests: port to GCC with hardening flags
25245         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
25246         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
25247         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
25249 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
25251         fpending: port to recent Cygwin change to stdio_ext.h
25252         Reported by LRN in
25253         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
25254         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
25255         just declare __fpending unless it's a macro.
25256         A duplicate decl shouldn't hurt.
25257         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
25258         call compiles and links, instead of separately checking for
25259         decl and lib function.
25260         * modules/fpending (configure-ac):
25261         Adjust to fpending.m4's renaming of shell variable.
25263 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25265         sys_time: port to OpenBSD
25266         * lib/sys_time.in.h: Simply delegate to the system's header
25267         in the BSDish cases as well.  Problem reported by Mike Miller in
25268         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
25269         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
25270         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
25271         wider than time_t.
25273 2013-08-09  Pádraig Brady  <P@draigBrady.com>
25275         bootstrap: support checksum utils having -c but not --status
25276         * build-aux/bootstrap: Only look for sha1sum if updating po files.
25277         Add sha1 to the list of supported checksum utils since it's now
25278         supported through adjustments below.
25279         (update_po_files): Remove the use of --status
25280         in a way that will suppress all error messages, but since this is
25281         only used to minimize updates, it shouldn't cause an issue.
25282         Exit early if there is a problem updating the po file checksums.
25283         (find_tool): Remove the check for --version support as this
25284         is optional as per commit 86186b17.  Don't even check for the
25285         presence of the command as if that is needed, it's supported
25286         through configuring prerequisites in bootstrap.conf.
25287         Prompt that when a tool isn't found, one can define an environment
25288         variable to add to the hardcoded search list.
25290 2013-08-05  Jim Meyering  <meyering@fb.com>
25292         regex: port to non-glibc/lock-using systems
25293         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
25294         system with GNULIB_LOCK would fail due to absence of the
25295         included "glthread/lock.h".  This would affect any package
25296         for which the "lock" module is used only by the regex module,
25297         and not explicitly used.
25298         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
25299         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
25300         Add a dependency on the "lock" module.
25302 2013-07-20  Daiki Ueno  <ueno@gnu.org>
25304         localecharset: make locale_charset thread-safe on Mac OS X
25305         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
25306         instead of MB_CUR_MAX.
25308 2013-07-20  Daiki Ueno  <ueno@gnu.org>
25310         gettext: update to version 0.18.3
25311         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
25312         require AC_PROG_SED to allow user to specify custom sed command when
25313         generating en@quot PO file.
25315 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
25317         bootstrap: use correct source when copying build-aux files
25318         * build-aux/bootstrap (gnulib_extra_files): This variable is
25319         relative to upstream gnulib layout, not downstream.
25321 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
25323         tmpdir: fix bug in VMS port
25324         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
25325         See Steven M. Schweda in
25326         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
25328 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
25330         tmpdir: port to VMS, to // != /, and to long dirs
25331         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
25332         __secure_getenv, so that we're more like the glibc version.
25333         All uses changed.
25334         (path_search): Don't put slash after directory if __VMS.
25335         Problem reported by Steven M. Schweda in
25336         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
25337         Simplify code to add slash; no need for a loop.
25338         Do not remove trailing slash from "//".
25339         Do not assume dlen <= INT_MAX.
25341 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
25343         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
25344         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
25345         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
25346         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
25348         accept4, dup3, pipe2: port to Cygwin
25349         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
25350         * lib/accept4.c (accept4) [O_BINARY]:
25351         * lib/dup3.c (dup3) [O_BINARY]:
25352         * lib/pipe2.c (pipe2) [O_BINARY]:
25353         Use set_binary_mode, not setmode.
25354         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
25355         * modules/binary-io (Depends-on): Remove module indicator.
25356         These last two bits undo the previous change to pipe2 and binary-io.
25358 2013-07-09  Pádraig Brady  <P@draigBrady.com>
25360         mountlist: add support for deallocating returned list entries
25361         * lib/mountlist.c (free_mount_entry): A new exported function
25362         to deallocate a mount list entry.
25363         (read_file_system_list): Refactor to use the new deallocation function.
25364         Suggested by Anton Ovchinnikov.
25366 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
25368         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
25369         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
25370         * lib/stdalign.in.h (_Alignas, _Alignof):
25371         Port to FreeBSD 9.1, and to C11 and C++11.
25372         (_Alignas): Also support ICC.
25373         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
25374         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
25376 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
25378         fnmatch: don't goto over declaration
25379         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
25380         undefined behavior for goto over a declaration.
25381         Problem reported by Charlie Brown in
25382         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
25384         pipe2: decouple from binary-io a bit
25385         This is for Emacs, which needs pipe2 but not binary-io.
25386         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
25387         * modules/binary-io (Depends-on): Add module indicator.
25389 2013-07-03  Eric Blake  <eblake@redhat.com>
25391         mgetgroups: relax license to LGPLv2+
25392         * modules/getugroups (License): Change from GPLv3+.
25393         * modules/mgetgroups (License): Likewise.
25394         * modules/getgroups (License): Change from LGPLv3+.
25396         xalloc-oversized: relax license to LGPLv2+
25397         * modules/xalloc-oversized (License): Change from GPLv3+.
25399         nproc: relax license to LGPLv2+
25400         * modules/nproc (License): Change from LGPLv3+.
25402         bootstrap: honor --no-git
25403         * build-aux/bootstrap: Don't even try to use git when user is
25404         pointing to a static checkout.
25406 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
25408         ignore-value: port to gcc -pedantic
25409         * lib/ignore-value.h (ignore_value):
25410         Port to gcc -pedantic, by using __extension__.
25411         Reindent as per usual gnulib style nowadays.
25412         Simplify GCC version check.
25414 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
25416         extern-inline: port to gcc -std=c89
25417         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
25418         Do not use __gnu_inline__ if pedantic and pre-C99.
25420 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
25422         doc: document extern-inline
25423         * doc/extern-inline.texi: New file.
25424         * doc/gnulib.texi (alloca-opt): Include it.
25425         * m4/extern-inline.m4: Move some comments to documentation,
25426         and others closer to what they describe.
25428         doc: chatter less
25429         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
25430         (updated-stamp): Use it.  This causes 'make' to output just
25431         one file name rather than zillions.
25433         fflush, fseeko: port to musl cross-compiles
25434         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
25435         on some implementation that (1) is not known to be buggy,
25436         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
25437         cross-compiled to so we can't easily check for lack of
25438         conformance.  This is for cross-compiling to musl.
25439         Reported by Rich Felker in
25440         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
25441         * m4/fclose.m4 (gl_FUNC_FCLOSE):
25442         * m4/fflush.m4 (gl_FUNC_FFLUSH):
25443         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
25444         Adjust to above change.
25445         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
25446         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
25447         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
25448         known not to work, or unknown.
25450 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
25452         msvc-inval: port to mingw-w64
25453         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
25454         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
25455         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
25457 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
25459         getcwd-lgpl: port to Tru64
25460         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
25461         Problem reported by Steven M. Schweda in
25462         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
25464         tests: port large-fd POSIX spawn tests to OS X
25465         Problem reported by Daiki Ueno in
25466         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
25467         * tests/test-posix_spawn_file_actions_addclose.c:
25468         * tests/test-posix_spawn_file_actions_adddup2.c:
25469         * tests/test-posix_spawn_file_actions_addopen.c:
25470         Include <limits.h>, for OPEN_MAX, if available.
25471         (big_fd): New static function.
25472         (main): Use it.
25474 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
25476         tests/nap.h: use an adaptive delay to avoid ctime update issues
25477         The recent change in nap.h (5191133e) decreased the probability of lost
25478         races to about a third, however such problems could still be observed
25479         in virtual machines and openSUSE's OBS.
25480         Before, nap() detected the needed time once empirically and then used
25481         that delay (together with a small correction multiplier) in further
25482         calls.  This problem has been reported and discussed several times,
25483         including guesses about possible kernel issues:
25484         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
25485         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
25486         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
25487         http://bugs.gnu.org/12820
25488         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
25489         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
25490         Now, nap() avoids the race alltogether by verifying on a reference
25491         file whether a timestamp difference has happened.
25492         * tests/nap.h (nap_fd): Define file descriptor variable for the
25493         witness file.
25494         (nap_works): Change return value to bool.  Change passing
25495         the old file's status by value instead of by reference as this function
25496         does no longer update that timestamp; rename the function argument from
25497         st to old_st.  Remove the local variables cdiff and mdiff because that
25498         function now returns true/false instead of the precise delay.
25499         (guess_delay): Remove function.
25500         (clear_tmp_file): Add new function to close and unlink the witness file.
25501         (nap): Instead of re-using the delay which has been calculated during
25502         the first call, avoid the race by actually verifying that a timestamp
25503         difference can be observed on the current file system.  Use an adaptive
25504         approach for the delay to minimize execution time.  Assert that the
25505         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
25506         = 2^31 - 1 = 2.1s.
25507         Use atexit to call clear_tmp_file when the process terminates.
25509 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
25511         sig2str: port to C++
25512         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
25513         Reported by Daniel J Sebald in
25514         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
25516 2013-05-30  Eric Blake  <eblake@redhat.com>
25518         docs: mention cygwin shortcoming in <sys/un.h>
25519         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
25521         vasnprintf: silence mingw compiler warning
25522         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
25524 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
25526         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
25527         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
25528         This fixes a porting bug I recently reintroduced in regex, and
25529         some other instances that I discovered while testing the fix.
25530         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
25531         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
25532         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
25533         with an empty argument if this is a pedantic pre-C99 GCC.
25534         * lib/verify.h: Do not use _Static_assert if this is a pedantic
25535         pre-C11 GCC.
25537         regex: adapt to locking regime instead of depending on pthread
25538         Instead of depending on pthread, adapt to whatever thread
25539         modules are in use.  Problem reported by Ludovic Courtès in
25540         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
25541         and by Mats Erik Andersson in
25542         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
25543         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
25544         Support either the 'lock' module, or the 'pthread' module, or
25545         no module.
25546         (lock_lock, lock_unlock): New macros.
25547         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
25548         * modules/lock, modules/pthread (configure.ac): Add module indicator.
25549         * modules/regex (Depends-on): Remove pthread.
25551 2013-05-22  Eric Blake  <eblake@redhat.com>
25553         getgroups: document portability issues
25554         * doc/glibc-functions/initgroups.texi (initgroups): Mention
25555         multithread safety.
25556         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
25557         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
25558         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
25559         getugroups.
25560         * doc/posix-functions/getgroups.texi (getgroups): Mention
25561         multithread safety and mgetgroups.
25563 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
25565         test-lchown, test-chown: also skip test if chown fails with EPERM
25566         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
25567         skip this test, to handle FAT file systems.
25568         * tests/test-chown.h (test_chown): Likewise.
25570 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
25572         regex: fix dfa race in multithreaded uses
25573         Problem reported by Ludovic Courtès in
25574         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
25575         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
25576         New macros.  All uses of __libc_lock_define, __libc_lock_init
25577         changed to use the first two of these.
25578         (__libc_lock_lock, __libc_lock_unlock): New macros, for
25579         non-glibc platforms.
25580         (struct re_dfa_t): Define the lock unconditionally.
25581         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
25582         '#ifdef _LIBC"s.
25583         * modules/regex (Depends-on): Add pthread, if we use the
25584         included regex.
25586         * lib/regcomp.c: Do actions that are not needed for glibc,
25587         but may be needed elsewhere.
25588         (regfree, re_compile_internal): Destroy the lock.
25589         (re_compile_internal): Check for lock-initialization failure.
25591         malloca: port to compilers that reject size-zero arrays
25592         This fixes a bug introduced in my previous patch.
25593         * lib/malloca.c (struct preliminary_header): Use an int
25594         rather than a character array of size int; that's simpler.
25595         (struct header): Remove, replacing with ...
25596         (union header): New type.  This avoids the need for declaring a
25597         character array of size zero, which is not allowed on some platforms.
25598         All uses changed.
25600 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
25602         parse-datetime, tests: don't use "string" + int
25603         Recent versions of 'clang' complain about C source code that
25604         uses expressions of the form '"string literal" + integer',
25605         I guess on the theory that it's confusing for readers who are
25606         used to C++.  On those grounds I suppose it's OK to make this
25607         minor style change.
25608         * lib/parse-datetime.y (parse_datetime):
25609         * tests/test-fchdir.c (main):
25610         * tests/test-snprintf-posix.h (test_function):
25611         * tests/test-snprintf.c (main):
25612         * tests/test-vasnprintf-posix.c (test_function):
25613         * tests/test-vasnprintf.c (test_function):
25614         * tests/test-vsnprintf.c (main):
25615         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
25616         Rewrite '"str" + E' to '&"str"[E]'.
25618 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
25620         argmatch: port to C++
25621         * lib/argmatch.h [__cplusplus]: Add extern "C".
25623         argp: typo fix
25624         * lib/argp-help.c: Typo in comment.
25626 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
25628         manywarnings: update for GCC 4.8.0
25629         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
25630         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
25631         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
25632         -Wmissing-noreturn, as they are duplicates of other warnings.
25633         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
25634         was documented to be flaky in earlier versions of GCC.
25636         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
25637         * tests/test-spawn.c (main):
25638         * tests/test-sys_socket.c (main):
25639         * tests/test-sys_wait.c (main):
25640         Don't have a switch value that isn't covered by a case.
25642         getaddrinfo-tests: port --enable-gcc-warnings to clang
25643         * tests/test-getaddrinfo.c (simple):
25644         Avoid casts from looser to stricter-aligned pointers.
25646         thread: port --enable-gcc-warnings to clang
25647         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
25648         Include <signal.h>, to pacify a warning about pthread_sigmask.
25650         stdio: use __REDIRECT for fwrite, fwrite_unlocked
25651         * lib/stdio.in.h (fwrite):
25652         When working around bug 11959, use __REDIRECT rather than '#define
25653         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
25654         fix the -Wunused-value issue with clang, and it works with GCC too.
25655         Problem with targeting reported by Eric Blake in
25656         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
25657         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
25658         debugging the fwrite issue.
25660         stdio: port --enable-gcc-warnings to clang
25661         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
25662         since the GCC workaround for fwrite does not pacify clang.
25664         sig2str: port --enable-gcc-warnings to clang
25665         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
25667         obstack: port --enable-gcc-warnings to clang
25668         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
25669         Avoid casts from looser to stricter-aligned pointers.
25671         memchr2: port --enable-gcc-warnings to clang
25672         * lib/memchr2.c (memchr2):
25673         Avoid casts from looser to stricter-aligned pointers.
25675         mbsstr: port --enable-gcc-warnings to clang
25676         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
25677         Avoid casts from looser to stricter-aligned pointers.
25679         malloca: port --enable-gcc-warnings to clang
25680         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
25681         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
25683         inttostr: port --enable-gcc-warnings to clang
25684         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
25686         warnings: port to clang
25687         Problem reported by Daniel P. Berrange via Eric Blake in
25688         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
25689         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
25690         (gl_WARN_ADD): Use it.
25692 2013-05-11  Jim Meyering  <meyering@fb.com>
25694         quotearg: do not read beyond end of buffer
25695         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
25696         end of an ARG for which no length was specified.  With an N-byte
25697         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
25698         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
25699         via coreutils' misc/sort-debug-keys.sh test and detected by running
25700         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
25701         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
25702         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
25703         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
25704         characters correctly."
25706 2013-05-11  Daiki Ueno  <ueno@gnu.org>
25708         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
25709         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
25710         compilation target is Mac OS X 10.6.
25711         Problem reported by parafin and Andoni Morales in
25712         <http://savannah.gnu.org/bugs/?37844> and
25713         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
25715 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
25717         mkdir-p: remove assumptions about umask and mode
25718         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
25719         umask is 0, or that MODE is a subset of MODE_BITS.
25721 2013-05-10  Eric Blake  <eblake@redhat.com>
25723         maint.mk: catch more abuse of HAVE_DECL in syntax-check
25724         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
25726 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
25728         deps: require Automake >= 1.9.6 in generated Makefile fragments
25730         That is the same minimal version required in the DEPENDENCIES file.
25731         Moreover, the old code generated a requirement of Automake >= 1.5,
25732         and that is an insanely outdated version.
25734         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
25735         * tests/havelib/rpathlx/Makefile.am: Likewise.
25736         * tests/havelib/rpathly/Makefile.am: Likewise.
25737         * tests/havelib/rpathlyx/Makefile.am: Likewise.
25738         * tests/havelib/rpathlz/Makefile.am: Likewise.
25739         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
25740         * tests/havelib/rpathx/Makefile.am: Likewise.
25741         * tests/havelib/rpathy/Makefile.am: Likewise.
25742         * tests/havelib/rpathz/Makefile.am: Likewise.
25744 2013-05-08  Eric Blake  <eblake@redhat.com>
25746         bootstrap: AC_INIT may have more than four parameters
25747         * build-aux/bootstrap (extract_package_name): Correctly extract
25748         non-empty tarname field.  Avoid range in regex.
25749         Based on a report by Sami Kerola <kerolasa@iki.fi>.
25751 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
25753         qacl: port to MS-Windows port of GNU Emacs
25754         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
25755         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
25756         port of GNU Emacs.  Problem reported by Eli Zaretskii in
25757         <http://bugs.gnu.org/14295#14>.
25759 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
25761         acl: include quote.h
25762         * lib/copy-acl.c: Include quote.h.
25763         * lib/set-acl.c: Likewise.
25765 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
25767         fchownat, renameat, unlinkat: update statat dependencies
25768         These modules use statat and lstatat, not fstatat; so depend on
25769         the statat module, which was split out recently from fstatat.
25770         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
25771         * modules/renameat: Likewise.  Also delete fstat.
25772         URL: http://bugs.gentoo.org/468790
25774 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
25776         Assume gnulib is checked out from Git, not CVS
25778         In fact, access to the gnulib repository through CVS has been
25779         disabled, or more precisely, got broken and was never restored; see:
25780         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
25782         Note that support for CVS is not removed completely and unthinkingly
25783         by this change: only support for CVS checkouts of gnulib itself is
25784         removed.  For example, the 'bootstrap' script still cater to .cvsingore
25785         files and CVS directories, for the benefit of those poor gnulib clients
25786         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
25788         * gnulib-tool: Simplify accordingly.
25789         * posix-modules: Likewise.
25790         * MODULES.html.sh: Likewise.
25791         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
25792         repository.
25793         * doc/gnulib-intro.texi: Likewise.
25794         * doc/gnulib-readme.texi: Likewise.
25795         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
25796         sample '.gitignore' file rather than a sample '.cvsignore'.
25797         * NEWS: Update.
25798         * m4/extensions.m4: While at it, remove a comment mistakenly referring
25799         to "CVS Autoconf" rather than "git Autoconf".
25801 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
25803         utimensat-tests, etc.: try to fix some races
25804         Problem reported by Bernhard Voelker in
25805         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
25806         I don't know whether this patch fixes that race condition, but it
25807         fixes *some* race conditions, so it should be a win.
25808         * modules/chown-tests (Depends-on):
25809         * modules/fchownat-tests (Depends-on):
25810         * modules/fdutimensat-tests (Depends-on):
25811         * modules/futimens-tests (Depends-on):
25812         * modules/lchown-tests (Depends-on):
25813         * modules/stat-time-tests (Depends-on):
25814         * modules/utimens-tests (Depends-on):
25815         * modules/utimensat-tests (Depends-on):
25816         Depend on nanosleep, not usleep.
25817         * modules/chown-tests (test_chown_LDADD):
25818         * modules/lchown-tests (test_lchown_LDADD):
25819         * modules/stat-time-tests (test_stat_time_LDADD):
25820         New macro.
25821         * modules/fchownat-tests (test_fchownat_LDADD):
25822         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
25823         * modules/futimens-tests (test_futimens_LDADD):
25824         * modules/utimens-tests (test_utimens_LDADD):
25825         * modules/utimensat-tests (test_utimensat_LDADD):
25826         Add $(LIB_NANOSLEEP).
25827         * modules/stat-time-tests (Files): Add tests/nap.h.
25828         * tests/nap.h: Include <limits.h>, for INT_MAX.
25829         (lt_mtime): Remove.
25830         (diff_timespec): New function.
25831         (get_stat): Rename from get_mtime.  All callers changed.
25832         (nap_works): Determine the needed delay by inspecting the
25833         file system's timestamp jumps; this should be more reliable.
25834         Look at both mtime and ctime, and take the maximum of the two jumps.
25835         (nap_works, guess_delay):
25836         Return a nanosecond count, not a microsecond count.
25837         All callers changed.
25838         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
25839         failure.
25840         (nap): Multiply the guess by 1.125, to accommodate the case where
25841         the file system's clock is a bit slower than nanosleep's clock.
25842         * tests/test-stat-time.c (BASE): New macro.
25843         Include nap.h.
25844         (nap): Remove; nap.h now defines this.  This removes a duplicate
25845         implementation of 'nap'.
25847         utimens, utimensat: work around Solaris UTIME_OMIT bug
25848         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
25849         Linux kernel 2.6.32 does.  Work around it in the same way.
25850         * doc/posix-functions/futimens.texi (futimens):
25851         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
25852         * lib/utimens.c (fdutimens, lutimens):
25853         * lib/utimensat.c (rpl_utimensat): Work around the bug.
25855         gettext: now it's your responsibility to add -I$(top_builddir)/intl
25856         Formerly, it was your responsibility to do this for all Makefile.ams
25857         other than Gnulib's.  Now it's your responsibility to do it for
25858         Gnulib's Makefile.am, too.
25859         * NEWS: Document this.
25860         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
25862         acl: include errno.h to get errno
25863         Reported by Daiki Ueno in
25864         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
25865         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
25867 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
25869         tests: don't assume getdtablesize () <= 10000000
25870         * modules/cloexec-tests:
25871         * modules/dup2-tests:
25872         * modules/dup3-tests:
25873         * modules/nonblocking-tests:
25874         * modules/posix_spawn_file_actions_addclose-tests:
25875         * modules/posix_spawn_file_actions_adddup2-tests:
25876         * modules/posix_spawn_file_actions_addopen-tests:
25877         * modules/unistd-safer-tests:
25878         Depend on the getdtablesize module.
25879         * tests/test-cloexec.c:
25880         * tests/test-dup-safer.c:
25881         * tests/test-dup2.c:
25882         * tests/test-dup3.c:
25883         * tests/test-fcntl.c:
25884         * tests/test-nonblocking.c:
25885         * tests/test-posix_spawn_file_actions_addclose.c:
25886         * tests/test-posix_spawn_file_actions_adddup2.c:
25887         * tests/test-posix_spawn_file_actions_addopen.c:
25888         Don't assume getdtablesize () <= 10000000.
25890 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
25892         extern-inline: work around bug in Sun c99
25893         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
25894         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
25896 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
25898         qacl: new module, broken out from the acl module
25899         This is for GNU Emacs, which wants the acl functions but does
25900         not want 'error' invoked when they fail.
25901         * lib/acl-internal.h: Do not include error.h, quote.h.
25902         (ENOSYS, ENOTSUP): Remove; no longer needed.
25903         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
25904         * lib/acl.h: Include <stdbool.h>.
25905         (acl_errno_valid): New function.
25906         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
25907         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
25908         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
25909         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
25910         (ACL_INTERNAL_INLINE): Remove; no longer needed.
25911         * lib/file-has-acl.c (file_has_acl):
25912         * lib/qcopy-acl.c (qcopy_acl):
25913         * lib/qset-acl.c (qset_acl):
25914         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
25915         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
25916         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
25917         lib/file-has-acl.c, m4/acl.m4 to qacl module.
25918         Add lib/set-acl.c.
25919         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
25920         Add qacl.
25921         (configure.ac): Move gl_FUNC_ACL to qacl module.
25922         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
25923         Rename set-mode-acl.c to set-acl.c.
25924         * lib/acl-errno-valid.c: New file.
25925         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
25926         copy_acl function remains in copy-acl.c.
25927         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
25928         (_): Remove; not needed.
25929         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
25930         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
25931         * modules/qacl: New file, moved from the old modules/acl.
25932         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
25933         Remove set-mode-acl.c, copy-acl.c.
25934         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
25936         alignof, intprops, malloca: port better to IBM's C compiler
25937         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
25938         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
25939         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
25941 2013-04-25  Daiki Ueno  <ueno@gnu.org>
25943         wctype-h: fix gettext link error on mingw
25944         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
25945         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
25946         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
25947         rpl_towupper and rpl_towupper.
25949 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
25951         regex-tests, regex: allow glibc re_search behavior
25952         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
25953         re_search input data to make the multi-character collating element
25954         in it clearly visible, and treat re_search return code 0 as valid.
25955         * m4/regex.m4 (gl_REGEX): Likewise.
25957 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
25959         stdalign: doc fix
25960         * doc/posix-headers/stdalign.texi (stdalign.h):
25961         Gnulib doesn't support '_Alignof expr'.
25963 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
25965         stdalign: port to stricter ISO C11
25966         ISO C11 says that _Alignof's operand must be a parenthesized type.
25967         Problem reported by Eli Zaretskii in
25968         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
25969         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
25970         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
25972 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25974         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
25975         Problem reported by Marco Atzeri in
25976         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
25977         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
25978         Simply delegate to the system <sys/select.h> in this case too.
25979         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
25980         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
25981         be needed on Solaris either.
25982         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
25983         Simply delegate to the system <sys/time.h> in this case.
25985 2013-03-19  Karl Berry  <karl@gnu.org>
25987         * build-aux/gnupload: check for erroneous (with gnupload) use of
25988         ftp-upload.gnu.org, tweak help.
25990 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25992         copy-file, rpmatch: fix problems found by cppcheck
25993         Reported by Arno Onken in
25994         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
25995         * lib/rpmatch.c (try): Fix memory leak.
25996         * lib/copy-file.c: Include "ignore-value.h".
25997         (qcopy_file_preserving): Ignore chown value.
25998         * modules/copy-file (Depends-on): Add ignore-value.
26000 2013-01-27  Jim Meyering  <jim@meyering.net>
26002         prefix-gnulib-mk: give better diagnostics
26003         * build-aux/prefix-gnulib-mk: Don't just "die".
26004         Give better diagnostics upon failure.
26006 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
26008         putenv: port to Solaris 10
26009         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
26010         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
26011         is not what is wanted here.
26012         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
26013         declaration, not for its existence.
26015 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
26017         mktime: fix configure typo
26018         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
26020 2013-03-12  Eric Blake  <eblake@redhat.com>
26022         regex-tests: skip UTF-8 test on mingw
26023         * modules/regex-tests (Depends-on): Add localcharset.
26024         * tests/test-regex.c (main): Use it to skip test on mingw.
26026 2013-03-11  Eric Blake  <eblake@redhat.com>
26028         tests: make it easier to bypass alarm time in debugger
26029         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
26030         * tests/test-memmem.c (main): Likewise.
26031         * tests/test-passfd.c (main): Likewise.
26032         * tests/test-ptsname.c (main): Likewise.
26033         * tests/test-ptsname_r.c (main): Likewise.
26034         * tests/test-strcasestr.c (main): Likewise.
26035         * tests/test-strstr.c (main): Likewise.
26037         regex: port to mingw's recent addition of undeclared alarm
26038         * doc/posix-functions/alarm.texi (alarm): Document that alarm
26039         exists but still doesn't work in newer mingw.
26040         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
26041         not existence.  Ensure SIGALRM is not trapped.
26042         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
26043         * m4/regex.m4 (gl_REGEX): Likewise.
26044         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
26045         * tests/test-regex.c (main): Use correct probe for alarm.
26047         putenv: avoid compilation warning on mingw
26048         * lib/putenv.c (_unsetenv): Protect variable declaration.
26049         (putenv): Fix indentation.
26051 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
26053         unistd: don't prevent Tru64 Unix from using gnulib strtod.
26054         * lib/unistd.in.h: be careful not to include un-needed system
26055         stdlib.h from here, because that prevents gnulib stdlib.h from
26056         defining rpl_strtod correctly.
26058 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
26060         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
26061         changesets, but for the 'precision 0' test.
26062         * tests/test-vasprintf-posix.c (test_function): Don't insist on
26063         round-to-even, since POSIX says rounding is implementation-defined
26064         and OS X 10.8.2 rounds 1.51 to 1 here.
26066         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
26067         changeset.
26068         * tests/test-vasprintf-posix.c (test_function): Don't insist on
26069         round-to-even, since POSIX says rounding is implementation-defined
26070         and OS X 10.8.2 rounds 1.5 to 1 here.
26072 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
26074         vasnprintf-posix-tests: allow rounding 1.5 to 1
26075         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
26076         round-to-even, since POSIX says rounding is implementation-defined
26077         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
26078         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
26080         bootstrap: port to FreeBSD
26081         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
26082         that treat '--' differently.  Reported by Mats Erik Andersson in
26083         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
26085 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
26087         regex: rename remaining __attribute calls to __attribute__.
26088         2012-02-25 changed definition of __attribute, but left some uses
26089         unchanged, preventing compilation of regex module on most non-gcc
26090         environments.
26091         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
26092         (lookup_collation_sequence_value, build_range_exp)
26093         (build_collating_symbol): Set attributes with newly renamed
26094         __attribute__ decorator.
26095         * lib/regex_internal.c (re_string_peek_byte_case)
26096         (re_node_set_compare, re_node_set_contains): Likewise.
26097         * lib/regexec.c (acquire_init_state_context): Likewise.
26099 2013-03-06  Bruno Haible  <bruno@clisp.org>
26101         execute: Revert last change, but use a different condition.
26102         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
26103         on Windows.
26105 2013-03-05  Eric Blake  <eblake@redhat.com>
26107         execute: drop dead code
26108         * lib/execute.c (nonintr_close, nonintr_open): Delete.
26110 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
26112         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
26113         * m4/non-recursive-gnulib-prefix-hack.m4
26114         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
26115         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
26116         <http://bugs.gnu.org/10305#237>.
26118 2013-03-04  Eric Blake  <eblake@redhat.com>
26120         test-getsockopt: avoid compiler warning
26121         * tests/test-getsockopt.c (includes): Ensure close is declared.
26123 2013-03-02  Bruno Haible  <bruno@clisp.org>
26125         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
26126         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
26128 2013-03-02  Bruno Haible  <bruno@clisp.org>
26130         gettext: Update to version 0.18.2.
26131         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
26132         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
26133                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
26135 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
26137         regex: merge patches from libc
26139         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
26140         * lib/regex_internal.h (__attribute__): Rename from __attribute.
26141         All uses changed.
26142         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
26143         (re_string_wchar_at, re_string_elem_size_at):
26144         Mark function as possibly unused.
26146         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
26147         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
26148         elements compare against the byte sequence of it, not its name.
26150 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
26152         putenv: port better to native Windows
26153         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
26154         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
26155         (_unsetenv): Use _putenv if available.
26156         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
26157         a bit less likely to cause damage.
26158         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
26159         Fix the wrong value with SetEnvironmentVariable.
26160         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
26161         code better.
26163 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26165         regex: ignore old-style-definition warnings
26166         * lib/regex.c: Add pragma to ignore these warnings.
26167         Problem reported for GNU tar by Pavel Raiskup.
26169 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26171         getcwd: support coreutils better
26172         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
26173         but this might not be correct in coreutils, which disables
26174         the raw decl checks.  Problem reported by Nagendra in
26175         <http://bugs.gnu.org/10305#192>.
26176         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
26177         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
26178         Test the getcwd function, not any macro, since getcwd.c wants the
26179         function.
26180         * m4/getcwd.m4 (gl_FUNC_GETCWD):
26181         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
26182         compile, as might happen if there's a macro but no function.
26184         strtod: support coreutils better
26185         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
26186         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
26187         disables the raw decl checks.  This assumes there is an underlying
26188         strtod, but that's a safe assumption these days.
26189         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
26191         mountlist: port to HP NonStop
26192         Reported by Joachim Schmitz in
26193         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
26194         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
26195         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
26197 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
26199         extern-inline: avoid compilation error with HP-UX cc
26200         Reported by Richard Lloyd in
26201         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
26202         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
26203         Suppress extern inline with HP-UX cc.  This should be safe,
26204         though it may hurt performance.  Perhaps someone with some HP-UX
26205         experience can come up with a higher-performance fix.
26207 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
26209         putenv: fix heap corruption with mixed putenv/_putenv
26210         Problem reported by Michael Goffioul in
26211         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
26212         * lib/putenv.c (putenv) [HAVE__PUTENV]:
26213         Rely on _putenv to allocate the new environment.
26214         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
26215         * modules/putenv (configure.ac): Use it.
26217 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
26219         unsetenv etc.: port to Solaris 11 + GNU Emacs
26220         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
26221         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
26222         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
26223         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
26224         idea but is too painful to fix right now), and without this gnulib
26225         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
26226         compiling unsetenv.c on Solaris 11.  Fix the problem for
26227         unsetenv.c, and fix other similar occurrences.
26229 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
26231         secure_getenv: fix C++ declaration typo
26232         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
26233         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
26234         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
26236 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
26238         careadlinkat: stop exporting careadlinkatcwd
26239         Only Emacs used it directly, and Emacs no longer needs it.
26240         * NEWS: Document this simplification.
26241         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
26242         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
26243         for readlink.
26244         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
26245         Don't include stdlib.h; no longer needed.
26246         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
26247         * lib/relocwrapper.c: Adjust comment to match new dependencies.
26248         * modules/areadlink (Depends-on): Add readlink.
26249         (Maintainer): Add self.
26250         * modules/careadlinkat (Depends-on): Remove readlink.
26252         extensions: port better to HP-UX
26253         This is merged from git Autoconf.
26254         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
26255         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
26256         so that it's compatible with the value used when compiling.
26258         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
26259         Problem reported by Mats Erik Andersson in
26260         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
26261         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
26262         openpty function exists, not merely when we intend to replace it.
26263         This corrects the 2013-01-31 patch, which mistakenly defined
26264         HAVE_OPENPTY even on hosts that lacked it.
26266 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
26268         secure_getenv: fix include typo
26269         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
26271         secure_getenv: port better to FreeBSD and Solaris
26272         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
26273         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
26274         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
26275         This works better on BSDish platforms.
26276         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
26277         Test for issetugid if __secure_getenv is missing.
26279 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
26281         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
26282         Some of these changes are merged in from git Autoconf.
26283         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
26284         When deciding whether to define _XOPEN_SOURCE, inspect the
26285         preprocessor macro __hpux instead of the more-heavyweight
26286         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
26287         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
26288         as the key for __EXTENSIONS__.
26290         unistd: avoid namespace pollution on non-glibc systems
26291         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
26292         This avoids namespace pollution on non-glibc systems, by causing
26293         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
26294         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
26295         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
26297 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
26299         tmpdir: use secure_getenv
26300         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
26301         Define to secure_getenv, not getenv.
26302         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
26303         as that's now secure_getenv's job.
26304         * modules/tmpdir (Depends-on): Add secure_getenv.
26306         tempname: use secure_getenv
26307         * lib/tempname.c (__secure_getenv) [!_LIBC]:
26308         Define to secure_getenv, not getenv.
26309         * modules/tempname (Depends-on):
26310         Add secure_getenv.
26312         secure_getenv: new module
26313         * MODULES.html.sh (Extra functions based on ANSI C 89):
26314         Add secure_getenv.
26315         * doc/glibc-functions/secure_getenv.texi: New file.
26316         * doc/gnulib.texi: Include it.
26317         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
26318         New files.
26319         * lib/stdlib.in.h (secure_getenv): New decl.
26320         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
26321         * modules/stdlib (stdlib.h):
26322         Add secure_getenv checks.
26324 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
26326         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
26327         Reported for OS X 10.8.2 by Assaf Gordon in
26328         <http://bugs.gnu.org/13516>.
26329         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
26330         !HAVE_OPENAT && !HAVE_FDOPENDIR.
26331         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
26332         so that they can be kept in sync more easily.  Avoid PATH_MAX
26333         test on the Hurd.  Sync from test-getcwd.c for errno tests after
26334         mkdir or chdir failure.
26335         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
26336         lib/getcwd.c.
26337         (test_abort_bug): Do not test for the deep directory bug unless we
26338         have openat support.  Avoid PATH_MAX test on the Hurd.
26340         regex-tests, regex: fix bug: memset undeclared
26341         * tests/test-regex.c: Don't include regex.h twice.  Include
26342         string.h, to declare memset.  Christensen's report also mentioned
26343         this issue.
26344         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
26345         test-regex.c, to avoid future problems like this.  Remove
26346         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
26347         twice.
26349         regex-tests: fix link errors on older Solaris
26350         These need to link with @LIBINTL@ to get libintl_gettext.
26351         Problem reported by Tom G. Christensen in
26352         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
26353         * modules/regex-tests (test_regex_LDADD): New macro.
26355 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
26357         regex-tests: new module
26358         * modules/regex-tests, tests/test-regex.c: New files.
26360         regex: fix off-by-one error in configure test
26361         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
26363 2013-01-31  Eric Blake  <eblake@redhat.com>
26365         regex: avoid infinite configure test
26366         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
26368 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
26370         openpty: fix bug where HAVE_OPENPTY wasn't defined
26371         See the thread starting at:
26372         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
26373         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
26374         openpty function exists, not merely when we intend to replace it.
26376 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
26378         sys_time: port to Solaris 2.6
26379         There is a circularity problem on Solaris 2.6, where <time.h> includes
26380         <sys/time.h> for struct timespec.  The include nesting is gnulib
26381         <time.h>, system <time.h>, gnulib <sys/time.h>, system
26382         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
26383         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
26384         <sys/siginfo.h>; the last, innermost file needs struct
26385         timestruc_t, which is defined in <sys/time.h>, which has not been
26386         fully parsed.  Problem reported by Tom G. Christensen in
26387         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
26388         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
26389         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
26390         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
26391         uses split double-inclusion guards.
26393 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
26395         regex: test for buffer overrun
26396         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
26397         for the just-fixed regex bug.
26399 2013-01-29  Andreas Schwab  <schwab@suse.de>
26401         regex: fix buffer overrun in regexp matcher [BZ #15078]
26402         * lib/regexec.c (extend_buffers): Add parameter min_len.
26403         (check_matching): Pass minimum needed length.
26404         (clean_state_log_if_needed): Likewise.
26405         (get_subexp): Likewise.
26407 2013-01-28  Pádraig Brady  <P@draigBrady.com>
26409         mountlist: don't consider "devtmpfs" as dummy
26410         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
26411         as there is storage associcated with it.
26413 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26415         futimens-tests, utimens-tests: Depend on gettext.
26416         This works around a problem introduced in my 2013-01-12 patch,
26417         which added @LIBINTL@ to these modules.
26418         * modules/futimens-tests (Depends-on):
26419         * modules/utimens-tests (Depends-on): Add gettext.
26421 2013-01-26  Eric Blake  <eblake@redhat.com>
26423         test-getpeername: fix typo
26424         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
26426 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
26428         bootstrap: remove the need for a sorted .gitignore file
26429         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
26430         rename to insert_if_absent(), so that we don't need or generate
26431         a sorted .gitignore file.  We do require a .gitignore with no
26432         existing duplicate entries and enforce that.
26433         (sort_patterns): Remove this function as we now use the simpler
26434         technigue of inserting blacklist entries at the top of the file,
26435         assuming gnulib won't be inserting !whitelist entries.
26437 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26439         readlinkat: don't depend on gl_FUNC_OPENAT
26440         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
26441         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
26442         renameat.m4, symlinkat.m4; but one thing at a time.
26444         statat: new module, split out from fstatat
26445         GNU Emacs needs the POSIX-specified fstatat, but not the
26446         gnulib-specified statat and lstat.  Split the latter two into a
26447         new module 'statat'.
26448         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
26449         * lib/openat.h, lib/statat.c (STATAT_INLINE):
26450         Rename from FSTATAT_INLINE. All uses changed.
26451         * modules/fstatat (Files): Remove lib/statat.c.
26452         (gl_MODULE_INDICATOR([fstatat])): Remove.
26453         (lib_SOURCES): Remove.
26454         (Maintainer): Add self.
26455         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
26456         * tests/test-fstatat.c (BASE): Don't define if already defined.
26457         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
26459 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
26461         tests: don't assume fd 99 is closed
26462         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
26463         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
26464         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
26465         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
26466         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
26467         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
26468         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
26469         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
26470         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
26471         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
26472         * tests/test-fwrite.c, tests/test-getpeername.c:
26473         * tests/test-getsockname.c, tests/test-getsockopt.c:
26474         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
26475         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
26476         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
26477         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
26478         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
26479         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
26480         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
26481         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
26482         * tests/test-unlinkat.c, tests/test-unlockpt.c:
26483         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
26484         Close file descriptor 99, instead of assuming it's already closed.
26486 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
26488         stpncpy: port to OS X 10.8
26489         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
26490         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
26492 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
26494         unistd: port to recent mingw
26495         * lib/unistd.in.h: Remove special invocation convention for mingw,
26496         which breaks for the latest mingw version.  See John W. Eaton in
26497         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
26499         largefile: port better to Mac OS X 10.5
26500         This patch is backported from Autoconf git.
26501         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
26502         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
26503         with ino_t size being different for configuration time versus
26504         build/run time.  Problem reported by PHO in
26505         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
26507 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
26509         doc: clarify -Werror
26510         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
26511         clarify that it's intended for developers, not for ordinary builds,
26512         and mention --enable-gcc-warnings as one possible use.
26514 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
26516         stdint: fix build with Android's Bionic fox x86
26517         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
26518         was already included as _SSIZE_T_DEFINED_ might also be defined
26519         in include/machine/_types.h, which is included by stdio.h
26521 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
26523         net_if-tests: port to Solaris 7 + GCC 3.4.6
26524         Problem reported by Tom G. Christensen in
26525         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
26526         * tests/test-net_if.c (ni): Move to next the code that uses it,
26527         so that it's declared only if needed.
26529 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
26531         net_if-tests: port to older Solaris
26532         Problem reported by Tom G. Christensen in
26533         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
26534         * modules/net_if-tests (NET_IF_LIB): New substitution.
26535         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
26536         (HAVE_IF_NAMEINDEX): New C macro.
26537         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
26539         system-quote-tests: port to older Solaris
26540         Problem reported by Tom G. Christensen in
26541         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
26542         * tests/test-system-quote-child.c (fopen, fread): Undef.
26544         c-xvasprintf etc.: fix link errors on older Solaris
26545         These need to link with @LIBINTL@ to get libintl_gettext.
26546         Problem reported by Tom G. Christensen in
26547         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
26548         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
26549         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
26550         * modules/futimens-tests (test_futimens_LDADD):
26551         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
26553 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
26555         locale: port to Solaris 2.6 and 7 + GNU gettext
26556         * lib/locale.in.h: Just include_next <locale.h> when
26557         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
26558         when combining the localename module with GNU gettext 0.18.2.
26559         Problem reported by Tom G. Christensen in
26560         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
26562 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
26564         stdlib: port to Solaris 2.6
26565         Also, the code worked on Solaris 7 through 9 only by accident.
26566         Problem reported by Tom G. Christensen in
26567         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
26568         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
26569         simply include the system stdlib.h.
26570         * lib/getopt.in.h (__need_system_stdlib_h):
26571         * lib/pthread.in.h (__need_system_stdlib_h):
26572         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
26573         Define when including <stdlib.h>, to avoid problems at least for
26574         the pthread case on Solaris 2.6 and 7.  These .h files can get by
26575         with the system stdlib.h.
26577 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
26579         doc: update main copyright year
26580         * doc/gnulib.texi: Update copyright date.
26582         doc: improve ISO 8601 discussion
26583         * doc/parse-datetime.texi (Combined date and time of day items):
26584         Specify more carefully what formats are supported and what is
26585         done with excess precision.
26587 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
26589         doc: avoid small caps
26590         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
26591         they're more trouble than they're worth.  Suggested by Karl Berry
26592         in <http://bugs.gnu.org/13360>.
26594         regex: conform to strict C
26595         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
26596         From Aharon Robbins.
26598         gnulib-tool: fix incompatibility with autopoint 0.18.2
26599         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
26600         Problem reported by Tom G. Christensen in
26601         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
26603 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
26605         fprintftime: bring back and reword fwrite comment
26606         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
26608         stdio: remove now-unnecessary stdio.c
26609         Since stdio.in.h no longer uses inline functions, we no longer
26610         need to compile the extern versions.
26611         * lib/stdio.c: Remove.
26612         * modules/stdio (Files): Remove lib/stdio.c.
26613         (lib_SOURCES): Remove.
26615         unicodeio: depend on stdio, not ignore-value
26616         * lib/unicodeio.c: Do not include ignore-value.h.
26617         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
26618         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
26620         fprintftime: depend on stdio, not ignore-value
26621         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
26622         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
26623         since the stdio module arranges to silence that warning now.
26624         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
26626 2012-10-04  Simon Josefsson  <simon@josefsson.org>
26628         stdint-tests: Fix expanded-before-required-warning.
26629         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
26631 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
26633         fwrite: silence __wur only for older glibc versions
26634         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
26635         This will help us remove this workaround some time in the far future.
26637 2013-01-03  Eric Blake  <eblake@redhat.com>
26639         fwrite: silence __wur without using inline
26640         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
26641         just gcc, and in a way that avoids inline issues.
26642         * modules/stdio (Depends-on): Drop extern-inline.
26644 2013-01-03  Jim Meyering  <jim@meyering.net>
26646         update-copyright: avoid copyright notice date corruption
26647         Given a sequence of copyright year numbers in which the final
26648         one was a two-digit number that happened to be a substring of
26649         a preceding four-digit year number, we would mistakenly update
26650         the substring (from two- to four-digit) rather than the two-digit
26651         number at the end, which, combined with the addition of the current
26652         4-digit year number would yield two 5-digit year numbers, e.g.,
26653         here, it would convert the first "99" to "1999, 2013" rather than
26654         the final one:
26655           1991, 99
26656           11999, 20131, 1999
26657         * build-aux/update-copyright: Tighten a regexp.
26658         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
26659         Reported by Joseph Myers in
26660         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
26662 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26664         regex: omit needless signed-pointer casts
26665         * lib/regcomp.c (build_charclass, build_charclass_op):
26666         Use char *, not unsigned char *, for class name and extra.
26667         The char values are always nonnegative so there's no need to
26668         insist on unsigned char * here, and using char * removes the need
26669         for casts.  Reported by Aharon Robbins in
26670         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
26672         regex: support Gawk, which never uses alloca
26673         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
26674         Do not include in this case.  Gawk doesn't supply a substitute
26675         alloca.h and doesn't need one.
26677         regex: port __libc_lock_define usage to C89
26678         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
26679         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
26680         does not conform to C89, as it has an empty macro argument.
26681         Reported by Aharon Robbins in
26682         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
26684 2013-01-01  Eric Blake  <eblake@redhat.com>
26686         maint: update all copyright year number ranges
26687         Run "make update-copyright".
26689         version-etc: bump copyright year reported in --version
26690         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
26692 2012-12-31  Eric Blake  <eblake@redhat.com>
26694         sigprocmask-tests: skip test if pid is unexpectedly large
26695         * tests/test-sigprocmask.c (main): Add range check.
26697         git-version-gen: avoid test -z portability glitch
26698         * build-aux/git-version-gen: Prefer portable test spelling, since
26699         git-version-gen is run on more than just developer machines.
26701 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
26703         git-version-gen: add --fallback option to use if git is not present
26704         * build-aux/git-version-gen: Add support for the new option --fallback,
26705         which comes into play when there is no $tarball_version_file and
26706         git is not working.
26707         (scriptversion): Update.
26709         maint.mk: handle missing git with more grace
26710         * top/maint.mk (no-submodule-changes, public-submodule-commit):
26711         Quietly proceed if git is not present.
26713 2012-12-31  Eric Blake  <eblake@redhat.com>
26715         dup2: work around cygwin bug
26716         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
26717         * lib/dup2.c (rpl_dup2): Work around it.
26718         * doc/posix-functions/dup2.texi (dup2): Document it.
26720 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
26722         regex: remove unnecessary dependency on localcharset.h
26723         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
26724         hasn't been needed for years.
26725         * modules/regex (Depends-on): Remove localcharset.
26727         regex: revert single-byte change
26728         * lib/regexec.c (check_node_accept_bytes): Revert previous change
26729         to this function.  This was alredy fixed in a different way, at
26730         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
26731         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
26732         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
26734         regex: simplify based on Gawk version
26735         * lib/regex_internal.c (re_dfa_add_node): Simplify.
26736         Reported by Aharon Robbins in
26737         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
26739 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26741         regex: check that pattern char is single-byte
26742         Reported by Aharon Robbins in
26743         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
26744         * lib/regexec.c (check_node_accept_bytes):
26745         Return 0 if the pattern string has a multibyte character here.
26747         regex: implement rational ranges
26748         Reported by Aharon Robbins in
26749         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
26750         * lib/regcomp.c (build_range_exp) [!_LIBC]:
26751         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
26752         Implement rational ranges.
26754         regex: avoid redefining __wctype
26755         Reported by Aharon Robbins in
26756         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
26757         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
26758         #undef before defining.
26760         regex: port to hosts where malloc (0) == NULL
26761         Reported by Aharon Robbins in
26762         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
26763         * lib/regex_internal.c (re_node_set_alloc):
26764         Don't assume that malloc (0) yields nonnull.
26765         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
26766         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
26767         * modules/regex (Files): Add m4/eealloc.m4.
26769         regex: port to C89
26770         Reported by Aharon Robbins in
26771         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
26772         * lib/regcomp.c (init_word_char): Declaration before statement.
26774         regex: merge glibc changes
26775         Also, copy the license wording from glibc.  This simplifies
26776         merging changes.  gnulib-tool will change the wording to GPL as
26777         appropriate, when importing it to other packages.  The only
26778         glibc change made since the last merge, which needs merging, is:
26779         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
26780         * lib/regex_internal.h (gettext): Remove use of INTUSE.
26782         * users.txt: Add Emacs.
26784         doc: omit mention of version when not needed
26785         * doc/gnulib-intro.texi (Portability and Application Code):
26786         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
26787         Don't mention particular dates or versions when not necessary, so
26788         that the documentation won't go out of date so quickly.
26790         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
26792 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
26794         bootstrap: pass --force to autoreconf.
26795         * build-aux/bootstrap (AUTORECONFFLAGS): New.
26796         Add "--force" so that Automake's ylwrap and other such tools
26797         be updated at each bootstrap invocation.
26798         Use it.
26800 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26802         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
26803         The earlier patch forgot to update one of the #if conditions, causing
26804         a problem on Debian testing i386 reported by Mats Erik Andersson
26805         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
26806         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
26807         (__argp_fmtstream_puts, argp_fmtstream_puts)
26808         (__argp_fmtstream_write, argp_fmtstream_write)
26809         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
26811         * doc/gnulib-readme.texi: Minor fixups.
26812         (Portability guidelines): Modernize URLs.  Remove some repetition.
26813         (Indent with spaces not TABs): Reword to avoid too-long lines.
26814         Remove some '@ifset standalone' stuff that isn't used.
26816         * doc/gnulib-readme.texi (Portability guidelines):
26817         ctype.h, not ctime.h.
26819         Correct name of POSIX.1-2001.
26820         * doc/posix-functions/fgetc.texi (fgetc):
26821         * doc/posix-functions/fgets.texi (fgets):
26822         * doc/posix-functions/fread.texi (fread):
26823         * doc/posix-functions/fscanf.texi (fscanf):
26824         * doc/posix-functions/getc.texi (getc):
26825         * doc/posix-functions/getchar.texi (getchar):
26826         * doc/posix-functions/scanf.texi (scanf):
26827         POSIX.1-2001, not POSIX-2001.
26829         doc: move README into manual
26830         * README: Move contents to new file doc/gnulib-readme.texi.
26831         Replace with a one-line summary.
26832         * doc/gnulib.texi (Brief Overview): New section,
26833         with old intro preface.  Include gnulib-readme.texi for contents.
26834         (Philosophy): Rename from "Introduction", since this
26835         section no longer introduces the rest.  Write a new preface.
26836         * doc/gnulib-readme.texi: New file, with the old contents of
26837         README texinfo-ized.  This way, the README info appears
26838         in the online and printed manual.
26840 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
26842         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
26843         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
26844         c_vasprintf() prototype.
26846 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
26848         c-vasprintf: Fix "empty declaration" warning reported by GCC.
26849         * lib/c-vasprintf.h: Remove stray semicolon.
26851 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26853         gettext: avoid obsolete macro AM_PROG_MKDIR_P
26854         It is obsolete and is planned to be removed from Automake 1.14; see
26855         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
26856         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
26857         (installdirs-data, installdirs-data-yes):
26858         Use $(MKDIR_P), not $(mkdir_p).
26859         * m4/intl.m4 (AM_INTL_SUBDIR):
26860         * m4/po.m4 (AM_PO_SUBDIRS):
26861         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
26863 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26865         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
26866         On this platform, we are not optimizing but we are using
26867         the substitute for extern inlines, so compile as if
26868         C99-style extern inline, or a substitute, is available.
26869         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
26870         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
26871         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
26872         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
26873         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
26874         Declare as ARGP_FS_EI, not as extern.
26875         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
26876         (__option_is_short, _option_is_end, __option_is_end)
26877         [!_LIBC && __USE_EXTERN_INLINES]:
26878         Declare as ARGP_EI, not as extern.
26880 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
26882         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
26883         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
26884         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
26885         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
26886         ...), as the latter is fatal with older Autoconfs.
26887         Problem reported and fix suggested by Eric Blake in thread starting at
26888         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
26890 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
26892         AC_PROG_MKDIR_P: don't workaround if not buggy
26893         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
26894         Define only for Autoconf versions before 2.62.
26895         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
26896         undocumented m4_PACKAGE_VERSION, for consistency with the
26897         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
26898         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
26899         was introduced in 2.62.
26901 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
26903         New 'c-*printf' modules for formatted output in C locale.
26905         New module 'c-vasnprintf'.
26906         * modules/c-vasnprintf: New file.
26907         * lib/c-vasnprintf.c: New file.
26908         * lib/c-vasnprintf.h: New file.
26910         New module 'c-snprintf'.
26911         * modules/c-snprintf: New file.
26912         * modules/c-snprintf-tests: New file.
26913         * lib/c-snprintf.c: New file.
26914         * lib/c-snprintf.h: New file.
26915         * tests/test-c-snprintf.c: New file.
26916         * tests/test-c-snprintf.sh: New file.
26918         New module 'c-vsnprintf'.
26919         * modules/c-vsnprintf: New file.
26920         * modules/c-vsnprintf-tests: New file.
26921         * lib/c-vsnprintf.c: New file.
26922         * lib/c-vsnprintf.h: New file.
26923         * tests/test-c-vsnprintf.c: New file.
26924         * tests/test-c-vsnprintf.sh: New file.
26926         New module 'c-vasprintf'.
26927         * modules/c-vasprintf: New file.
26928         * modules/c-vasprintf-tests: New file.
26929         * lib/c-asprintf.c: New file.
26930         * lib/c-vasprintf.c: New file.
26931         * lib/c-vasprintf.h: New file.
26932         * tests/test-c-vasprintf.c  +: New file.
26933         * tests/test-c-vasprintf.sh: New file.
26935         New module 'c-xvasprintf'.
26936         * modules/c-xvasprintf: New file.
26937         * modules/c-xvasprintf-tests: New file.
26938         * lib/c-xasprintf.c: New file.
26939         * lib/c-xvasprintf.c: New file.
26940         * lib/c-xvasprintf.h: New file.
26941         * tests/test-c-xvasprintf.c: New file.
26942         * tests/test-c-xvasprintf.sh: New file.
26944 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26946         argp: better 'inline'
26947         Use extern-inline module to declare extern inline functions.
26948         This avoids some bogus warning diagnostics.  Problem discovered
26949         when modifying GNU tar to use the manywarnings module.
26950         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
26951         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
26952         Define based on extern-inline.
26953         * modules/argp (Depends-on): Add extern-inline.
26955 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
26957         filemode, sys_stat: Handle MPX files a la AIX.
26958         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
26959         * lib/sys_stat.in.h (S_ISMPX): New macro.
26960         * tests/test-sys_stat.c: Add tests for MPX files.
26962 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
26964         x-to-1: honor $PERL
26965         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
26966         a chance to use his preferred version of Perl.  This is typically
26967         required by Darwin users whose default /usr/bin/perl does not have all
26968         the libraries required by help2man, and who need to use their MacPorts
26969         installation of Perl instead.
26971 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
26973         gnu-web-doc-update: add all the new files, even in new directories
26974         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
26975         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
26976         Use it.
26977         (main): Don't use cvsutils to get the list of unknown files,
26978         just add all the existing files and directories.
26980 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
26982         gnu-web-doc-update: improve --help
26983         * build-aux/gnu-web-doc-update: Move comments into --help.
26985 2012-12-07  Eric Wong  <normalperson@yhbt.net>
26987         mountlist: recognize more "dummy" file systems
26988         * lib/mountlist.c (ME_DUMMY_0):
26989         Add these dummy FS names to the list:
26990         - "debugfs" virtual filesystem for kernel debugging
26991         - "devpts" PTY slave filesystem
26992         - "devtmpfs" device filesystem on top of tmpfs/ramfs
26993         - "fusectl" control filesystem for FUSE
26994         - "mqueue" enumerates POSIX message queues
26995         - "rpc_pipefs" kernel <-> userspace bridge for NFS
26996         - "sysfs" is for exporting kernel objects
26997         - "devfs" device filesystem for Linux 2.4 and FreeBSD
26999 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
27001         extern-inline: avoid incompatibility with Darwin Libc
27002         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
27003         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
27004         Problem reported by Akim Demaille in
27005         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
27007 2012-12-11  Simon Josefsson  <simon@josefsson.org>
27009         gnupload: Work with GnuPG using gpg-agent (for smartcards).
27010         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
27011         let it handle password prompting.
27013 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
27015         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
27016         * lib/canonicalize.c (canonicalize_filename_mode):
27017         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
27018         fetching the current directory.  Don't overrun the beginning of
27019         rpath if there's no slashes after the MS-Windows drive letter.
27021 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
27023         maint.mk: avoid extra forks
27024         * top/maint.mk (_cfg_mk): The GNU make manual documents that
27025         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
27026         So use that instead of "$(shell test -f FILE && echo FILE)".
27028 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
27030         vasnprintf: fix ASCII_ONLY typo
27031         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
27032         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
27033         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
27034         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
27035         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
27037 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
27039         list, oset, xlist, xoset: fix extern inline issue with C99
27040         This was introduced by my recent changes for 'inline'.
27041         Problem reported for gettext by Daiki Ueno in
27042         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
27043         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
27044         (gl_list_nx_create, gl_list_size, gl_list_node_value)
27045         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
27046         (gl_list_previous_node, gl_list_get_at)
27047         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
27048         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
27049         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
27050         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
27051         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
27052         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
27053         (gl_list_iterator_free, gl_sortedlist_search)
27054         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
27055         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
27056         (gl_sortedlist_remove):
27057         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
27058         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
27059         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
27060         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
27061         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
27062         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
27063         (gl_list_add_at, gl_sortedlist_add):
27064         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
27065         Wrap these extern decls inside "#if 0", because they are implemented
27066         as inline functions, and extern inline is not what's wanted here.
27067         It would simplify these .h files to remove the extern decls entirely,
27068         although a downside would be less-clear separation between
27069         specification and implementation.
27071 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
27073         sys_stat: no 'static inline'
27074         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
27075         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
27077         extern-inline: no 'static inline'
27078         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
27079         Do not require AC_C_INLINE.
27080         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
27081         'static inline', for older compilers.
27083         snippet/warn-on-use: no 'static inline'
27084         * build-aux/snippet/warn-on-use.h:
27085         Remove unnecessary 'inline' in comment.
27087         rbtree-list, rbtreehash-list: no 'static inline'
27088         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
27089         * lib/gl_anytree_list2.h (node_at):
27090         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
27091         (gl_oset_first, add_nodes_to_buckets):
27092         Now static, not static inline.
27094         regex: no 'static inline'
27095         * lib/regex_internal.c (calc_state_hash):
27096         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
27097         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
27098         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
27099         Now static, not static inline.
27100         (inline) [__GNUC__ < 3 && _LIBC]:
27101         Remove macro; no longer needed.
27103         xvasprintf: no 'static inline'
27104         * lib/xvasprintf.c (xstrcat):
27105         Now static, not static inline.
27106         * m4/xvasprintf.m4 (gl_XVASPRINTF):
27107         Do not require AC_C_INLINE.
27109         parse-datetime, parse-duration: no 'static inline'
27110         * lib/parse-datetime.y (to_uchar):
27111         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
27112         (scale_n_add):
27113         Now static, not static inline.
27114         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
27115         * modules/parse-duration (configure.ac):
27116         Do not require AC_C_INLINE.
27118         getaddrinfo: no 'static inline'
27119         * lib/getaddrinfo.c (validate_family):
27120         Now static, not static inline.
27121         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
27122         Do not require AC_C_INLINE.
27124         ftruncate, fts, lstat, openat, raise: no 'static inline'
27125         * lib/ftruncate.c (chsize_nothrow):
27126         * lib/fts.c (opendirat, diropen):
27127         * lib/lstat.c (orig_lstat):
27128         * lib/openat.c (orig_openat):
27129         * lib/raise.c (raise_nothrow):
27130         Now static, not static inline.
27131         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
27132         * m4/fts.m4 (gl_FUNC_FTS_CORE):
27133         * m4/lstat.m4 (gl_PREREQ_LSTAT):
27134         * m4/openat.m4 (gl_PREREQ_OPENAT):
27135         * m4/raise.m4 (gl_PREREQ_RAISE):
27136         Do not require AC_C_INLINE.
27138         fflush, stat: no 'static inline'
27139         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
27140         (clear_ungetc_buffer, disable_seek_optimization)
27141         (restore_seek_optimization, update_fpos_cache):
27142         * lib/stat.c (orig_stat):
27143         Now static, not static inline.
27144         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
27145         (update_fpos_cache):
27146         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
27147         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
27148         * m4/stat.m4 (gl_PREREQ_STAT):
27149         Do not require AC_C_INLINE.
27151         error, filevercmp: no 'static inline'
27152         * lib/error.c (is_open, flush_stdout):
27153         * lib/filevercmp.c (order):
27154         Now static, not static inline.
27155         * m4/error.m4 (gl_PREREQ_ERROR):
27156         * modules/filevercmp (configure.ac):
27157         Do not require AC_C_INLINE.
27159         dup, execute, fatal-signal, etc.: no 'static inline'
27160         * lib/dup.c (dup_nothrow):
27161         * lib/execute.c (nonintr_close, nonintr_open):
27162         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
27163         * lib/fopen.c (orig_fopen):
27164         * lib/freadseek.c (freadptrinc):
27165         * lib/freopen.c (orig_freopen):
27166         * lib/fstat.c (orig_fstat, fstat_nothrow):
27167         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
27168         (get_rusage_as_via_iterator):
27169         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
27170         * lib/getdtablesize.c (_setmaxstdio_nothrow):
27171         * lib/isatty.c (_isatty_nothrow):
27172         * lib/open.c (orig_open):
27173         * lib/read.c (read_nothrow):
27174         * lib/sigprocmask.c (signal_nothrow):
27175         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
27176         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
27177         * lib/wait-process.c (unregister_slave_subprocess):
27178         * lib/write.c (write_nothrow):
27179         Now static, not static inline.
27180         * lib/spawn-pipe.c (nonintr_open): Define only if
27181         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
27182         * m4/dup.m4 (gl_PREREQ_DUP):
27183         * m4/execute.m4 (gl_EXECUTE):
27184         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
27185         * m4/fopen.m4 (gl_PREREQ_FOPEN):
27186         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
27187         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
27188         * m4/fstat.m4 (gl_PREREQ_FSTAT):
27189         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
27190         * m4/isatty.m4 (gl_PREREQ_ISATTY):
27191         * m4/open.m4 (gl_PREREQ_OPEN):
27192         * m4/read.m4 (gl_PREREQ_READ):
27193         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
27194         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
27195         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
27196         * m4/wait-process.m4 (gl_WAIT_PROCESS):
27197         * m4/write.m4 (gl_PREREQ_WRITE):
27198         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
27199         Do not require AC_C_INLINE.
27201         c-strtod, memcoll, readutmp: no 'static inline'
27202         * lib/c-strtod.c (c_locale):
27203         * lib/memcoll.c (strcoll_loop):
27204         * lib/readutmp.c (desirable_utmp_entry):
27205         Now static, not static inline.
27206         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
27207         * m4/memcoll.m4 (gl_MEMCOLL):
27208         * m4/readutmp.m4 (gl_READUTMP):
27209         Do not require AC_C_INLINE.
27211         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
27212         * lib/arctwo.c (to_uchar):
27213         * lib/md4.c (set_uint32):
27214         * lib/md5.c (set_uint32):
27215         * lib/sha1.c (set_uint32):
27216         * lib/sha256.c (set_uint32):
27217         * lib/sha512.c (set_uint64):
27218         Now static, not static inline.  This is a bit simpler, and doesn't
27219         affect performance with GCC and default optimization.
27220         * m4/arctwo.m4 (gl_ARCTWO):
27221         * m4/md4.m4 (gl_MD4):
27222         * m4/md5.m4 (gl_MD5):
27223         * m4/sha1.m4 (gl_SHA1):
27224         * m4/sha256.m4 (gl_SHA256):
27225         * m4/sha512.m4 (gl_SHA512):
27226         Do not require AC_C_INLINE.
27228         cond, lock, thread: better 'inline'
27229         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
27230         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
27231         New macros.  Use them instead of static inline, for header functions.
27232         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
27233         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
27234         * lib/glthread/lock.c (gl_waitqueue_init)
27235         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
27236         * lib/glthread/thread.c (get_current_thread_handle):
27237         Change 'static inline' to 'inline'.
27238         * lib/glthread/cond.h, lib/glthread/thread.h:
27239         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27240         * m4/cond.m4 (gl_COND):
27241         * m4/lock.m4 (gl_PREREQ_LOCK):
27242         * m4/thread.m4 (gl_THREAD):
27243         Do not require AC_C_INLINE.
27244         * modules/cond, modules/thread (Depends-on): Add extern-inline.
27246         chdir-long, cycle-check, savewd: better 'inline'
27247         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
27248         (find_non_slash):
27249         * lib/cycle-check.c (is_zero_or_power_of_two):
27250         * lib/savewd.c (savewd_delegating):
27251         Change 'static inline' to 'inline'.
27252         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
27253         Replace all remaining uses of 'static inline' with it.
27254         * lib/savewd.h:
27255         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27256         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
27257         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
27258         * m4/savewd.m4 (gl_SAVEWD):
27259         Do not require AC_C_INLINE.
27260         * modules/savewd (Depends-on): Add extern-inline.
27262         base32, base64: no need for 'inline'
27263         * lib/base32.c (to_uchar, get_8, decode_8):
27264         * lib/base64.c (to_uchar, get_4, decode_4):
27265         Change 'static inline' to 'inline'.
27266         * m4/base32.m4 (gl_PREREQ_BASE32):
27267         * m4/base64.m4 (gl_PREREQ_BASE64):
27268         Do not require AC_C_INLINE.
27270         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
27271         * lib/gl_array_oset.c (gl_array_nx_add_at):
27272         (gl_array_remove_at):
27273         * lib/gl_linkedhash_list.c (hash_resize_after_add)
27274         (add_to_bucket, remove_from_bucket):
27275         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
27276         Change 'static inline' to 'static', as it's simpler to omit
27277         'inline' unless there's a significant performance advantage.
27279         list, oset, xlist, xoset, xsublist: simplify via extern inline
27280         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
27281         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
27282         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
27283         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
27284         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
27285         New macro.  Replace all uses of 'static inline' with it.
27286         [HAVE_INLINE]: Implement functions as *_INLINE functions,
27287         instead of as macros FOO that are defined to static inline
27288         functions FOO_inline.
27289         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
27290         * lib/gl_xsublist.c:
27291         Reimplement from scratch, by defining the corresponding *_INLINE
27292         macro and including the corresponding .h file.  This is simpler.
27293         * modules/list, modules/oset, modules/xlist, modules/xoset:
27294         (Files): Remove m4/gl_list.m4.
27295         (configure.ac): Remove gl_LIST.
27296         * m4/gl_list.m4: Remove.
27297         * modules/list, modules/oset, modules/xlist, modules/xoset:
27298         * modules/xsublist:
27299         (Depends-on): Depend on extern-inline, not inline.
27301         xalloc: better 'inline'
27302         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
27303         New macro.  Replace all uses of 'static inline' with it.
27304         (static_inline): Remove.
27305         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
27306         Let 'extern inline' do the work automatically, instead of doing
27307         it by hand.
27308         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
27309         Remove.  All uses removed.
27310         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
27312         gethrxtime: better 'inline'
27313         * lib/xtime.c: New file.
27314         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
27315         * lib/xtime.h (XTIME_INCLUDE):
27316         New macros.  Replace all uses of 'static inline' with them.
27317         * lib/gethrxtime.c (gethrxtime): Define only if
27318         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
27319         this source file is now always compiled, because of the extern inline.
27320         * lib/gethrxtime.h, lib/xtime.h:
27321         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27322         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
27323         if gethrtime works, as they're not needed in that case.
27324         (gl_XTIME): Do not require AC_C_INLINE.
27325         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
27326         compiled now.  Move the check into gl_GETHRXTIME.
27327         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
27328         (Depends-on): Add extern-inline.
27329         (configure.ac): gethrxtime is always compiled now.
27330         (lib_SOURCES): Add gethrxtime.c.
27332         wctype-h: better 'inline'
27333         * lib/wctype-h.c: New file.
27334         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
27335         New macro.  Replace all uses of 'static inline' with it.
27336         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27337         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
27338         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
27339         (Depends-on): Add extern-inline.
27341         unistd: better 'inline'
27342         * lib/unistd.c: New file.
27343         * lib/unistd.in.h (_GL_UNISTD_INLINE):
27344         New macro.  Replace all uses of 'static inline' with it.
27345         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27346         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
27347         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
27348         (Depends-on): Add extern-inline.
27350         sys_socket: better 'inline'
27351         * lib/sys_socket.c: New file.
27352         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
27353         New macro.  Replace all uses of 'static inline' with it.
27354         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27355         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
27356         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
27357         (Depends-on): Add extern-inline.
27359         stdio: better 'inline'
27360         * lib/stdio.c: New file.
27361         * lib/stdio.in.h (_GL_STDIO_INLINE):
27362         New macro.  Replace all uses of 'static inline' with it.
27363         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27364         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
27365         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
27366         (Depends-on): Add extern-inline.
27368         sigaction: better 'inline'
27369         * lib/sig-handler.c: New file.
27370         * lib/sig-handler.h (SIG_HANDLER_INLINE):
27371         New macro.  Replace all uses of 'static inline' with it.
27372         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27373         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
27374         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
27375         (Depends-on): Add extern-inline.
27377         selinux-h: better 'inline'
27378         * lib/se-context.c, lib/se-selinux.c: New files.
27379         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
27380         * lib/se-context.in.h (SE_CONTEXT_INLINE):
27381         New macro.  Replace all uses of 'static inline' with it.
27382         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27383         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
27384         New macro.  Replace all uses of 'static inline' with it.
27385         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27386         * modules/selinux-h (Files, lib_SOURCES):
27387         Add lib/se-context.c, lib/se-selinux.c.
27388         (Depends-on): Add extern-inline.
27389         (configure.ac): Do not require AC_C_INLINE.
27391         pthread: better 'inline'
27392         * lib/pthread.c: New file.
27393         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
27394         New macro.  Replace all uses of 'static inline' with it.
27395         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27396         * m4/pthread.m4 (gl_PTHREAD_CHECK):
27397         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
27398         * modules/pthread (Files): Add lib/pthread.c.
27399         (Depends-on): Add extern-inline.
27401         math: better 'inline'
27402         * lib/math.c: New file.
27403         * lib/math.in.h (_GL_MATH_INLINE):
27404         New macro.  Replace all uses of 'static inline' with it.
27405         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27406         * m4/math_h.m4 (gl_MATH_H):
27407         Do not require AC_C_INLINE.
27408         * modules/math (Files, lib_SOURCES):
27409         Add lib/math.c.
27410         (Depends-on): Add extern-inline.
27412         count-one-bits: better 'inline'
27413         * lib/count-one-bits.c: New file.
27414         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
27415         New macro.  Replace all uses of 'static inline' with it.
27416         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27417         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
27418         Do not require AC_C_INLINE.
27419         * modules/count-one-bits (Files, lib_SOURCES):
27420         Add lib/count-one-bits.c.
27421         (Depends-on): Add extern-inline.
27423         count-leading-zeros: better 'inline'
27424         * lib/count-leading-zeros.c: New file.
27425         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
27426         New macro.  Replace all uses of 'static inline' with it.
27427         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27428         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
27429         Do not require AC_C_INLINE.
27430         * modules/count-leading-zeros (Files, lib_SOURCES):
27431         Add lib/count-leading-zeros.c.
27432         (Depends-on): Add extern-inline.
27434         bitrotate: better 'inline'
27435         * lib/bitrotate.c: New file.
27436         * lib/bitrotate.h (BITROTATE_INLINE):
27437         New macros.
27438         Replace all uses of 'static inline' with them.
27439         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27440         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
27441         (Depends-on): Add extern-inline.
27442         (configure.ac): Do not require AC_C_INLINE.
27444 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
27446         maint.mk: avoid gratuitous failure
27447         Reported by Stefano Lattarini in
27448         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
27449         * top/maint.mk (public-submodule-commit): Quote more safely.
27451 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
27453         canonicalize, canonicalize-lgpl: support MS-Windows file names
27454         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
27455         for test cases, which it'd be nice to add at some point.
27456         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
27457         * lib/canonicalize.c (canonicalize_filename_mode):
27458         * lib/canonicalize-lgpl.c (__realpath):
27459         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
27460         slash is at the beginning of the file name.  Use ISSLASH, instead
27461         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
27462         the first character with '/'.  Test for
27463         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
27464         with a drive letter.
27465         * lib/canonicalize.c (SLASHES): New macro.
27466         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
27468 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
27470         fts: introduce FTS_VERBATIM
27471         * lib/fts_.h (FTS_VERBATIM): New bit flag.
27472         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
27473         * lib/fts.c (fts_open): Honor it.
27475 2012-11-09  Pádraig Brady  <P@draigBrady.com>
27477         getlogin-tests: allow errno == ENXIO
27478         * tests/test-getlogin.c (main): Skip tests if getlogin fails
27479         with errno == ENXIO (No controlling tty).
27480         getlogin_r-tests: Likewise. Also allow errno == ENOENT
27481         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
27482         with errno == ENOENT.  This was reported to happen in various
27483         situations on GNU/Linux.
27485 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
27487         getlogin-tests: allow errno == ENOENT
27488         * tests/test-getlogin.c (main): Skip tests if getlogin fails
27489         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
27490         when running a test in an Emacs shell buffer.
27492 2012-11-08  Jim Meyering  <jim@meyering.net>
27494         tests/nap.h: avoid warning about unused variable
27495         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
27497         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
27498         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
27499         white space before each of the special-cased file names, to avoid
27500         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
27501         in http://bugs.gnu.org/12830.
27503 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
27505         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
27506         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
27507         fails with errno == EBADF when fd is opened with O_PATH.
27508         Reported by Jim Meyering in
27509         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
27510         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
27511         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
27513 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
27515         test-utimens: speed up by taking shorter naps
27516         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
27517         New functions.
27518         (nap): Use them, to do a better job of guessing the delay.
27519         On Fedora 17 with ext4 atop md atop hard disks, this made
27520         test-utimens run 10x faster, because the test napped for
27521         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
27522         <http://bugs.gnu.org/12820#11>.
27524 2012-11-07  Jim Meyering  <jim@meyering.net>
27526         mountlist.c: fix a compilation failure
27527         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
27528         I introduced while transforming commit v0.0-7683-g613bcb6
27530 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
27532         errno: port to LynxOS 178 2.2.2
27533         Problem reported by Joel Brobecker in
27534         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
27535         * doc/posix-headers/errno.texi (errno.h): Document this.
27536         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
27537         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
27538         Supply a string for EILSEQ.
27539         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
27541 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
27543         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
27544         Linux kernel 2.6.39 introduced O_PATH (see
27545         <http://lwn.net/Articles/433854/>) and this is a better fallback
27546         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
27547         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
27548         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
27549         * lib/fcntl.in.h (O_ACCMODE):
27550         * tests/test-fcntl-h.c (main):
27551         Do not reject O_ACCMODE merely because it has more than the
27552         minimal number of bits, as POSIX allows extensions here.
27554 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
27556         mountlist: do not classify a bind-mounted dir entry as "dummy"
27557         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
27558         the "none"-testing clause.
27559         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
27560         exception for bind-mounted directories.
27562 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
27564         quote: provide a means to escape strings with nul characters
27565         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
27566         (quote, quote_n): Rename formal arguments for consistency with
27567         quotearg.
27569 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
27571         test-raise: don't assume 199 is an invalid signal
27572         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
27574         sh-quote-tests: port to Solaris 9
27575         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
27576         Problem reported by Dagobert Michelsen in
27577         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
27579 2012-10-28  Jim Meyering  <jim@meyering.net>
27581         maint.mk: rename a new configurable variable
27582         * top/maint.mk (_gl_translatable_string_re): Rename from
27583         translation-markers: _gl_ prefix to insulate from user Makefile code,
27584         and the _re suffix to inform that it's a regular expression.
27586 2012-10-26  Eric Blake  <eblake@redhat.com>
27588         maint.mk: let packages tweak sc_po_check pattern
27589         * top/maint.mk (sc_po_check): Add translation-markers, to allow
27590         finding files with other translation markers.
27592 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
27594         euidaccess: speed up 'configure' on GNU hosts
27595         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
27596         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
27597         it's needed only in this case.  Use AC_CHECK_DECLS, not
27598         AC_CHECK_DECLS_ONCE.
27599         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
27600         or AC_REQUIRE for AC_FUNC_GETGROUPS.
27602         * lib/regexec.c (re_search_internal): Fix grammar in comment.
27604 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
27606         fchmodat, fchownat, fstatat: port to non-inlining compilers
27607         Problem reported for FreeBSD 9 by Jim Meyering in
27608         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
27609         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
27610         New files, which define FCHMODAT_INLINE etc.
27611         * lib/fchmodat.c (FCHMODAT_INLINE):
27612         * lib/fchownat.c (FCHOWNAT_INLINE):
27613         * lib/fstatat.c (FSTATAT_INLINE):
27614         Remove, as chmodat.c etc. now do this.
27615         * modules/fchmodat (Files): Add lib/chmodat.c.
27616         * modules/fchownat (Files): Add lib/chownat.c.
27617         * modules/fstatat (Files): Add lib/statat.c.
27619 2012-10-15  Jim Meyering  <jim@meyering.net>
27621         fchmodat.c, fchownat.c: compile-impeding typos
27622         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
27623         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
27624         Introduced in commit v0.0-7636-gd202279.
27626 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
27628         fcntl-h: support GNU flags like O_IGNORE_CTTY
27629         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
27630         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
27631         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
27632         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
27633         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
27634         Define to 0 if not already defined.
27635         * tests/test-fcntl-h.c: Test these new flags.
27637 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
27639         faccessat, etc.: support AT_FDCWD-only use
27640         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
27641         this function only if its first argument is AT_FDCWD.
27642         Emacs wants faccessat for AT_EACCESS but not for any first-arg
27643         values other than AT_FDCWD, so it doesn't want all the openat
27644         machinery with fchdir etc.
27645         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
27646         * modules/fstatat, modules/mkdirat, modules/openat (Files):
27647         * modules/unlinkat (Files):
27648         Remove lib/openat-priv.h, as at-internal supplies this file.
27649         Removing this file here allows us to support programs like Emacs
27650         that avoid at-internal.
27652         faccessat: speed up 'configure' on mainstream hosts
27653         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
27654         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
27655         since it's only on unusual platforms that we need to check for
27656         'access', and it's better not to slow 'configure' down on all
27657         platforms.
27659         faccessat: port to Solaris 10
27660         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
27661         Needed on Solaris 10, which doesn't have AT_EACCESS,
27662         so we need the Gnulib fcntl.h, which defines it.
27664 2012-10-14  Pádraig Brady  <P@draigBrady.com>
27665         canonicalize: fix C89 compilation
27666         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
27667         declarations so C89 is supported.  Also remove the comment
27668         referencing memorty allocation as the suggested feature could
27669         not be implemented as suggested.
27670         Reported by Michael Goffioul.
27672 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
27674         group-member: omit unnecessary dependencies
27675         This is for Emacs, which has its own allocator and where we
27676         don't want to use xalloc.
27677         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
27678         since we no longer use xmalloc.  Do not include stdbool.h, since
27679         the changes below happen to remove the only use of bool.
27680         (GROUPBUF_SIZE): New constant.
27681         (struct group_info): Remove n_groups member.  Add groupbuf member.
27682         This lets us get the groups without using malloc, usually.
27683         (free_group_info, get_group_info): Adjust to this.
27684         (get_group_info): Return the number of groups found, or -1 on error.
27685         Use plain malloc not xmalloc, and treat its failure as if there
27686         are no groups, as the user already loses in case of error.
27687         (group_member): Simplify, based on changes to get_group_info.
27688         * modules/group-member (Depends-on): Remove dependencies on
27689         xalloc and stdbool.  Add dependency on xalloc-oversized.
27691 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
27693         gethrxtime: port to C++
27694         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
27696 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
27698         ptsname: fix macro-name typo
27699         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
27701 2012-10-03  Simon Josefsson  <simon@josefsson.org>
27703         inttostr: Relax license.
27704         * modules/inttostr (License): Change from LGPL to LGPLv2+.
27706 2012-10-03  Eric Blake  <eblake@redhat.com>
27708         ptsname_r: support ptys returned by FreeBSD posix_openpt
27709         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
27710         lives in /dev/pts/.
27712 2012-10-02  Eric Blake  <eblake@redhat.com>
27714         pselect: reject invalid file descriptors
27715         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
27716         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
27717         * modules/pselect (Depends-on): Add dup2.
27718         * doc/posix-functions/pselect.texi (pselect): Document this.
27720         select: reject invalid file descriptors
27721         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
27722         * lib/select.c (rpl_select) [!win32]: Work around it.
27723         * modules/select (Depends-on): Add dup2.
27724         * doc/posix-functions/select.texi (select): Document this.
27726         select: enhance test
27727         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
27728         New functions.
27729         (test_function): Enhance test.
27730         (do_select_bad_fd): Avoid any stale errno values.
27732         ptsname: reject invalid file descriptors
27733         http://www.austingroupbugs.net/view.php?id=503
27734         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
27735         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
27736         * modules/stdlib (Makefile.am): Replace witness.
27737         * lib/stdlib.in.h (ptsname): Allow for replacement.
27738         * modules/ptsname (configure.ac): Trigger replacement.
27739         * doc/posix-functions/ptsname.texi (ptsname): Document this.
27741 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
27743         hash-pjw-bare: new module
27744         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
27745         * lib/hash-pjw-bare.h: Likewise.
27746         * modules/hash-pjw-bare: New file.
27747         * MODULES.html.sh (Misc): Add it.
27749 2012-10-02  Eric Blake  <eblake@redhat.com>
27751         manywarnings: cater to more gcc infelicities
27752         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
27753         -Wuninitialized without -O.
27755 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
27757         select, poll tests: Make setsockopt invocation effective.
27758         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
27759         the bind() call.
27760         * tests/test-select.h (open_server_socket): Likewise.
27762 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
27764         sockets, sys_stat: restore AC_C_INLINE
27765         This undoes the 2012-09-22 patch.
27766         * m4/sockets.m4 (gl_SOCKETS):
27767         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
27768         Restore AC_C_INLINE, since MSVC requires __inline or _inline
27769         and does not support plain 'inline'.  Reported by Bruno Haible in
27770         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
27772 2012-09-30  Bruno Haible  <bruno@clisp.org>
27774         localeconv tests: Avoid test failure on OpenIndiana.
27775         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
27776         skip the 'grouping' and 'mon_grouping' tests.
27777         Reported by Jim Meyering.
27779 2012-09-30  Bruno Haible  <bruno@clisp.org>
27781         havelib: Follow libtool developments.
27782         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
27783         Suggested by Simon Josefsson.
27785 2012-09-29  Jim Meyering  <meyering@redhat.com>
27787         fstatat.c: fix a compile-impeding typo
27788         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
27789         Introduced in commit v0.0-7636-gd202279.
27790         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
27792 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
27794         extern-inline: provide a -Wundef safe config.h
27795         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
27796         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
27797         to produce a -Wundef warning free config.h.
27799 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
27801         hash-pjw: relax license to LGPLv2+
27802         * modules/hash-pjw (License): Relax, with consent of author.
27804 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
27806         maint.mk: fix strict vs. lazy variable issues with RELEASE
27807         * top/maint.mk (_equal): New function.
27808         (member_check): Strip the result to avoid spurious spaces.
27809         (url_dir_list): Do not use ifeq, which is strict, as it will
27810         require RELEASE_TYPE to be defined.
27811         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
27812         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
27813         (announcement_Cc_alpha,announcement_mail_headers_alpha)
27814         (announcement_Cc_beta,announcement_mail_headers_beta)
27815         (announcement_Cc_stable,announcement_mail_headers_stable): these.
27816         (release): Do not depend on $(release-type), as it forces its
27817         evaluation.  Bounce to it.
27819 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
27821         maint.mk: formatting changes
27822         * top/maint.mk: Indent bodies of if's.
27824 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
27826         maint.mk: factor the validation of RELEASE_TYPE
27827         With help from Jim Meyering.
27828         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
27829         * top/maint.mk (_empty, _sp): Move their definition earlier.
27830         (member-check, release-type): New.
27831         Use the latter instead of $(RELEASE_TYPE).
27832         Remove now useless local checks.
27834 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
27836         maint.mk: provide "make upload" to ease uploading
27837         See
27838         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
27839         Do not depend simply on the current $(VERSION), as there may have been
27840         new commits since the tarball generation.  Rather, rely on $(RELEASE),
27841         as "make release-commit" already does.
27843         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
27844         "make TYPE".
27846         * top/maint.mk (upload_command, upload, release): New.
27847         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
27848         (VERSION): first word of $(RELEASE) is always right.
27849         (emit_upload_commands): Adjust.
27850         * top/README-release: Update.
27852 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
27854         maint.mk: silent rules
27855         With help from Stefano Lattarini.
27856         * top/maint.mk (writable-files): Use $(AM_V_GEN).
27857         (announcement): Use $(AM_V_at).
27859 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
27861         localename: port gl_locale_name_thread_unsafe to FreeBSD
27862         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
27863         and use the simpler FreeBSD implementation on Mac OS X as well.
27864         Original idea suggested by Ed Maste in
27865         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
27867 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27869         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
27870         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
27871         * lib/mbuiter.c, lib/xsize.c: New files.
27872         * lib/binary-io.h (BINARY_IO_INLINE):
27873         * lib/eealloc.h (EEALLOC_INLINE):
27874         * lib/mbfile.h (MBFILE_INLINE):
27875         * lib/mbiter.h (MBITER_INLINE):
27876         * lib/mbuiter.h (MBUITER_INLINE):
27877         * lib/xsize.h (XSIZE_INLINE):
27878         New macros.
27879         Replace all uses of 'static inline' with them.
27880         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27881         * m4/eealloc.m4 (gl_EEALLOC):
27882         * m4/mbfile.m4 (gl_MBFILE):
27883         * m4/mbiter.m4 (gl_MBITER):
27884         * m4/xsize.m4 (gl_XSIZE):
27885         Do not require AC_C_INLINE.
27886         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
27887         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
27888         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
27889         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
27890         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
27891         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
27892         * modules/binary-io, modules/eealloc, modules/mbfile:
27893         * modules/mbiter, modules/mbuiter:
27894         (Depends-on): Add extern-inline.
27896         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
27897         * lib/pipe-filter-aux.c: New file.
27898         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
27899         Replace all uses of 'static inline' with it.
27900         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27901         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
27902         (filter_retcode): No real need for inline here.
27903         * modules/pipe-filter-gi, modules/pipe-filter-ii:
27904         (Files): Add lib/pipe-filter-aux.c.
27905         (Depends-on): Add extern-inline.
27906         (configure.ac): Do not require AC_C_INLINE.
27907         (lib_SOURCES): Add pipe-filter-aux.c.
27909         fdutimensat: omit unnecessary AC_C_INLINE
27910         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
27912         fchmodat, fchownat, fstatat: use extern-inline
27913         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
27914         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
27915         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
27916         New macros.
27917         * lib/openat.h:
27918         Replace all uses of 'static inline' with them.
27919         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27920         * modules/fchmodat, modules/fchownat, modules/fstatat:
27921         * modules/openat-h:
27922         (Depends-on):
27923         Add extern-inline.
27924         (configure.ac): Remove AC_C_INLINE.
27926         acl, mbchar, priv-set: use extern-inline
27927         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
27928         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
27929         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
27930         New macros.
27931         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
27932         Replace all uses of 'static inline' with it.
27933         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27934         * m4/acl.m4 (gl_FUNC_ACL):
27935         * m4/mbchar.m4 (gl_MBCHAR):
27936         * m4/priv-set.m4 (gl_PRIV_SET):
27937         Remove AC_C_INLINE, since 'inline' is no longer used directly.
27938         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
27939         Add extern-inline.
27941         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
27942         * m4/sockets.m4 (gl_SOCKETS):
27943         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
27944         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
27945         environments where it's already guaranteed to work, so we needn't
27946         check for it at 'configure'-time.
27948         tls-tests: omit unnecessary 'inline'
27949         * tests/test-tls.c (perhaps_yield): No longer inline.
27950         Simplicity and portability trump efficiency in test cases.
27952         utimens-tests: avoid unnecessary 'inline'
27953         * modules/fdutimensat-tests (configure.ac):
27954         * modules/futimens-tests (configure.ac):
27955         * modules/utimens-tests (configure.ac):
27956         * modules/utimensat-tests (configure.ac):
27957         Remove AC_C_INLINE.
27958         * tests/test-utimens-common.h (ctime_compare):
27959         No longer inline.  Simplicity and portability trump efficiency here.
27961         misc: don't limit commentary to inline functions
27962         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
27963         * lib/xalloc-oversized.h, lib/xsize.h:
27964         Contrast macros to functions in general, not just to inline functions,
27965         when the commentary does not apply only to inline functions.
27967 2012-09-20  Jim Meyering  <meyering@redhat.com>
27969         non-recursive-gnulib-prefix-hack: new module
27970         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
27971         the file that originated in Bison.
27972         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
27973         largely copied from a snippet that resided in bison's configure.ac.
27974         * modules/non-recursive-gnulib-prefix-hack: New file.
27975         * MODULES.html.sh (Support for maintaining and releasing projects):
27976         Add it.
27978 2012-09-18  Jim Meyering  <meyering@redhat.com>
27980         maint.mk: generalize _gl_tight_scope for non-recursive make
27981         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
27982         that *.h would describe additional .h files in the directory
27983         specified by $(_gl_TS_dir).  I.e., add this...
27984         (_gl_TS_other_headers): New variable.
27986         maint.mk: exempt trailing blanks found in "binary" files
27987         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
27988         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
27989         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
27991 2012-09-17  Jim Meyering  <meyering@redhat.com>
27993         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
27994         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
27995         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
27996         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
27998 2012-09-17  Jim Meyering  <meyering@redhat.com>
28000         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
28001         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
28002         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
28003         It is not in the same category as "exit (0)" or "exit (1)", and
28004         besides, I know of no symbolic name for that 77.  Reported by
28005         Richard W.M. Jones in
28006         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
28008 2012-09-17  Jim Meyering  <meyering@redhat.com>
28010         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
28011         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
28012         all uses of #define, not just those that start in column 1.
28013         Richard W.M. Jones reported a false positive in
28014         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
28016 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
28018         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
28019         * lib/localcharset.c (locale_charset) [DARWIN7]:
28020         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
28021         as these two values are incompatible.  Problem reported by Max Horn.
28022         For more discussion, please see
28023         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
28025         doc: document sticky-EOF issue
28026         * doc/posix-functions/fgetc.texi (fgetc):
28027         * doc/posix-functions/fgets.texi (fgets):
28028         * doc/posix-functions/fread.texi (fread):
28029         * doc/posix-functions/fscanf.texi (fscanf):
28030         * doc/posix-functions/getc.texi (getc):
28031         * doc/posix-functions/getchar.texi (getchar):
28032         * doc/posix-functions/scanf.texi (scanf):
28033         Mention that glibc and default Solaris do not conform to
28034         C99 and POSIX-2001 or later, with respect to how getchar
28035         etc. behave when feof reports nonzero.
28037 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
28039         poll: fix poll(0, NULL, msec)
28040         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
28041         but nfd is 0.  In that case poll should behave like select.
28043 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
28044             Paolo Bonzini  <bonzini@gnu.org>
28046         poll: fix for systems that can't recv() on a non-socket
28047         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
28048         is readable.  In this case POLLHUP will not be supported.
28049         * doc/posix-functions/poll.texi: Document this.
28051 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
28053         poll/select: document portability problems not fixed by Gnulib.
28054         * doc/posix-functions/poll.texi: poll does not work well on
28055         pipes under Windows.  It has the same limitations as select on
28056         BeOS.
28057         * doc/posix-functions/select.texi: select does not work well
28058         on pipes under Windows.
28060 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
28062         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
28063         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
28064         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
28065         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
28067 2012-09-06  Eric Blake  <eblake@redhat.com>
28069         net_if: give more details about the bug being fixed
28070         * doc/posix-headers/net_if.texi: Add clarification.
28072 2012-09-05  Eric Blake  <eblake@redhat.com>
28074         net_if: new module
28075         * modules/net_if: New module, borrowing ideas from netinet_in.
28076         * m4/net_if_h.m4: New file.
28077         * lib/net_if.in.h: Likewise.
28078         * doc/posix-headers/net_if.texi (net/if.h): Document it.
28079         * MODULES.html.sh (lacking POSIX:2008): Likewise.
28080         * tests/test-net_if.c: Make function checks conditional.
28081         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
28083 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
28085         readutmp: fix non-portable UT_PID use
28086         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
28087         Use `UT_PID (u) > 0' as absolute condition.
28089 2012-09-04  Jim Meyering  <meyering@redhat.com>
28091         fts: reduce two or more trailing spaces to just one, usually
28092         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
28093         or more slashes, trim all but the final one.  But if a name consists
28094         solely of two slashes, don't modify it.  If it consists solely of
28095         three or more slashes, strip all but one.
28097         This is part of the solution to a minor problem with rm:
28098         it would print a bogus ELOOP diagnostic when failing to remove
28099         the slash-decorated name of a symlink-to-directory:
28101             $ mkdir d && ln -s d s && env rm -r s/
28102             rm: cannot remove 's': Too many levels of symbolic links
28104         With the change below and a trivial don't-trim-trailing-slashes
28105         adjustment to remove.c, it does this:
28107             $ env rm -r s/
28108             rm: cannot remove 's/': Not a directory
28110         Improved by: Eric Blake
28112         fts: when there is no risk of overlap, use memcpy, not memmove
28113         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
28115 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
28117         stdbool: be more compatible with mixed C/C++ compiles
28118         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
28119         Define to bool, true, false, respectively, as GCC's builtin
28120         stdbool.h does.  Problem reported by Michael Goffioul in
28121         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
28123 2012-08-28  Jim Meyering  <meyering@redhat.com>
28125         revert last change: it was not needed
28126         * tests/test-vc-list-files-git.sh: There's already a test for
28127         a working git, just below.
28129 2012-08-28  Jim Meyering  <meyering@redhat.com>
28131         tests: test-vc-list-files-git.sh: skip if git is not available
28132         * tests/test-vc-list-files-git.sh: Skip this test when git is
28133         not available.
28135 2012-08-26  Bruno Haible  <bruno@clisp.org>
28137         gnulib-tool: Remove no-op option --no-changelog.
28138         * gnulib-tool (func_usage): Don't mention --no-changelog.
28139         (do_changelog): Remove variable.
28140         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
28142 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28144         doc: remove fdl-1.2.texi
28145         It is no longer used or maintained, and its use of @acronym
28146         is problematic.  See the thread containing
28147         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
28148         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
28149         * doc/old-licenses/fdl-1.2.texi: Remove.
28151         execinfo: port to FreeBSD
28152         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
28153         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
28154         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
28155         * modules/execinfo (Link): Add $(LIB_EXECINFO).
28157 2012-08-23  Jim Meyering  <meyering@redhat.com>
28159         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
28160         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
28161         to placate gcc's -Wold-style-declaration.
28163 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28165         doc: do not use @acronym
28166         * doc/inet_ntoa.texi (inet_ntoa):
28167         * doc/parse-datetime.texi (Seconds since the Epoch)
28168         (Specifying time zone rules):
28169         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
28170         Don't use @acronym.  Problem reported by John Darlington in
28171         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
28173 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
28175         stdnoreturn: port to newer GCCs
28176         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
28177         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
28178         Problem reported by Jim Meyering in
28179         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
28180         Also, rename the 'test' function to a void a clash with the
28181         already-supplied 'main' function; this fixes a bug that incorrectly
28182         rejected GCC 4.7.1's <stdnoreturn.h>.
28183         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
28184         Document GCC problem.
28186 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
28188         pipe-filter: fix comment typo
28189         * lib/pipe-filter.h: Mention correct function.
28191 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
28193         execinfo: new module
28194         This is for Emacs.  Currently, it provides a no-effect stub
28195         on all platforms where it does not already work.
28196         It already works on glibc-based systems, and on Solaris 11.
28197         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
28198         New files.
28199         * doc/glibc-headers/execinfo.texi (execinfo.h):
28200         * MODULES.html.sh (Misc): Document it.
28202 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
28204         extern-inline: support old GCC 'inline'
28205         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
28206         if available.  This applies to GCC versions 2.7 through 4.2, or
28207         when newer GCC is using -fgnu89-inline.  The goal is to address
28208         some of the performance issues mentioned by Bruno Haible in
28209         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
28211 2012-08-20  Eric Blake  <eblake@redhat.com>
28213         maint.mk: avoid redundant file name in message
28214         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
28215         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
28216         (sc_makefile_path_separator_check): Remove bogus $(ME).
28218 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
28220         timer-time: fix link order when static linking on glibc
28221         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
28222         _after_ -lrt so that it's significant.
28224 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
28226         timespec: omit unnecessary AC_C_INLINE
28227         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
28229         stat-time: omit unnecessary AC_C_INLINE
28230         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
28231         Do not require AC_C_INLINE.
28233         ignore-value: omit unnecessary AC_C_INLINE
28234         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
28236         sys_select: avoid 'static inline'
28237         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
28239         mktime: avoid 'static inline'
28240         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
28241         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
28243 2012-08-19  Bruno Haible  <bruno@clisp.org>
28245         gnulib-tool: Improve coding style.
28246         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
28247         func_emit_lib_Makefile_am.
28248         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
28250 2012-08-19  Bruno Haible  <bruno@clisp.org>
28252         gnulib-tool: Fix indentation.
28253         * gnulib-tool (func_import): Fix indentation.
28255 2012-08-19  Bruno Haible  <bruno@clisp.org>
28257         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
28258         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
28259         on the list of removed files.
28261 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28263         test-parse-datetime: avoid glibc leap-second glitch
28264         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
28265         with the 2012 rules.  Problem reported by Bruce Dubbs in
28266         <http://bugs.gnu.org/12206>.
28268 2012-08-14  Bruno Haible  <bruno@clisp.org>
28270         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
28271         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
28272         from argument.
28273         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
28275 2012-08-14  Eric Blake  <eblake@redhat.com>
28277         ldexp: relax license
28278         * modules/ldexp (License): Trivial relax, since the module only
28279         provides a permissively licensed m4 file.
28281 2012-08-13  Bruno Haible  <bruno@clisp.org>
28283         gnulib-tool: Fix persistence of --witness-c-macro option.
28284         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
28285         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
28287 2012-08-11  Eric Blake  <eblake@redhat.com>
28289         count-leading-zeros: use a lookup table on non-gcc compilers
28290         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
28291         alternate implementation, suggested by Jim Meyering.
28293 2012-08-10  Eric Blake  <eblake@redhat.com>
28295         count-leading-zeros: new module
28296         * modules/count-leading-zeros: New module.
28297         * m4/count-leading-zeros.m4: New file.
28298         * lib/count-leading-zeros.h: Likewise.
28299         * modules/count-leading-zeros-tests: New test.
28300         * tests/test-count-leading-zeros.c: New file.
28301         * MODULES.html.sh (Integer arithmetic functions): Document it.
28303 2012-08-07  Simon Josefsson  <simon@josefsson.org>
28304             Jim Meyering  <meyering@redhat.com>
28306         maintainer-makefile: Fix syntax error with dash.
28307         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
28308         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
28310 2012-08-05  Jim Meyering  <meyering@redhat.com>
28312         extern-inline: also ignore -Wmissing-declarations
28313         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
28314         required with gcc-4.8.0-to-be.
28316         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
28317         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
28318         for /error ?([^,]*)/.  This avoids false-positives for strings like
28319         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
28321 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
28323         gnumakefile: better interaction with Automake-NG
28324         * modules/gnumakefile [Makefile.am]: The makefiles generated by
28325         Automake-NG always contain a definition of VPATH, even in non-VPATH
28326         builds (its value being simply '.' in that case).  So, in the
28327         'clean-GNUmakefile' rule, to determine whether running under a
28328         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
28329         '$(VPATH)' expands to the empty string.
28331 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
28333         base64: Use extern C scope in header file, for C++.
28334         * lib/base64.h: Add C++ namespace protection.
28336 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
28338         stat-time, timespec, u64: support naive out-of-dir builds
28339         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
28340         Use '#include "foo.h"', not '#include <foo.h>', when including
28341         one's own interface.  This works better when configuring with
28342         out-of-directory builds, since packages need not add an
28343         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
28345 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
28347         utimens: use extern-inline
28348         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
28349         * lib/utimens.h: Add copyright notice, since this is now large enough
28350         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
28351         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
28352         * modules/utimens (Depends-on): Add extern-inline.
28354         u64: use extern-inline
28355         * lib/u64.c: New file.
28356         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
28357         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
28358         * modules/u64 (Files): Add lib/u64.c.
28359         (Depends-on): Add extern-inline.
28360         (configure.ac): No need to require AC_C_INLINE, since extern-inline
28361         does that now.
28362         (lib_SOURCES): Add u64.c.
28364         timespec: use extern-inline
28365         * lib/timespec.c: New file.
28366         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
28367         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
28368         * modules/timespec (Files): Add lib/timespec.c.
28369         (Depends-on): Add extern-inline.
28370         (lib_SOURCES): Add timespec.c.
28372         stat-time: use extern-inline
28373         * lib/stat-time.c: New file.
28374         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
28375         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
28376         * modules/stat-time (Files): Add lib/stat-time.c.
28377         (Depends-on): Add extern-inline.
28378         (lib_SOURCES): Add stat-time.c.
28380         extern-inline: new module
28381         * modules/extern-inline, m4/extern-inline.m4: New files.
28382         This is for better support of 'extern inline' a la ISO C99,
28383         with a portable alternative on compilers that do not support
28384         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
28385         of the Emacs executable, when compiled with debugging disabled,
28386         which is a typical way that Emacs is built while developing.
28388 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
28390         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
28391         * build-aux/do-release-commit-and-tag: Move variable definitions
28392         together.
28393         ($branch): Instead of defaulting to "master", default to the current
28394         branch (as gnu-web-doc-update does).
28395         (help): Display the current values of the option arguments.
28396         * top/maint.mk (release-commit): New.
28397         * top/README-release: Simplify the corresponding step.
28399 2012-07-30  Eric Blake  <eblake@redhat.com>
28401         passfd: fix comment on recvfd
28402         * lib/passfd.c (recvfd): Fix comment.
28403         Reported by Jann Horn <jannhorn@googlemail.com>.
28405 2012-07-30  Jim Meyering  <meyering@redhat.com>
28407         maint.mk: avoid a sub-shell
28408         * top/maint.mk (release-prep): Remove unneeded sub-shell.
28410 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
28412         maint.mk: use silent-rules support from Automake
28413         * top/maint.mk (news-check, vc-diff-check, announcement)
28414         (no-submodule-changes, alpha beta stable, release-prep)
28415         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
28417 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
28419         maint.mk: provide a web-manual-update target
28420         * top/maint.mk: here.
28421         * top/README-release: Use it to simplify the web manual update step.
28423 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
28425         README-release: shorten the circuit to post a news
28426         * top/README-release: Point directly to the news submission form.
28428 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
28430         gnu-web-doc-update: fix --help
28431         * build-aux/gnu-web-doc-update: The information "top level" was written
28432         twice.
28434 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
28436         maint.mk: absolute VPATH issue
28437         * top/maint.mk (release-prep): Help Git find .git/.
28438         From Jim Meyering.
28440 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
28442         gitlog-to-changelog: fix previous change
28443         * build-aux/gitlog-to-changelog: Fix condition.
28444         Add missing ";".
28446 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
28448         gitlog-to-changelog: don't expect .git to be in $srcdir
28449         Reported by Bruno Haible.
28450         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
28451         * build-aux/gitlog-to-changelog (&git_dir_option): New.
28452         Use it.
28454 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
28456         maint.mk: absolute VPATH build fix
28457         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
28458         $(srcdir) is not a parent of $(builddir).
28460 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
28462         clean-temp: Fix memory leak.
28463         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
28464         'files' members of tmpdir.
28466 2012-07-27  Jim Meyering  <meyering@redhat.com>
28468         maint.mk: new rule: refresh-gnulib-patches
28469         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
28470         Use this rule to refresh them.
28471         * top/maint.mk (refresh-gnulib-patches): New rule.
28473 2012-07-24  Bruno Haible  <bruno@clisp.org>
28475         gnulib-tool: Fix handling of inctests variable.
28476         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
28477         Reported by Nick Bowler <nbowler@elliptictech.com>.
28479 2012-07-22  Bruno Haible  <bruno@clisp.org>
28481         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
28482         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
28483         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
28484         Remove exemption for getpass.h.
28485         Suggested by Eric Blake.
28487 2012-07-20  Eric Blake  <eblake@redhat.com>
28489         verify: document conflict with -Wnested-externs
28490         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
28492         maint.mk: forbid exit(-1)
28493         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
28495 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
28497         fsusage: port back to Solaris
28498         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
28499         error (fsd not declared) on Solaris 10.  Reported privately by
28500         Andrew Borodin.
28502 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
28504         gnu-web-doc-update: fix error messages
28505         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
28507         gnu-web-doc-update: check the requirements.
28508         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
28509         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
28510         * build-aux/bootstrap (find_tool): Comment change.
28512 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
28514         maint.mk: minor simplication.
28515         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
28516         for default values.
28518 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
28520         gitlog-to-changelog: VPATH build issues
28521         If builddir is not a subdirectory of srcdir, running git from it will
28522         fail.
28523         * build-aux/gitlog-to-changelog (--srcdir): New option.
28525 2012-07-15  Bruno Haible  <bruno@clisp.org>
28527         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
28528         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
28529         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
28530         Remove exemption for fpending.h.
28531         Suggested by Eric Blake.
28533 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
28535         pthread_sigmask: fix bug on FreeBSD 9
28536         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
28537         Include string.h.
28538         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
28539         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
28540         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
28541         but pthread_sigmask (1729, NULL, NULL) returns zero.
28542         See <http://bugs.gnu.org/11884>.
28543         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
28544         by inspecting whether the main call changed the old mask.
28546 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
28548         README-release: make it more legible
28549         * top/README-release: Improve typography slightly.
28551 2012-07-15  Jim Meyering  <meyering@redhat.com>
28553         maint: require that each sc_... command start with "@"
28554         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
28555         "make sc_maint" helps us avoid this nit.
28557 2012-07-15  Jim Meyering  <meyering@redhat.com>
28559         maint.mk: add leading "@" to quiet new "make syntax-check" rule
28560         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
28562 2012-07-13  Eric Blake  <eblake@redhat.com>
28564         maint.mk: new syntax check for HAVE_DECL checks
28565         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
28566         * cfg.mk
28567         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
28568         Exempt some false positives.
28569         Based on a report by Karel Zak.
28571         argp: make HAVE_DECL usage consistent
28572         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
28573         macros, not whether they are defined.
28574         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
28575         convention with other declaration checks.
28576         Reported by Karel Zak, with suggestions from Paul Eggert.
28578         stat-time: relax license to LGPLv2+
28579         * modules/stat-time (License): Relax, with consent of all authors.
28581         strndup: fix m4 usage error
28582         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
28583         defined, to either 0 or 1.
28584         Reported by Karel Zak.
28586 2012-07-11  Jim Meyering  <meyering@redhat.com>
28588         maint: enable the sc_avoid_if_before_free syntax-check rule
28589         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
28590         (if_before_free_offenders_): Define.
28591         (if_before_free_basename_re_): Define.
28592         Exempt current files with useless if-before-free.
28594 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
28596         gettext: do not assume '#define ... defined ...' behavior
28597         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
28598         Do not use '#define FOO ... defined BAR ...', as the C standard says
28599         it's not portable to expect that this works after macro expansion.
28600         Problem reported for gzip by Steven M. Schweda in
28601         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
28603 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
28605         getloadavg: clean out old Emacs and Autoconf cruft
28606         See Glenn Morris in <http://bugs.gnu.org/11905>.
28607         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
28608         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
28609         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
28610         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
28612 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
28614         bootstrap: let warn be like tests/init.sh's warn_
28615         Reported by Jim Meyering.
28616         * build-aux/bootstrap (warn): Remove, replaced by...
28617         (warnf_, warn_): these.
28618         Adjust callers.
28619         Shorten messages that no longer fit in 80 columns.
28621 2012-07-09  Bruno Haible  <bruno@clisp.org>
28623         getopt: Simplify after Emacs changed.
28624         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
28625         (gl_GETOPT_IFELSE): Remove macro.
28627 2012-07-09  Jim Meyering  <meyering@redhat.com>
28629         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
28630         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
28632         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
28633         Bugs in both of those conspired to make the
28634         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
28635         _sc_search_regexp's handling of non-empty $in_files would filter
28636         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
28637         choice of in_files value meant there would be no match in most
28638         projects, due to the presence of two or more Makefile.in files.
28639         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
28640         Fix a bug in how a non-empty $$in_files was processed:
28641         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
28642         in spite of the name, it's a regexp, not a list of file names.
28644 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
28646         getloadavg, getopt: fix commentary re configure.in
28647         Autoconf is deprecating the name 'configure.in', so change it to
28648         to the new name 'configure.ac' in a couple of places.
28649         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
28650         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
28651         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
28652         Emacs has renamed it to configure.ac, and it no longer refers
28653         to these macros anyway.
28655         timespec: mark functions with const attributes
28656         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
28657         Mark with _GL_ATTRIBUTE_CONST.
28659 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
28661         canonicalize[-lgpl]: handle "guessing" values when cross-building
28662         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
28663         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
28664         matches "*yes" instead of just "yes".  Regression introduced in commit
28665         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
28667 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
28668             Bruno Haible  <bruno@clisp.org>
28670         canonicalize: make the right guess when cross-compiling to GNU
28671         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
28672         determine whether cross-compiling to glibc systems, so as to
28673         include GNU/Hurd.
28675 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
28677         timespec-sub: avoid duplicate include
28678         * lib/timespec-sub.c: Do not include <config.h> twice.
28679         Reported by Juanma Barranquero.
28681 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
28683         bootstrap: use a more consistent error reporting scheme
28684         * build-aux/bootstrap (warn, die): New.
28685         Use them.
28687 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
28689         sys_time: allow too-wide tv_sec
28690         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
28691         timeval even if tv_sec is wider than time_t.  This allows
28692         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
28693         as without this patch gnulib replaces struct timeval
28694         and OpenBSD futimes therefore has a type mismatch.
28695         * doc/posix-headers/sys_time.texi: Mention this.
28697         pthread: check for both pthread_create and pthread_join
28698         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
28699         alter the check so that it tests for both pthread_create and
28700         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
28701         Suggested by Bruno Haible and Richard Yao in
28702         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
28704         parse-datetime: doc tuneup
28705         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
28706         spacing issues.
28708 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
28710         do-release-commit-and-tag: fix the previous commit
28711         * build-aux/do-release-commit-and-tag: Actually the test was right,
28712         but the comment and the error message were misleading.
28713         Fix comment, and improve error message.
28714         Perform check first, so that NEWS is not modified uselessly.
28716         do-release-commit-and-tag: fix typo
28717         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
28718         _not_ start with a stub.
28720 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
28722         pthread: check for pthread_create, not pthread_join
28723         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
28724         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
28725         pthread_join in libc.  I hope this removes the need for all the
28726         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
28727         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
28729 2012-07-04  Jim Meyering  <meyering@redhat.com>
28731         parse-datetime: fix failure to diagnose invalid input
28732         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
28733         rather than diagnosing the invalid input.  Now it reports this:
28734         date: invalid date '\260'
28735         * lib/parse-datetime.y (to_uchar): Define.
28736         (yylex): Don't sign-extend "other" bytes.
28737         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
28738         Thanks to Bruno Haible for the patch to this file.
28739         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
28740         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
28742 2012-07-03  Jim Meyering  <meyering@redhat.com>
28744         bootstrap: do not require now-removed build-aux/missing
28745         Now that build-aux/missing is, er, missing, bootstrap would
28746         silently fail.
28747         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
28748         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
28749         no longer part of gnulib.
28750         Diagnose the failure.
28752 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
28754         alloca: add support for HP NonStop TNS/E native
28755         * lib/alloca.in.h (alloca): Support the new host.
28756         From a suggestion by Joachim Schmitz in
28757         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
28759 2012-07-02  Pádraig Brady  <P@draigBrady.com>
28761         fsusage: remove code not needed on non GNU/Linux systems.
28763         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
28764         Don't include headers no longer needed in this case.
28765         * lib/fsusage.c [STAT_STATVFS &&
28766         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
28767         STAT_STATFS2_FRSIZE to exclude code not used in this case.
28769 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
28771         fsusage: include files needed for glibc 2.6 fallback
28772         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
28773         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
28774         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
28775         Problem reported by Ludovic Courtès in
28776         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
28778         fsusage: avoid needless check on GNU/Linux
28779         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
28780         on GNU/Linux systems, since it can't possibly work.
28782 2012-07-01  Bruno Haible  <bruno@clisp.org>
28784         log: Fix an autoconf >= 2.64 warning.
28785         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
28786         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
28788 2012-06-28  Bruno Haible  <bruno@clisp.org>
28790         log10f: Fix possible configuration problem.
28791         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
28792         $LOGF_LIBM.
28793         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
28795 2012-06-28  Bruno Haible  <bruno@clisp.org>
28797         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
28798         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
28799         not gl_cv_func_unlink_works.
28800         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
28802 2012-06-27  Eric Blake  <eblake@redhat.com>
28804         config: drop scripts that automake says are not independent
28805         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
28806         * build-aux/elisp-comp: Delete.
28807         * build-aux/missing: Likewise.
28808         * build-aux/ylwrap: Likewise.
28809         * modules/elisp-comp: Likewise.
28810         * MODULES.html.sh: Drop mention of elisp-comp.
28811         * NEWS: Mention this.
28813 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
28815         root-uid: new module
28816         This is for portability to Tandem's NonStop Kernel.
28817         * lib/root-uid.h, modules/root-uid: New files.
28818         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
28819         * lib/write-any-file.c, tests/test-sethostname2.c:
28820         Include "root-uid.h".
28821         * lib/euidaccess.c (euidaccess):
28822         * lib/pt_chown.c (main):
28823         * lib/unlinkdir.c (cannot_unlink_dir):
28824         * lib/write-any-file.c (can_write_any_file):
28825         * m4/mknod.m4 (gl_FUNC_MKNOD):
28826         * tests/test-sethostname2.c (geteuid, main):
28827         Don't assume ROOT_UID == 0.
28828         * modules/euidaccess (Depends-on):
28829         * modules/pt_chown (Depends-on):
28830         * modules/sethostname-tests (Depends-on):
28831         * modules/unlinkdir (Depends-on):
28832         * modules/write-any-file (Depends-on):
28833         Add root-uid.
28835         regex: use locale-independent comparison for codeset name
28836         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
28837         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
28838         for codeset name.
28839         * lib/regex_internal.h: Do not include <strings.h>, since we
28840         no longer use strcasecmp.
28841         * modules/regex (Depends-on): Remove strcase.
28843 2012-06-23  Bruno Haible  <bruno@clisp.org>
28845         getopt-posix: No longer guarantee that option processing is resettable.
28846         * doc/posix-functions/getopt.texi: Drop description of problem with
28847         internal state. Fix info about mingw and msvc9.
28848         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
28849         option processing by getopt(). Run three test programs instead of one.
28850         Simplify cross-compilation guess.
28851         * NEWS: Mention the change.
28852         Reported by Rich Felker <dalias@aerifal.cx>.
28854 2012-06-26  Bruno Haible  <bruno@clisp.org>
28856         argp, regex: Ensure strcasecmp gets declared.
28857         * lib/argp-help.c: Include <strings.h>.
28858         * lib/regex_internal.h: Likewise.
28859         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
28861 2012-06-24  Bruno Haible  <bruno@clisp.org>
28863         ptsname_r: Make it consistent with ptsname on AIX.
28864         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
28865         implementation as for OSF/1.
28866         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
28867         a pty master.
28869         ptsname_r: Make it consistent with ptsname on OSF/1.
28870         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
28871         OSF/1.
28873 2012-06-24  Bruno Haible  <bruno@clisp.org>
28875         ttyname_r: Fix result on OSF/1, Solaris.
28876         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
28878 2012-06-24  Bruno Haible  <bruno@clisp.org>
28880         ptsname_r: Add support for Solaris.
28881         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
28882         Solaris.
28884         ptsname_r: Fix test failure on native Windows.
28885         * modules/ptsname_r (Depends-on): Add isatty.
28887         ptsname_r: Fix test failures on IRIX, Solaris.
28888         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
28889         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
28890         accordingly.
28891         * lib/ptsname_r.c: Include <fcntl.h>.
28892         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
28893         set errno if fd is invalid.
28894         * tests/test-isatty.c (main): Update comments.
28896 2012-06-24  Bruno Haible  <bruno@clisp.org>
28898         ptsname test: Extend test.
28899         * tests/test-ptsname.c: Include <errno.h>.
28900         (main): Test behaviour with invalid file descriptor.
28902 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28904         time: fix obsolete comment
28905         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
28906         reference to HAVE_STRUCT_TIMESPEC in comment.
28908 2012-06-23  Bruno Haible  <bruno@clisp.org>
28910         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
28911         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
28912         does not handle abbreviated long options with equivalent
28913         disambiguations, set gl_replace_getopt to yes.
28914         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
28916 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
28918         time_r: fix typo that always overrode localtime_r decl
28919         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
28920         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
28921         not in a standard include.
28923 2012-06-22  Bruno Haible  <bruno@clisp.org>
28925         Write "Mac OS X" instead of "MacOS X".
28926         * README: Write "Mac OS X" instead of "MacOS X".
28927         * build-aux/bootstrap: Likewise.
28928         * build-aux/install-reloc: Likewise.
28929         * lib/acl-internal.h: Likewise.
28930         * lib/acl_entries.c: Likewise.
28931         * lib/argp-ba.c: Likewise.
28932         * lib/argp-pv.c: Likewise.
28933         * lib/config.charset: Likewise.
28934         * lib/copy-acl.c: Likewise.
28935         * lib/csharpexec.c: Likewise.
28936         * lib/euidaccess.c: Likewise.
28937         * lib/fbufmode.c: Likewise.
28938         * lib/fflush.c: Likewise.
28939         * lib/file-has-acl.c: Likewise.
28940         * lib/filemode.h: Likewise.
28941         * lib/fpurge.c: Likewise.
28942         * lib/freadable.c: Likewise.
28943         * lib/freadahead.c: Likewise.
28944         * lib/freading.c: Likewise.
28945         * lib/freadptr.c: Likewise.
28946         * lib/freadseek.c: Likewise.
28947         * lib/fseeko.c: Likewise.
28948         * lib/fseterr.c: Likewise.
28949         * lib/fsusage.c: Likewise.
28950         * lib/fwritable.c: Likewise.
28951         * lib/fwriting.c: Likewise.
28952         * lib/get-rusage-as.c: Likewise.
28953         * lib/get-rusage-data.c: Likewise.
28954         * lib/getdomainname.c: Likewise.
28955         * lib/idpriv-drop.c: Likewise.
28956         * lib/idpriv-droptemp.c: Likewise.
28957         * lib/localcharset.c: Likewise.
28958         * lib/locale.in.h: Likewise.
28959         * lib/localename.c: Likewise.
28960         * lib/mbsrtowcs-state.c: Likewise.
28961         * lib/nproc.c: Likewise.
28962         * lib/passfd.c: Likewise.
28963         * lib/posix_openpt.c: Likewise.
28964         * lib/printf-parse.c: Likewise.
28965         * lib/progreloc.c: Likewise.
28966         * lib/safe-read.h: Likewise.
28967         * lib/safe-write.h: Likewise.
28968         * lib/sched.in.h: Likewise.
28969         * lib/set-mode-acl.c: Likewise.
28970         * lib/signal.in.h: Likewise.
28971         * lib/stdint.in.h: Likewise.
28972         * lib/stdio-impl.h: Likewise.
28973         * lib/stdlib.in.h: Likewise.
28974         * lib/strtod.c: Likewise.
28975         * lib/sys_select.in.h: Likewise.
28976         * lib/tcgetsid.c: Likewise.
28977         * lib/unistd.in.h: Likewise.
28978         * lib/unlockpt.c: Likewise.
28979         * lib/vasnprintf.c: Likewise.
28980         * lib/vma-iter.c: Likewise.
28981         * lib/wcsrtombs-state.c: Likewise.
28982         * m4/acl.m4: Likewise.
28983         * m4/acosl.m4: Likewise.
28984         * m4/asinl.m4: Likewise.
28985         * m4/atanl.m4: Likewise.
28986         * m4/c-stack.m4: Likewise.
28987         * m4/cosl.m4: Likewise.
28988         * m4/expl.m4: Likewise.
28989         * m4/extensions.m4: Likewise.
28990         * m4/fdatasync.m4: Likewise.
28991         * m4/fmal.m4: Likewise.
28992         * m4/frexp.m4: Likewise.
28993         * m4/frexpf.m4: Likewise.
28994         * m4/frexpl.m4: Likewise.
28995         * m4/fsusage.m4: Likewise.
28996         * m4/getdomainname.m4: Likewise.
28997         * m4/getloadavg.m4: Likewise.
28998         * m4/getopt.m4: Likewise.
28999         * m4/gettext.m4: Likewise.
29000         * m4/gnulib-common.m4: Likewise.
29001         * m4/intdiv0.m4: Likewise.
29002         * m4/intlmacosx.m4: Likewise.
29003         * m4/largefile.m4: Likewise.
29004         * m4/ldexpl.m4: Likewise.
29005         * m4/link-follow.m4: Likewise.
29006         * m4/locale-ar.m4: Likewise.
29007         * m4/locale-fr.m4: Likewise.
29008         * m4/locale-ja.m4: Likewise.
29009         * m4/locale-tr.m4: Likewise.
29010         * m4/locale-zh.m4: Likewise.
29011         * m4/locale_h.m4: Likewise.
29012         * m4/lock.m4: Likewise.
29013         * m4/logl.m4: Likewise.
29014         * m4/mathfunc.m4: Likewise.
29015         * m4/minus-zero.m4: Likewise.
29016         * m4/mktime.m4: Likewise.
29017         * m4/mmap-anon.m4: Likewise.
29018         * m4/multiarch.m4: Likewise.
29019         * m4/nanosleep.m4: Likewise.
29020         * m4/nocrash.m4: Likewise.
29021         * m4/poll.m4: Likewise.
29022         * m4/printf-frexpl.m4: Likewise.
29023         * m4/printf.m4: Likewise.
29024         * m4/signbit.m4: Likewise.
29025         * m4/sinl.m4: Likewise.
29026         * m4/sqrtl.m4: Likewise.
29027         * m4/strerror_r.m4: Likewise.
29028         * m4/tanl.m4: Likewise.
29029         * m4/threadlib.m4: Likewise.
29030         * m4/ttyname_r.m4: Likewise.
29031         * m4/unlink.m4: Likewise.
29032         * m4/visibility.m4: Likewise.
29033         * m4/wcwidth.m4: Likewise.
29034         * tests/minus-zero.h: Likewise.
29035         * tests/test-alloca-opt.c: Likewise.
29036         * tests/test-copy-acl.sh: Likewise.
29037         * tests/test-copy-file.sh: Likewise.
29038         * tests/test-fdatasync.c: Likewise.
29039         * tests/test-file-has-acl.sh: Likewise.
29040         * tests/test-flock.c: Likewise.
29041         * tests/test-fsync.c: Likewise.
29042         * tests/test-localename.c: Likewise.
29043         * tests/test-malloca.c: Likewise.
29044         * tests/test-nonblocking-pipe.h: Likewise.
29045         * tests/test-nonblocking-socket.h: Likewise.
29046         * tests/test-openpty.c: Likewise.
29047         * tests/test-posix_openpt.c: Likewise.
29048         * tests/test-ptsname.c: Likewise.
29049         * tests/test-ptsname_r.c: Likewise.
29050         * tests/test-sameacls.c: Likewise.
29051         * tests/test-select.h: Likewise.
29052         * tests/test-set-mode-acl.sh: Likewise.
29053         * tests/test-snprintf-posix.h: Likewise.
29054         * tests/test-sprintf-posix.h: Likewise.
29055         * tests/test-strtod.c: Likewise.
29056         * tests/test-time.c: Likewise.
29057         * tests/test-vasnprintf-posix.c: Likewise.
29058         * tests/test-vasprintf-posix.c: Likewise.
29059         * doc/acl-resources.txt: Likewise.
29060         * doc/**/*.texi: Likewise.
29061         Reported by Max Horn <max@quendi.de>.
29063 2012-06-22  Bruno Haible  <bruno@clisp.org>
29065         grantpt: Relax requirement regarding invalid file descriptors.
29066         * lib/grantpt.c: Don't include <fcntl.h>.
29067         (grantpt): Don't verify the validity of the file descriptor.
29068         * modules/grantpt (Depends-on): Remove fcntl-h.
29069         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
29070         file descriptors.
29071         * doc/posix-functions/grantpt.texi: Document more platforms on which
29072         grantpt succeeds for invalid file descriptors.
29073         Reported by Rich Felker <dalias@aerifal.cx>.
29075 2012-06-22  Bruno Haible  <bruno@clisp.org>
29077         fbufmode test: Don't test unportable behaviour.
29078         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
29079         (main): Invoke it three times.
29080         Reported by Szabolcs Nagy <nsz@port70.net>
29081         and Rich Felker <dalias@aerifal.cx>.
29083 2012-06-21  Bruno Haible  <bruno@clisp.org>
29085         gnulib-tool: Refactor inctests variable.
29086         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
29087         (func_modules_transitive_closure,
29088         func_modules_transitive_closure_separately,
29089         func_import, func_create_testdir): Update.
29091         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
29092         * gnulib-tool: Accept option --without-tests.
29093         (func_usage): Document --without-tests option. Rearrange.
29094         (inctests): Normalize according to the mode.
29095         * NEWS: Mention the change.
29096         Suggested by Simon Josefsson.
29098 2012-06-21  Bruce Korb  <bkorb@gnu.org>
29100         parse-duration test: Avoid spurious output.
29101         * tests/test-parse-duration.sh: Reindent with leading tabs.
29103 2012-06-21  Jim Meyering  <meyering@redhat.com>
29105         maint: disable the strncpy prohibition
29106         * cfg.mk: Do not prohibit strncpy here.
29108 2012-06-21  Bruno Haible  <bruno@clisp.org>
29110         nonblocking: Avoid compilation error on mingw64.
29111         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
29112         fscanf.
29113         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
29114         * modules/vfscanf (configure.ac): Likewise.
29115         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
29116         definition only if stdio.h has prepared it.
29117         Reported by Daniel P. Berrange <berrange@redhat.com>.
29119 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
29121         gnulib-tool: Use readlink if it is available.
29122         * gnulib-tool (func_readlink): Choose function more appropriately.
29124 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
29126         posixtm-tests: port to buggy compiler
29127         Problem reported by Simon Josefsson in
29128         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
29129         * modules/posixtm-tests (Depends-on): Add stdint.
29130         * tests/test-posixtm.c (struct posixtm_test.t_expected):
29131         Now of type int_least64_t, not int64_t, both because that's
29132         what INT64_C returns and because int_least64_t works even
29133         on 72-bit hosts.
29134         (T): Use INT64_C on constants outside the traditional int range,
29135         to work around compiler bug noted by Simon.
29137         mktime: fix integer overflow in 'configure'-time test
29138         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
29139         after integer overflow.  Problem reported by Rich Felker in
29140         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
29141         Also, don't look for further instances of a bug if we've already
29142         found one instance; this helps 'configure' run faster.
29144 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
29146         tmpfile, clean-temp: Fix invocation of GetVersionEx.
29147         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
29148         GetVersionEx correctly.
29149         * lib/clean-temp.c (supports_delete_on_close): Likewise.
29151 2012-06-20  Bruno Haible  <bruno@clisp.org>
29153         fdopen: Allow implementations that don't reject invalid fd arguments.
29154         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
29155         succeeds.
29156         Reported by Rich Felker <dalias@aerifal.cx>.
29158 2012-06-20  Simon Josefsson  <simon@josefsson.org>
29160         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
29161         bring in LIBINTL.
29163 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
29165         init.sh: do not rely on autoupated PWD
29166         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
29167         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
29168         Although Nelson's bug was not necessarily fixed by this patch,
29169         it seems wise to make the change for safety.
29170         * tests/init.sh (path_prepend_): Do not rely on PWD updating
29171         automagically after 'cd'; this is not reliable on older shells.
29172         (setup_): Fail if we cannot cd to temporary directory.
29174 2012-06-19  Bruno Haible  <bruno@clisp.org>
29176         stat, fstat: Avoid warnings on mingw64.
29177         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
29178         redefining.
29179         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
29180         Reported by Daniel P. Berrange <berrange@redhat.com>.
29182 2012-06-19  Bruno Haible  <bruno@clisp.org>
29184         stdioext: Add support for musl libc.
29186         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
29187         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
29189         * m4/fseterr.m4: New file.
29190         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
29191         function exists.
29192         * modules/fseterr (Files): Add m4/fseterr.m4.
29193         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
29194         __fseterr does not exist.
29195         (Makefile.am): Remove fseterr.c from lib_SOURCES.
29197         * lib/freadable.h: Update comment.
29199         * lib/fwritable.h: Update comment.
29201         * lib/freading.h: Update comment.
29203         * lib/fwriting.h: Update comment.
29205         * m4/freadahead.m4: New file.
29206         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
29207         that function exists.
29208         * modules/freadahead (Files): Add m4/freadahead.m4.
29209         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
29210         __freadahead does not exist.
29211         (Makefile.am): Remove freadahead.c from lib_SOURCES.
29213         * m4/freadptr.m4: New file.
29214         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
29215         function exists.
29216         * modules/freadptr (Files): Add m4/freadptr.m4.
29217         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
29218         __freadptr does not exist.
29219         (Makefile.am): Remove freadptr.c from lib_SOURCES.
29221         * m4/freadseek.m4: New file.
29222         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
29223         exists.
29224         * modules/freadseek (Files): Add m4/freadseek.m4.
29225         (configure.ac): Invoke gl_FUNC_FREADSEEK.
29227         * lib/fpurge.c (fpurge): Update comment.
29229         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
29231 2012-06-19  Bruno Haible  <bruno@clisp.org>
29233         *printf-posix: Put more info into config.log.
29234         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
29235         exit code into config.log.
29237 2012-06-19  Bruno Haible  <bruno@clisp.org>
29239         getopt-gnu: Fix exit code overflow in autoconf test.
29240         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
29241         to keep them below < 128.
29243 2012-06-17  Jim Meyering  <meyering@redhat.com>
29245         maint.mk: fix typo in code to derive GPG key at release time
29246         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
29248 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
29250         regex: avoid warning when pointers are not long
29251         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
29252         and uintptr_t, not long, for portability to hosts where pointers and
29253         long have different sizes.  Issue noted by Daniel P. Berrange in
29254         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
29255         and fix suggested by Bruno Haible in
29256         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
29258 2012-06-17  Bruno Haible  <bruno@clisp.org>
29260         dummy: Relicense into the public domain.
29261         * modules/dummy (License): Set to "public domain".
29262         Suggested by Reuben Thomas.
29264 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
29266         announce-gen: VPATH issues
29267         * build-aux/announce-gen (--srcdir): New option, used to trim the
29268         $srcdir part of the path from $builddir to NEWS.
29269         * top/maint.mk (announcement): Adjust.
29271 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
29273         gnu-web-doc-update: VPATH builds
29274         * build-aux/gnu-web-doc-update (--builddir): New option.
29275         Revamp the handling of options.
29276         Prefer $(...) to `...`.
29277         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
29278         the template, and it is GNU mktemp specific.
29279         Prefer set -e to long series of &&.
29280         Restore the initial git branch, not "master".
29281         Properly initialize submodules (don't rely only on bootstrap).
29282         Do not reconfigure blindly, use config.status.
29283         * top/README-release: Update instructions for gnu-web-doc-update.
29285 2012-06-11  Jim Meyering  <meyering@redhat.com>
29287         maint.mk: revert most of the previous change re "all these"
29288         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
29289         For rationale, see the discussion at
29290         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
29292 2012-06-10  Karl Berry  <karl@gnu.org>
29294         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
29296         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
29298 2012-06-10  Bruce Korb  <bkorb@gnu.org>
29300         parse-duration: Relicense under LGPLv2+.
29301         * modules/parse-duration (License): Change to LGPLv2+.
29303 2012-06-10  Jim Meyering  <meyering@redhat.com>
29305         maint.mk: prohibit common grammar error: "all these"
29306         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
29307         the list of prohibited word sequences.  It should be "all of these".
29308         * lib/tempname.c (__gen_tempname): Fix one of them.
29310 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
29312         do-release-commit-and-tag: support VPATH builds
29313         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
29314         (noteworthy): Defined earlier to factor its value.
29315         (noteworthy_stub): New.
29316         Use it to factor.
29317         (help_version): Split into...
29318         (help, version): these.
29319         Adjust the option processing part.
29320         Support "--option=value" in addition to "--option value".
29321         (builddir): New.
29322         (--builddir): New option.
29323         * top/README-release: Document this.
29324         Reword slightly so that the reader cannot understand that he
29325         has to do these steps before calling do-release-commit-and-tag.
29327 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
29329         readme-release: also require announce-gen and maintainer-makefile
29330         * modules/readme-release (Depends-on): here.
29331         * modules/announce-gen, modules/do-release-commit-and-tag,
29332         modules/gnu-web-doc-update, modules/maintainer-makefile
29333         (Description): Point to readme-release.
29335 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
29337         maint.mk: fix VPATH issues.
29338         * top/maint.mk (news-check): GNU Make understand $< very well.
29339         (release-prep): NEWS is in $(srcdir).
29341 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
29343         readme-release: require the promoted modules.
29344         * modules/readme-release (Depends-on): Add
29345         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
29346         in this text.
29348 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
29349             Bruno Haible  <bruno@clisp.org>
29351         error, strerror-override: Support mingw64 from Fedora 17.
29352         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
29353         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
29354         EINPROGRESS.
29355         * lib/strerror-override.h (strerror_override): Test it.
29356         * lib/strerror-override.c (strerror_override): Likewise.
29357         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
29359 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
29360             Bruno Haible  <bruno@clisp.org>
29362         error, strerror-override: Support mingw64 from Fedora 17.
29363         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
29364         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
29365         * lib/strerror-override.h (strerror_override): Test it.
29366         * lib/strerror-override.c (strerror_override): Likewise.
29368 2012-06-03  Bruno Haible  <bruno@clisp.org>
29370         error, strerror-override: Support new errno values from POSIX:2008.
29371         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
29372         ENOTRECOVERABLE.
29373         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
29374         platforms.
29375         * lib/strerror-override.c (strerror_override): Conditionalize the
29376         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
29377         * lib/strerror-override.h (strerror_override): Declare also if
29378         GNULIB_defined_EOWNERDEAD is defined.
29379         * tests/test-errno.c (e130, e131): New variables.
29380         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
29381         ENOTRECOVERABLE.
29382         Reported by Paolo Bonzini.
29384 2012-05-31  Jim Meyering  <meyering@redhat.com>
29386         savewd: add missing dependency on sys_wait module
29387         * modules/savewd (Depends-on): Add sys_wait, needed at least
29388         for MSVC.  Report and suggested change by Michael Goffioul.
29390 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
29392         system-quote-tests: port to CentOS 5
29393         Problem reported by Tom G. Christensen in
29394         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
29395         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
29397 2012-05-29  Jim Meyering  <meyering@redhat.com>
29399         maint: fix typos in comments and ChangeLog
29400         Culprits identified and fixed mostly automatically using these commands:
29401         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
29402         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
29403         using http://github.com/lyda/misspell-check
29404         * ChangeLog: Fix typos.
29405         * doc/solaris-versions: Likewise.
29406         * lib/regexec.c (re_search_stub): Likewise.
29407         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
29409 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
29411         manywarnings: remove duplicate -Wmultichar entry
29412         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
29413         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
29414         so keep the entry marked as documented.
29416 2012-05-27  Karl Berry  <karl@gnu.org>
29418         * config/srclist.txt (mktime.c): remove last libc sync,
29419         perhaps just temporarily.
29421 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
29423         regex: don't assume uint64_t or uint32_t
29424         * lib/regcomp.c (init_word_char): Don't assume that the types
29425         uint64_t and uint32_t exist.  The C standard doesn't guarantee
29426         them, and on some 32-bit compilers there is no uint64_t.
29427         Problem reported by Gianluigi Tiesi in
29428         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
29430 2012-05-25  Jim Meyering  <meyering@redhat.com>
29432         maint.mk: add strncpy-prohibiting syntax-check rule
29433         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
29435 2012-05-24  Jim Meyering  <meyering@redhat.com>
29437         maint.mk: compute $(gpg_key_ID) more portably
29438         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
29439         That use of sed is not portable to some fringe systems.
29440         Reported by Paul Eggert in
29441         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
29443 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
29445         mktime: sync from glibc
29446         * config/srclist.txt: Uncomment mktime.c.
29447         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
29448         First, indent with tabs, since glibc uses tabs and doesn't want to
29449         change and we'd rather be identical to glibc.  Also, two small
29450         coding changes:
29451         (isdst_differ): Use &&, not &, as && is the usual style.
29452         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
29453         for clarity.
29455 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
29457         announce-gen: du -h is more portable than du --human
29458         * build-aux/announce-gen (sizes): Invoke du with -h instead
29459         of --human.  Accept leading white space in its output.
29461 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
29463         announce-gen: Improve diagnostics.
29464         * build-aux/announce-gen: When parsing command line options,
29465         prefer "announce-gen: option --release-type requires an argument"
29466         to "Option release-type requires an argument".
29468 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
29470         maint.mk: gpg_key_ID: use sed more portably
29471         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
29472         the closing brace.
29473         (refresh-po): Fuse two sed invocations into one.
29475 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
29477         gitlog-to-changelog: support the log message format used in Bison.
29478         * build-aux/gitlog-to-changelog: Support --strip-tab and
29479         --strip-cherry-picked.
29481 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
29483         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
29484         the rest of the current time slice to another thread in the current
29485         process. So if the thread that feeds the file decscriptor we're
29486         polling is not in the current process, we get busy-waiting.
29487         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
29488         Patch from Theodore Leblond.
29489         * lib/select.c: Split polling out of the loop that sets the output
29490         fd_sets.  Check for zero result and loop if the wait timeout is
29491         infinite.
29493 2012-05-21  Simon Josefsson  <simon@josefsson.org>
29495         select: Fix build error on IRIX 6.5.
29496         * lib/select.c: Include stddef.h for NULL.
29498 2012-05-21  Simon Josefsson  <simon@josefsson.org>
29500         gc: fix libgcrypt detection on older machines.
29501         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
29502         copyright years because the file has been distributed every year
29503         since it was created.
29505 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
29507         crypto: fix bug in large buffer handling
29508         Problem reported by Serge Belyshev for glibc in
29509         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
29510         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
29511         * lib/md4.c (md4_process_block):
29512         * lib/md5.c (md5_process_block):
29513         * lib/sha1.c (sha1_process_block):
29514         * lib/sha256.c (sha256_process_block):
29515         Don't assume the buffer length is less than 2**32.
29516         * lib/sha512.c (sha512_process_block): Likewise.
29517         Here, the bug is present only in the rare case where the host does
29518         not support uint64_t or where size_t is wider than 64 bits.
29519         Use u64size to work around the problems.
29520         * lib/u64.h (u64size): New macro.
29522 2012-05-15  Pádraig Brady  <P@draigBrady.com>
29524         fsusage: fix block size returned on older Linux 2.6
29526         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
29527         which is available since Linux 2.6.
29528         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
29529         when the member is available so it can be used as a fallback.
29530         * doc/posix-functions/statvfs.texi: Mention the hang issue
29531         on Linux < 2.6.36.
29533 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
29535         bootstrap: suppress stderr chatter
29536         * build-aux/bootstrap (insert_sorted_if_absent, main program):
29537         Omit unnecessary chatter to stderr.  The main program chatter
29538         was there only inadvertantly.
29540         bootstrap: .gitignore files created by autopoint, libtool
29541         I ran into this problem when bootstrapping the latest diffutils.
29542         After './bootstrap', 'git status' reported lots of untracked files
29543         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
29544         autopoint and do not need to be version-controlled.
29545         * build-aux/bootstrap: Put into .gitignore the files that
29546         autopoint and libtool create, by keeping track of files that exist
29547         after but not before these programs are run.
29548         (version_controlled_file): Move up.  2nd arg is now full file
29549         name, not base name; this is more convenient.  Put CVS at the end,
29550         as it's now somewhat deprecated.
29552 2012-05-14  Jim Meyering  <meyering@redhat.com>
29554         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
29555         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
29556         definition.  Reported by Bruno Haible.
29558 2012-05-13  Bruno Haible  <bruno@clisp.org>
29559             Paul Eggert  <eggert@cs.ucla.edu>
29561         binary-io: Define set_binary_mode function.
29562         * lib/binary-io.h (set_binary_mode): New function.
29563         (SET_BINARY): Define in terms of set_binary_mode.
29564         * modules/binary-io (configure.ac): Require AC_C_INLINE.
29565         * tests/test-binary-io.c (main): Accept an argument, and test either
29566         set_binary_mode or SET_BINARY depending on the argument.
29567         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
29568         argument. Clean up also t-bin-out0.tmp.
29570 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
29572         bootstrap: take advantage of POSIX shell features
29574         The 'bootstrap' script offered by Gnulib script already uses POSIX
29575         shell features (like $((...)) arithmetic expansions) that are not
29576         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
29577         means that bootstrap must already be run using a proper POSIX shell,
29578         which will thus provide more features, like ${var#pattern} parameter
29579         expansion or inversion of a command exit status with '!'.  We can
29580         thus use these features to improve the clarity and the performances
29581         of the bootstrap script.
29583         Suggested by Eric Blake.
29585         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
29586         of sed/expr plus command substitutions, to save some forks.  While
29587         we are at it, prefer the POSIX $(...) form of command substitution,
29588         rather than the legacy form `...` (since the former is visually
29589         clearer and interacts better with quoting), and prefer the idiom:
29590           "if ! CMD; then ACTION ..."
29591         over the idiom:
29592           "if CMD; then :; else ACTION ..."
29593         which was required by legacy Bourne shells not supporting '!'.
29595 2012-05-12  Bruno Haible  <bruno@clisp.org>
29597         system-quote: Add more comments.
29598         * lib/system-quote.h: Add more comments about wilcards and limitations.
29599         Suggested by Eli Zaretskii <eliz@gnu.org>.
29601         sh-quote, system-quote: Add comments about wildcards.
29602         * lib/sh-quote.h: Clarify what happens with wildcard characters.
29603         * lib/system-quote.h: Likewise.
29604         Reported by Eli Zaretskii <eliz@gnu.org>.
29606 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
29608         fsusage: check for GNU/Linux statvfs problem dynamically
29609         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
29610         Define STAT_STATFS2_BSIZE too, since in this case the code now
29611         checks dynamically whether statvfs is reliable, falling back on
29612         Linux-style statfs otherwise.
29613         (statvfs_works): New function, for dynamically testing statvfs.
29614         (get_fs_usage) [STAT_STATVFS]: Use it.
29615         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
29616         statvfs on GNU/Linux hosts, since it's now done dynamically.
29618 2012-05-10  Bruno Haible  <bruno@clisp.org>
29620         system-quote, execute, spawn-pipe: Escape '?' on Windows.
29621         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
29622         '?' character.
29623         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
29624         * tests/test-system-quote-main.c (check_all): Check also strings like
29625         "??????????".
29626         Reported by Eli Zaretskii <eliz@gnu.org>.
29628 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
29630         _Noreturn: port config.h to gcc -Wundef
29631         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
29632         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
29633         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
29635 2012-05-10  Bruno Haible  <bruno@clisp.org>
29637         system-quote: Refactor.
29638         * lib/system-quote.h (system_quote_copy): Fix comment.
29639         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
29640         New functions, extracted from system_quote_copy.
29641         (system_quote_length, system_quote_copy): Use these functions.
29642         Reported by Paul Eggert.
29644 2012-05-08  Bruno Haible  <bruno@clisp.org>
29646         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
29647         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
29649 2012-05-08  Bruno Haible  <bruno@clisp.org>
29651         Tests for module 'system-quote'.
29652         * modules/system-quote-tests: New file.
29653         * tests/test-system-quote.sh: New file.
29654         * tests/test-system-quote-main.c: New file.
29655         * tests/test-system-quote-child.c: New file.
29657         New module 'system-quote'.
29658         * lib/system-quote.h: New file.
29659         * lib/system-quote.c: New file.
29660         * modules/system-quote: New file.
29662 2012-05-08  Bruno Haible  <bruno@clisp.org>
29664         sh-quote: Make C++ safe and allow multiple inclusion.
29665         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
29666         declarations in extern "C".
29668 2012-05-08  Bruno Haible  <bruno@clisp.org>
29670         sh-quote tests: Make tests stricter.
29671         * tests/test-sh-quote.c (check_one): Check the return value of
29672         shell_quote_copy.
29673         (main): Check a string with a CR character. Check a string that
29674         contains UCHAR_MAX.
29676 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
29678         warnings.m4: provide a means to specify the program to compile.
29679         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
29680         (gl_WARN_ADD): here.
29681         Use gl_AS_VAR_APPEND.
29682         Support an argument to specify the program to compile.
29683         (gl_WARN_ADD): Accept an argument to specify the program to compile.
29684         AC_SUBST the WARN_CFLAGS when they are used.
29685         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
29686         leave this to gl_WARN_ADD.
29688 2012-05-08  Eric Blake  <eblake@redhat.com>
29690         doc: recommendations on gettext version
29691         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
29692         choice between versions.
29693         * DEPENDENCIES (gettext): Cover both approaches.
29695 2012-05-08  Jim Meyering  <meyering@redhat.com>
29697         init.sh: explain why EXEEXT support uses aliases rather than functions
29698         * tests/init.sh: Add a comment.
29700         init.sh: don't let bash aliases interfere with tests
29701         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
29702         is bash.  This avoids problems for those who alias standard commands to
29703         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
29704         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
29706 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
29708         stdint: be more consistent with glibc, SunOS libc
29709         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
29710         (gl_int_fast16_t, gl_uint_fast16_t)
29711         (gl_int_fast32_t, gl_uint_fast32_t)
29712         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
29713         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
29714         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
29715         Be consistent with glibc by default, and with SunOS 5.10 and later
29716         if __sun is defined.  This lessens the likelihood of clashes if
29717         code compiled for older hosts is combined with code compiled for
29718         newer ones.  Problem reported by Niels Möller in
29719         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
29721 2012-05-07  Eric Blake  <eblake@redhat.com>
29723         isatty: relax license to LGPLv2+
29724         * modules/isatty (License): Relax license.
29726 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
29728         stat-size: comment fix
29729         * lib/stat-size.h: Remove obsolete comment about indenting.
29731 2012-05-06  Bruno Haible  <bruno@clisp.org>
29733         Tests for module 'sh-quote'.
29734         * modules/sh-quote-tests: New file.
29735         * tests/test-sh-quote.c: New file.
29737 2012-05-06  Bruno Haible  <bruno@clisp.org>
29739         sh-quote: Improve shell_quote_argv's signature.
29740         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
29741         * lib/sh-quote.c (shell_quote_argv): Likewise.
29743 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
29745         stdint: document issues with int_fast8_t etc.
29746         * doc/posix-headers/stdint.texi (stdint.h): Say that other
29747         stdint.h substitutes may define these types differently.  See
29748         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
29750 2012-05-05  Bruno Haible  <bruno@clisp.org>
29752         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
29753         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
29754         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
29755         or 'guessing no (mishandles large arguments)'.
29757 2012-05-05  Bruno Haible  <bruno@clisp.org>
29759         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
29760         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
29761         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
29762         set gl_cv_func_link_follows_symlink to "guessing no".
29764 2012-05-05  Bruno Haible  <bruno@clisp.org>
29766         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
29767         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
29768         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
29769         "guessing no".
29770         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
29772 2012-05-05  Bruno Haible  <bruno@clisp.org>
29774         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
29775         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
29776         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
29777         set gl_cv_struct_dirent_d_ino to "guessing yes".
29779 2012-05-05  Bruno Haible  <bruno@clisp.org>
29781         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
29782         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
29783         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
29784         "guessing yes".
29786 2012-05-05  Bruno Haible  <bruno@clisp.org>
29788         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
29789         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
29790         compiling to a glibc system, set gl_cv_func_signbit and
29791         gl_cv_func_signbit_gcc to "guessing yes".
29793 2012-05-05  Bruno Haible  <bruno@clisp.org>
29795         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
29796         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
29797         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
29798         to "guessing yes".
29799         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
29800         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
29802 2012-05-05  Bruno Haible  <bruno@clisp.org>
29804         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
29805         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
29806         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
29807         gl_cv_func_realpath_works to "guessing yes".
29809 2012-05-05  Bruno Haible  <bruno@clisp.org>
29811         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
29812         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
29813         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
29815 2012-05-04  Bruno Haible  <bruno@clisp.org>
29817         Tweak last commit.
29818         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
29819         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
29821 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
29823         unistd_h: make it easier to avoid sys_types_h
29824         This is useful for Emacs, which has its own method of porting to
29825         Windows, and which therefore does not need the sys_types_h module.
29826         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
29827         code moved here from gl_SYS_TYPES_H.
29828         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
29829         using the code directly.
29830         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
29831         gl_SYS_TYPES_H.
29832         * modules/sys_types (Files):
29833         * modules/unistd (Files): Add m4/off_t.m4.
29835 2012-05-03  Bruno Haible  <bruno@clisp.org>
29837         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
29838         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
29839         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
29840         "guessing yes" or "guessing no".
29841         (gl_FUNC_LSTAT): Update.
29842         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
29843         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
29844         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
29846 2012-05-03  Bruno Haible  <bruno@clisp.org>
29848         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
29849         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
29850         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
29851         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
29852         cross-compiling, choose the first alternative on glibc systems.
29853         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
29855 2012-05-03  Bruno Haible  <bruno@clisp.org>
29857         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
29858         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
29859         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
29861 2012-05-03  Bruno Haible  <bruno@clisp.org>
29863         chown: Avoid "guessing no" when cross-compiling to glibc systems.
29864         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
29866 2012-05-03  Bruno Haible  <bruno@clisp.org>
29868         Avoid "guessing no" guesses when cross-compiling to glibc systems.
29869         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
29870         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
29871         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
29872         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
29873         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
29874         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
29875         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
29876         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
29877         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
29878         compiling to glibc systems, set gl_cv_func_chown_slash_works,
29879         gl_cv_func_chown_ctime_works to "guessing yes".
29880         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
29881         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
29882         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
29883         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
29884         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
29885         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
29886         compiling to glibc systems, set gl_cv_func_open_directory_works to
29887         "guessing yes".
29888         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
29889         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
29890         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
29891         "guessing yes".
29892         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
29893         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
29894         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
29895         compiling to glibc systems, set gl_cv_func_floorf_ieee to
29896         "guessing yes".
29897         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
29898         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
29899         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
29900         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
29901         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
29902         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
29903         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
29904         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
29905         "guessing yes".
29906         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
29907         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
29908         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
29909         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
29910         "guessing yes".
29911         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
29912         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
29913         "guessing yes".
29914         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
29915         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
29916         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
29917         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
29918         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
29919         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
29920         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
29921         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
29922         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
29923         compiling to glibc systems, set gl_cv_func_log10f_ieee to
29924         "guessing yes".
29925         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
29926         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
29927         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
29928         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
29929         "guessing yes".
29930         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
29931         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
29932         "guessing yes".
29933         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
29934         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
29935         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
29936         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
29937         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
29938         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
29939         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
29940         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
29941         compiling to glibc systems, set gl_cv_func_mkfifo_works to
29942         "guessing yes".
29943         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
29944         compiling to glibc systems, set gl_cv_func_mknod_works to
29945         "guessing yes".
29946         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
29947         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
29948         "guessing yes".
29949         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
29950         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
29951         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
29952         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
29953         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
29954         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
29955         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
29956         compiling to glibc systems, set gl_cv_func_svid_putenv to
29957         "guessing yes".
29958         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
29959         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
29960         "guessing yes".
29961         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
29962         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
29963         "guessing yes".
29964         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
29965         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
29966         to "guessing yes".
29967         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
29968         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
29969         to "guessing yes".
29970         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
29971         compiling to glibc systems, set gl_cv_func_rmdir_works to
29972         "guessing yes".
29973         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
29974         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
29975         gl_cv_func_unlink_parent_fails to "guessing yes".
29976         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
29977         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
29978         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
29979         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
29980         gl_cv_func_rename_dest_works to "guessing yes".
29981         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
29982         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
29983         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
29984         compiling to glibc systems, set gl_cv_func_roundf_ieee to
29985         "guessing yes".
29986         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
29987         compiling to glibc systems, set gl_cv_func_roundl_ieee to
29988         "guessing yes".
29989         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
29990         compiling to glibc systems, set gl_cv_func_setenv_works to
29991         "guessing yes".
29992         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
29993         compiling to glibc systems, set gl_cv_func_unsetenv_works to
29994         "guessing yes".
29995         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
29996         compiling to glibc systems, set gl_cv_func_sleep_works to
29997         "guessing yes".
29998         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
29999         compiling to glibc systems, set gl_cv_func_stat_file_slash to
30000         "guessing yes".
30001         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
30002         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
30003         "guessing yes".
30004         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
30005         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
30006         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
30007         compiling to glibc systems, set gl_cv_func_truncf_ieee to
30008         "guessing yes".
30009         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
30010         compiling to glibc systems, set gl_cv_func_truncl_ieee to
30011         "guessing yes".
30012         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
30013         compiling to glibc systems, set gl_cv_func_usleep_works to
30014         "guessing yes".
30015         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
30016         compiling to glibc systems, set gl_cv_func_futimesat_works to
30017         "guessing yes".
30019 2012-05-03  Bruno Haible  <bruno@clisp.org>
30021         Say "guessing yes" or "guessing no" when cross-compiling.
30022         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
30023         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
30024         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
30025         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
30026         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
30027         am_cv_func_working_getline to "guessing yes" or "guessing no".
30028         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
30029         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
30030         (gl_FUNC_MEMMEM): When cross-compiling, set
30031         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
30032         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
30033         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
30034         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
30035         set gl_cv_func_strcasestr_works_always to "guessing yes" or
30036         "guessing no".
30037         (gl_FUNC_STRCASESTR): When cross-compiling, set
30038         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
30039         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
30040         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
30041         (gl_FUNC_STRSTR): When cross-compiling, set
30042         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
30043         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
30044         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
30045         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
30046         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
30048 2012-05-01  Bruno Haible  <bruno@clisp.org>
30050         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
30051         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
30052         * build-aux/reloc-ldflags: Likewise.
30053         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
30055 2012-05-01  Bruno Haible  <bruno@clisp.org>
30057         gnulib-tool: Remove transitional code.
30058         * gnulib-tool: Don't warn about --import with 0 arguments any more.
30059         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
30061 2012-05-01  Bruno Haible  <bruno@clisp.org>
30063         getcwd: Fix misindentation.
30064         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
30066 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
30068         exclude: process exclude and include directives in order
30069         This restores the pre-2009 behavior, and is part of a fix of a
30070         grep bug reported by Quentin Arce in
30071         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
30072         * lib/exclude.c (struct exclude): Remove 'tail' member.
30073         (new_exclude_segment): Prepend the new segment instead of appending.
30074         Return void, since that's now more convenient.
30075         (file_pattern_matches): Renamed from excluded_file_pattern_p.
30076         (file_name_matches): Renamed from excluded_file_name_p.
30077         (file_pattern_matches, file_name_matches):
30078         Return true if the pattern matches, not if it excludes.
30079         All callers changed.
30080         (excluded_file_name): Process the list in reverse order;
30081         since the list is now reversed this restores the pre-2009 behavior.
30082         (add_exclude): Adjust to new reversed-order list.  Use local var
30083         rather than macro, for clarity.
30084         * tests/test-exclude7.sh: Adjust to corrected behavior.
30086         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
30087         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
30088         it's not possible here.  Handle the case of \ at end of pattern
30089         without dumping core.
30090         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
30092         _Noreturn: future-proof non-GNU and non-MSVC compilers
30093         * build-aux/snippet/_Noreturn.h (_Noreturn):
30094         * m4/gnulib-common.m4 (gl_COMMON_BODY):
30095         Do not define _Noreturn if __STDC_VERSION__ indicates this is
30096         C11 or later.  This is more likely to work with random future C
30097         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
30098         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
30100         exclude: handle wildcards with FNM_EXTMATCH
30101         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
30102         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
30103         comment that "has wildcards" really means "has or may have
30104         wildcards".  Simplify by avoiding the need to call strcspn.
30106 2012-04-29  Bruno Haible  <bruno@clisp.org>
30108         gnulib-tool: Fix list of authors.
30109         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
30111 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
30113         bootstrap: support Automake-NG in $buildreq
30114         * bootstrap (check_versions): Handle automake and aclocal from
30115         Automake-NG specially.  They can be specified as respectively
30116         the "automake-ng" and "aclocal-ng" requirements.
30118 2012-04-25  Eric Blake  <eblake@redhat.com>
30120         bootstrap: only force latest Makefile.in.in for gettext module
30121         * build-aux/bootstrap (with_gettext): Only install latest
30122         Makefile.in.in for projects requesting bleeding edge gettext.
30124 2012-04-22  Bruno Haible  <bruno@clisp.org>
30126         doc: Mention reason for replacement on glibc/Linux systems.
30127         * doc/posix-functions/dprintf.texi: Mention the problem with special
30128         'long double' values.
30129         * doc/posix-functions/fprintf.texi: Likewise.
30130         * doc/posix-functions/printf.texi: Likewise.
30131         * doc/posix-functions/snprintf.texi: Likewise.
30132         * doc/posix-functions/sprintf.texi: Likewise.
30133         * doc/posix-functions/vdprintf.texi: Likewise.
30134         * doc/posix-functions/vfprintf.texi: Likewise.
30135         * doc/posix-functions/vprintf.texi: Likewise.
30136         * doc/posix-functions/vsnprintf.texi: Likewise.
30137         * doc/posix-functions/vsprintf.texi: Likewise.
30138         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
30139         platforms with F_DUPFD_CLOEXEC problems.
30140         * doc/posix-functions/glob.texi: Mention which platforms are affected
30141         by the problem with symbolic links.
30142         * doc/posix-functions/linkat.texi: Mention the problem with
30143         AT_SYMLINK_FOLLOW on Linux.
30145 2012-04-22  Bruno Haible  <bruno@clisp.org>
30147         pwrite: Don't replace on all platforms.
30148         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
30150 2012-04-22  Bruno Haible  <bruno@clisp.org>
30152         rint* tests: Avoid gcc warnings.
30153         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
30154         * tests/test-rintf.c (INFINITY, NAN): Likewise.
30155         * tests/test-rintl.c (INFINITY, NAN): Likewise.
30157 2012-04-21  Bruno Haible  <bruno@clisp.org>
30159         users.txt: Update.
30160         * users.txt: Add freedink, wdiff. Update URLs for projects that have
30161         switched from CVS to git, bzr, or svn.
30163 2012-04-21  Bruno Haible  <bruno@clisp.org>
30165         Large File Support for native Windows platforms.
30167         * m4/largefile.m4 (gl_LARGEFILE): New macro.
30168         * modules/largefile (configure.ac): Require gl_LARGEFILE.
30170         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
30171         type.
30172         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
30173         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
30174         * doc/posix-headers/sys_types.texi: Mention the effect of the
30175         'largefile' module.
30177         * lib/fcntl.in.h: Add comments about off_t.
30178         * modules/fcntl-h (Depends-on): Add sys_types.
30180         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
30181         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
30182         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
30183         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
30184         * modules/unistd (Depends-on): Add sys_types.
30185         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
30187         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
30188         instead of lseek.
30189         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
30190         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
30191         * modules/lseek (Depends-on): Add sys_types.
30193         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
30194         msvc-nothrow.h.
30195         (SetFileSize): New function.
30196         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
30197         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
30198         if Large File Support is requested.
30199         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
30200         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
30202         * lib/stdio.in.h: Add comments about off_t.
30203         * modules/stdio (Depends-on): Add sys_types.
30205         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
30206         instead of ftello.
30207         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
30208         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
30209         (gl_PREREQ_FTELLO): New macro.
30210         * modules/ftello (Depends-on): Add sys_types.
30211         (configure.ac): Incoke gl_PREREQ_FTELLO.
30213         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
30214         instead of fseeko.
30215         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
30216         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
30217         (gl_PREREQ_FSEEKO): New macro.
30218         * modules/fseeko (Depends-on): Add sys_types.
30219         (configure.ac): Invoke gl_PREREQ_FSEEKO.
30221         * lib/sys_stat.in.h: Add comments about off_t.
30222         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
30223         64-bit integer for st_size in 'struct stat'.
30224         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
30225         Define _GL_WINDOWS_64_BIT_ST_SIZE.
30226         * modules/sys_stat (Depends-on): Add sys_types.
30227         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
30229         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
30230         instead of stat or _stat.
30232         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
30233         'struct _stati64' instead of fstat and 'struct stat'.
30234         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
30235         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
30237         Reported by Ray Satiro <raysatiro@yahoo.com>.
30239 2012-04-19  Eric Blake  <eblake@redhat.com>
30241         bootstrap: accommodate older libtool
30242         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
30243         Reported by Daniel P. Berrange.
30245 2012-04-19  Jim Meyering  <meyering@redhat.com>
30247         announce-gen: avoid failure due to lack of Digest::SHA1
30248         Even with the preferred Digest::SHA available, this script
30249         would fail when the backup module, Digest::SHA1, was not installed.
30250         * build-aux/announce-gen: Quote the conditional use of "use".
30251         Reported by Reuben Thomas in:
30252         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
30254         bootstrap: don't let a user's CDPATH setting affect this script
30255         When CDPATH is set, cd will sometimes generate output.
30256         When "cd" is run in a subshell whose output matters, that
30257         surprising-to-some output can cause malfunction.
30258         Unsetting CDPATH turns off this shell "feature."
30259         * build-aux/bootstrap (CDPATH): Unset.
30260         Reported by Reuben Thomas in:
30261         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
30262         and inspired by his patch here:
30263         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
30265 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
30266         and Jim Meyering  <meyering@redhat.com>
30268         maint.mk: catch "see @xref{}" and similar
30269         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
30270         prohibit "See also @xref{", "Also see @pxref{", and similar.
30272 2012-04-16  Jim Meyering  <meyering@redhat.com>
30274         bootstrap: really use gnulib's po/Makefile.in.in
30275         * build-aux/bootstrap: Correct the source file name in previous change.
30276         Reported by Akim Demaille.
30278         configmake: correct minor inconsistency in Makefile rule
30279         * modules/configmake (Makefile.am): All other rules like this one
30280         run the final "mv -f ..." in the same backslash-continued command
30281         as the one that does everything else.  This one put the mv -f ...
30282         command on a separate, non-backslash-continued line.
30283         Make it like the others.
30285         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
30286         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
30287         the one from gettext.  Reported by Akim Demaille.
30289 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
30291         Fix recursion of install-* into po directories.
30292         Bison's install-pdf bug reported by Hans Aberg at
30293         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
30294         * build-aux/po/Makefile.in.in (install-dvi, install-html)
30295         (install-info, install-pdf, install-ps): New targets.
30297 2012-04-16  Jim Meyering  <meyering@redhat.com>
30299         maint: avoid spurious "make sc_maint" failure
30300         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
30301         exempt all *.class file names, for lib/javaversion.class.
30303 2012-04-15  Bruno Haible  <bruno@clisp.org>
30305         lseek: Make configure test independent of environment.
30306         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
30307         Windows, we know that lseek() on pipes is broken; skip the runtime
30308         test.
30310 2012-04-14  Bruno Haible  <bruno@clisp.org>
30312         stat: Bypass buggy override in mingw64.
30313         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
30314         * lib/stat.c (stat) [mingw64]: Define to _stat.
30315         * doc/posix-functions/stat.texi: Mention mingw64 bug.
30317 2012-04-14  Bruno Haible  <bruno@clisp.org>
30319         pathmax: Fix compilation error on MSVC 9.
30320         * modules/pathmax (Depends-on): Add unistd.
30322 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
30324         README: document pointer comparison assumption
30325         * README (Portability guidelines): Document assumption about
30326         pointer comparisons, in response to a recent bug-gnulib comment by
30327         Jeffrey Kegler.
30329 2012-04-12  Bruno Haible  <bruno@clisp.org>
30331         Tests for module 'getrusage'.
30332         * modules/getrusage-tests: New file.
30333         * tests/test-getrusage.c: New file.
30335         New module 'getrusage'.
30336         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
30337         warn-on-use.h.
30338         (getrusage): New declaration.
30339         * lib/getrusage.c: New file.
30340         * m4/getrusage.m4: New file.
30341         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
30342         is declared.
30343         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
30344         HAVE_GETRUSAGE.
30345         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
30346         snippet/c++defs, snippet/warn-on-use.
30347         (Makefile.am): Update generation of sys/resource.h. Substitute
30348         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
30349         * modules/getrusage: New file.
30350         * doc/posix-functions/getrusage.texi: Mention the new module.
30352 2012-04-12  Bruno Haible  <bruno@clisp.org>
30354         Tests for module 'sys_resource'.
30355         * modules/sys_resource-tests: New file.
30356         * tests/test-sys_resource.c: New file.
30358         New module 'sys_resource'.
30359         * lib/sys_resource.in.h: New file.
30360         * m4/sys_resource_h.m4: New file.
30361         * modules/sys_resource: New file.
30362         * doc/posix-headers/sys_resource.texi: Mention the new module.
30364 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
30366         ioctl: Fix compilation error on mingw.
30367         * lib/ioctl.c: Include <windows.h>.
30368         Also reported by Ray Satiro <raysatiro@yahoo.com>.
30370 2012-04-04  Jim Meyering  <meyering@redhat.com>
30372         regex: correct #pragma guard expression
30373         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
30374         not 4.3.  Correct its cpp guard expression.
30376 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
30378         regex: remove unnecessary type punning
30379         Problem reported by Vladimir Serbinenko in
30380         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
30381         * lib/regex.h (struct re_pattern_buffer): Change the type of
30382         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
30383         Fix comment to match code.
30384         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
30385         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
30386         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
30387         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
30388         (set_regs):
30389         Omit no-longer-necessary casts.
30391 2012-04-03  Bruno Haible  <bruno@clisp.org>
30393         Tests for module 'ilogbl'.
30394         * modules/ilogbl-tests: New file.
30395         * tests/test-ilogbl.c: New file.
30397         New module 'ilogbl'.
30398         * lib/math.in.h (ilogbl): New declaration.
30399         * lib/ilogbl.c: New file.
30400         * m4/ilogbl.m4: New file.
30401         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
30402         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
30403         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
30404         Split sed invocation, to avoid the limit of 100 substitutions of
30405         HP-UX 'sed'.
30406         * modules/ilogbl: New file.
30407         * tests/test-math-c++.cc: Check the declaration of ilogbl.
30408         * doc/posix-functions/ilogbl.texi: Mention the new module.
30410 2012-04-03  Bruno Haible  <bruno@clisp.org>
30412         Tests for module 'ilogbf'.
30413         * modules/ilogbf-tests: New file.
30414         * tests/test-ilogbf.c: New file.
30416         New module 'ilogbf'.
30417         * lib/math.in.h (ilogbf): New declaration.
30418         * lib/ilogbf.c: New file.
30419         * m4/ilogbf.m4: New file.
30420         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
30421         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
30422         REPLACE_ILOGBF.
30423         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
30424         REPLACE_ILOGBF.
30425         * modules/ilogbf: New file.
30426         * tests/test-math-c++.cc: Check the declaration of ilogbf.
30427         * doc/posix-functions/ilogbf.texi: Mention the new module.
30429 2012-04-03  Bruno Haible  <bruno@clisp.org>
30431         Tests for module 'ilogb'.
30432         * modules/ilogb-tests: New file.
30433         * tests/test-ilogb.c: New file.
30434         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
30435         tests/test-logb-ieee.h.
30437         New module 'ilogb'.
30438         * lib/math.in.h (ilogb): New declaration.
30439         * lib/ilogb.c: New file.
30440         * m4/ilogb.m4: New file.
30441         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
30442         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
30443         REPLACE_ILOGB.
30444         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
30445         REPLACE_ILOGB.
30446         * modules/ilogb: New file.
30447         * tests/test-math-c++.cc: Check the declaration of ilogb.
30448         * doc/posix-functions/ilogb.texi: Mention the new module.
30450 2012-04-03  Bruno Haible  <bruno@clisp.org>
30452         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
30453         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
30454         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
30455         (main): Check their values.
30456         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
30457         problem.
30459 2012-04-03  Bruno Haible  <bruno@clisp.org>
30461         Tests for module 'logbl-ieee'.
30462         * modules/logbl-ieee-tests: New file.
30463         * tests/test-logbl-ieee.c: New file.
30465         New module 'logbl-ieee'.
30466         * modules/logbl-ieee: New file.
30468         Tests for module 'logb-ieee'.
30469         * modules/logb-ieee-tests: New file.
30470         * tests/test-logb-ieee.c: New file.
30472         New module 'logb-ieee'.
30473         * modules/logb-ieee: New file.
30475         Tests for module 'logbf-ieee'.
30476         * modules/logbf-ieee-tests: New file.
30477         * tests/test-logbf-ieee.c: New file.
30478         * tests/test-logb-ieee.h: New file.
30480         New module 'logbf-ieee'.
30481         * modules/logbf-ieee: New file.
30483 2012-04-03  Bruno Haible  <bruno@clisp.org>
30485         Tests for module 'logbl'.
30486         * modules/logbl-tests: New file.
30487         * tests/test-logbl.c: New file.
30489         New module 'logbl'.
30490         * lib/math.in.h (logbl): New declaration.
30491         * lib/logbl.c: New file.
30492         * m4/logbl.m4: New file.
30493         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
30494         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
30495         REPLACE_LOGBL.
30496         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
30497         REPLACE_LOGBL.
30498         * modules/logbl: New file.
30499         * tests/test-math-c++.cc: Check the declaration of logbl.
30500         * doc/posix-functions/logbl.texi: Mention the new module.
30502 2012-04-02  Bruno Haible  <bruno@clisp.org>
30504         Tests for module 'logbf'.
30505         * modules/logbf-tests: New file.
30506         * tests/test-logbf.c: New file.
30508         New module 'logbf'.
30509         * lib/math.in.h (logbf): New declaration.
30510         * lib/logbf.c: New file.
30511         * m4/logbf.m4: New file.
30512         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
30513         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
30514         REPLACE_LOGBF.
30515         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
30516         REPLACE_LOGBF.
30517         * modules/logbf: New file.
30518         * tests/test-math-c++.cc: Check the declaration of logbf.
30519         * doc/posix-functions/logbf.texi: Mention the new module.
30521 2012-04-02  Bruno Haible  <bruno@clisp.org>
30523         logb tests: More tests.
30524         * tests/test-logb.h: New file, based on tests/test-logb.c and
30525         tests/test-frexp.h.
30526         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
30527         (main): Just invoke test_function.
30528         * modules/logb-tests (Files): Add tests/test-logb.h,
30529         tests/minus-zero.h, tests/randomd.c.
30530         (Makefile.am): Add randomd.c to test_logb_SOURCES.
30532         logb: Provide replacement and workarounds.
30533         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
30534         is 1.
30535         * lib/logb.c: New file.
30536         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
30537         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
30538         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
30539         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
30540         * modules/logb (Files): Add lib/logb.c.
30541         (Depends-on): Add isfinite, frexp, isnand.
30542         (configure.ac): Compile the replacement code logb.c if needed.
30543         * tests/test-math-c++.cc: Check the declaration of logb.
30544         * doc/posix-functions/logb.texi: Mention the replacement and the bug
30545         with subnormal numbers.
30547 2012-04-02  Bruno Haible  <bruno@clisp.org>
30549         log10* tests: Speed up.
30550         * tests/test-log10.h (test_function): Reduce amount of random numbers
30551         to test.
30553 2012-04-01  Bruno Haible  <bruno@clisp.org>
30555         logf-ieee: Fix test whether logf works.
30556         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
30558 2012-04-01  Bruno Haible  <bruno@clisp.org>
30560         log10l: Work around log10l-ieee test failure on IRIX 6.5.
30561         * lib/log10l.c: Include <float.h>
30562         (log10l): On IRIX, normalize the +Infinity value.
30563         * modules/log10l (Depends-on): Add 'float'.
30564         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
30565         +Infinity.
30567         log10f-ieee: Work around test failure on NetBSD 5.1.
30568         * m4/log10f-ieee.m4: New file.
30569         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
30570         test whether log10f works with a negative argument. Replace it if not.
30571         * lib/log10f.c (log10f): For negative arguments, return NaN.
30572         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
30573         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
30574         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
30576         log10f-ieee: Work around test failure on Solaris 9.
30577         * modules/log10f-ieee (Depends-on): Add log10-ieee.
30578         (configure.ac): Require gl_FUNC_LOG10F.
30580         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
30581         * m4/log10-ieee.m4: New file.
30582         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
30583         whether log10 works with a negative argument. Replace it if not.
30584         * lib/log10.c (log10): For negative arguments, return NaN.
30585         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
30586         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
30587         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
30589         Tests for module 'log10l-ieee'.
30590         * modules/log10l-ieee-tests: New file.
30591         * tests/test-log10l-ieee.c: New file.
30593         New module 'log10l-ieee'.
30594         * modules/log10l-ieee: New file.
30596         Tests for module 'log10-ieee'.
30597         * modules/log10-ieee-tests: New file.
30598         * tests/test-log10-ieee.c: New file.
30600         New module 'log10-ieee'.
30601         * modules/log10-ieee: New file.
30603         Tests for module 'log10f-ieee'.
30604         * modules/log10f-ieee-tests: New file.
30605         * tests/test-log10f-ieee.c: New file.
30606         * tests/test-log10-ieee.h: New file.
30608         New module 'log10f-ieee'.
30609         * modules/log10f-ieee: New file.
30611 2012-04-01  Bruno Haible  <bruno@clisp.org>
30613         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
30614         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
30615         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
30616         workaround.
30617         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
30618         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
30619         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
30620         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
30621         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
30622         (Depends-on): Update conditions.
30623         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
30624         IRIX 6.5, OSF/1 5.1 problems.
30626 2012-04-01  Bruno Haible  <bruno@clisp.org>
30628         log10f: Work around OSF/1 5.1 bug.
30629         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
30630         * lib/log10f.c (log10f): If logf exists, use it and provide just the
30631         workaround.
30632         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
30633         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
30634         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
30635         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
30636         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
30637         (Depends-on): Update conditions.
30638         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
30640 2012-04-01  Bruno Haible  <bruno@clisp.org>
30642         log10: Work around OSF/1 5.1 bug.
30643         * lib/math.in.h (log10): New declaration.
30644         * lib/log10.c: New file.
30645         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
30646         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
30647         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
30648         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
30649         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
30650         * modules/log10 (Files): Add lib/log10.c.
30651         (Depends-on): Add math.
30652         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
30653         * tests/test-math-c++.cc: Check the declaration of log10.
30654         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
30656 2012-03-31  Bruno Haible  <bruno@clisp.org>
30658         log10l tests: More tests.
30659         * modules/log10l-tests (Files): Add tests/test-log10l.h,
30660         tests/minus-zero.h, tests/randoml.c.
30661         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
30662         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
30663         (main): Invoke test_function.
30665         log10f tests: More tests.
30666         * modules/log10f-tests (Files): Add tests/test-log10.h,
30667         tests/minus-zero.h, tests/randomf.c.
30668         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
30669         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
30670         (main): Invoke test_function.
30672         log10 tests: More tests.
30673         * tests/test-log10.h: New file.
30674         * modules/log10-tests (Files): Add tests/test-log10.h,
30675         tests/minus-zero.h, tests/randomd.c.
30676         (Makefile.am): Add randomd.c to test_log10_SOURCES.
30677         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
30678         (main): Invoke test_function.
30680 2012-03-31  Simon Josefsson  <simon@josefsson.org>
30682         fflush: Fix syntax error.
30683         * lib/fflush.c: Include unused-parameter.h, needed for
30684         _GL_UNUSED_PARAMETER.
30685         * modules/fflush (Depends-on): Add snippet/unused-parameter.
30687 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
30689         regex: pacify GCC when compiling GRUB
30690         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
30691         a diagnostic.  Reported by Vladimir Serbinenko in
30692         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
30694 2012-03-29  Eric Blake  <eblake@redhat.com>
30696         stdio: don't assume gets any more
30697         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
30698         support.
30699         * modules/stdio (Makefile.am): Likewise.
30700         * lib/stdio-read.c (gets): Likewise.
30701         * tests/test-stdio-c++.cc: Likewise.
30702         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
30703         * lib/stdio.in.h (gets): Make warning occur in more places.
30704         * doc/posix-functions/gets.texi (gets): Update documentation.
30705         Reported by Christer Solskogen.
30707         maint.mk: fix syntax checks without exclusions
30708         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
30709         Reported by Daniel P. Berrange.
30711         strerror_r: avoid compiler warning
30712         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
30713         level.
30715         fflush: avoid compiler warning
30716         * lib/fflush.c (update_fpos_cache): Mark variables that are
30717         potentially unused.
30719 2012-03-25  Bruno Haible  <bruno@clisp.org>
30721         Tests for module 'localeconv'.
30722         * modules/localeconv-tests: New file.
30723         * tests/test-localeconv.c: New file.
30725         New module 'localeconv'.
30726         * lib/locale.in.h (localeconv): New declaration.
30727         * lib/localeconv.c: New file.
30728         * m4/localeconv.m4: New file.
30729         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
30730         REPLACE_LOCALECONV.
30731         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
30732         REPLACE_LOCALECONV.
30733         * modules/localeconv: New file.
30734         * modules/nl_langinfo (Depends-on): Add localeconv.
30735         * modules/human (Depends-on): Likewise.
30736         * doc/posix-functions/localeconv.texi: Mention the new module.
30738 2012-03-25  Bruno Haible  <bruno@clisp.org>
30740         locale: Provide a complete 'struct lconv'.
30741         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
30742         'struct lconv' does not contain int_p_cs_precedes.
30743         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
30744         * doc/posix-headers/locale.texi: Update.
30746         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
30747         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
30748         * doc/posix-headers/locale.texi: Update.
30750         locale: Provide a working 'struct lconv'.
30751         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
30752         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
30753         'struct lconv' does not even contain decimal_point.
30754         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
30755         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
30756         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
30757         * doc/posix-headers/locale.texi: Mention the problems with
30758         'struct lconv'.
30759         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
30761 2012-03-24  Bruno Haible  <bruno@clisp.org>
30763         Enable common subexpression optimization in GCC.
30764         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
30765         macros.
30766         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
30767         GCC attribute 'const'.
30768         (uc_locale_language): Declare with GCC attribute 'pure'.
30769         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
30770         with GCC attribute 'const'.
30771         * lib/unictype.in.h (uc_is_general_category_withtable,
30772         uc_combining_class, uc_combining_class_name,
30773         uc_combining_class_long_name, uc_bidi_class_name,
30774         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
30775         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
30776         uc_decimal_value, uc_digit_value, uc_numeric_value,
30777         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
30778         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
30779         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
30780         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
30781         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
30782         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
30783         Declare with GCC attribute 'const'.
30784         (uc_general_category_name, uc_general_category_long_name,
30785         uc_general_category_byname, uc_general_category,
30786         uc_is_general_category, uc_combining_class_byname,
30787         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
30788         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
30789         Declare with GCC attribute 'pure'.
30790         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
30791         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
30792         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
30793         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
30794         with GCC attribute 'pure'.
30795         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
30796         'const'.
30797         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
30798         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
30799         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
30800         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
30801         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
30802         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
30803         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
30804         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
30805         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
30806         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
30807         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
30808         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
30809         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
30810         GCC attribute 'pure'.
30811         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
30812         'const'.
30813         * lib/uniwidth.in.h (uc_width): Simplify declaration.
30814         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
30815         u32_strwidth): Declare with GCC attribute 'pure'.
30817         Enable common subexpression optimization in GCC.
30818         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
30819         (alphasort): Declare with GCC attribute 'pure'.
30820         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
30821         (atoll): Declare with GCC attribute 'pure'.
30822         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
30823         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
30824         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
30825         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
30826         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
30827         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
30828         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
30830 2012-03-24  Bruno Haible  <bruno@clisp.org>
30832         gnulib-tool: Avoid unintended error output from 'cmp'.
30833         * gnulib-tool (func_add_file, func_update_file, func_import): Use
30834         "cmp -s", not "cmp > /dev/null".
30836 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
30838         gnulib-tool: fix imprecise comments w.r.t. an automake bug
30840         It's not just Automake versions < 1.9b that creates an empty
30841         pkgdatadir at installation time if pkgdata_DATA is specified
30842         to empty; modern automake versions do this as well, at least
30843         until automake 1.11.4 (not yet released at the moment of writing,
30844         but soon to appear).  That behaviour was generally considered a
30845         feature rather than a bug, at least until this discussion:
30846         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
30848         See also automake bugs #10997 and #11030.
30850         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
30851         reference to relevant automake bug numbers.
30852         (func_emit_tests_Makefile_am): Likewise.
30854 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
30856         announce-gen: use Digest::SHA when possible
30857         * build-aux/announce-gen: Use Digest::SHA when possible, falling
30858         back to Digest::SHA1 if necessary.
30860 2012-03-20  Jim Meyering  <meyering@redhat.com>
30862         tests: avoid gcc warnings about argv vs. const initializers
30863         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
30864         warnings about discarding 'const' qualifier from pointer target type.
30865         * tests/test-posix_spawn2.c (main): Likewise.
30867 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
30869         README-release: simplify slightly
30870         * top/README-release: Run "git checkout master" only once.
30872 2012-03-15  Mark Wielaard  <mark@klomp.org>
30874         git-merge-changelog: add specific example on how to use with hg.
30875         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
30877 2012-03-18  Mark Wielaard  <mark@klomp.org>
30879         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
30881 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
30883         git-version-gen: don't let "prefix" envvar cause trouble
30884         * build-aux/git-version-gen (prefix): Initialize properly,
30885         so as not to use a value specified via the environment.
30886         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
30888 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
30890         regex: diagnose too-large repeat counts in EREs
30891         Previously, the code did not diagnose the too-large repeat count
30892         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
30893         as if it were 'b\{1000000000}', which is unexpected.
30894         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
30895         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
30896         is a reasonable one for this problem.  Another option would be to
30897         create a new REG_OVERFLOW error for repeat counts that are too large.
30898         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
30899         count is too large, so that the caller can distinguish the two cases.
30900         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
30901         "Too large" return code, and that repeat counts are one example of this.
30903 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
30905         doc: some glibc x32 integer width issues
30906         * doc/posix-headers/sys_types.texi (sys/types.h):
30907         * doc/posix-headers/time.texi (time.h):
30908         Mention that glibc x32 does not conform to POSIX in a couple of
30909         areas related to integer widths.
30911 2012-03-15  Bruno Haible  <bruno@clisp.org>
30913         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
30914         * lib/fma.c (VOLATILE): New macro.
30915         (FUNC): Use it to work around a GCC compiler bug.
30917 2012-03-13  Bruno Haible  <bruno@clisp.org>
30919         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
30920         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
30921         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
30922         REPLACE_HYPOTL to 1.
30923         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
30925 2012-03-13  Bruno Haible  <bruno@clisp.org>
30927         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
30928         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
30929         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
30930         REPLACE_REMAINDERL to 1.
30931         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
30932         bug.
30934 2012-03-13  Bruno Haible  <bruno@clisp.org>
30936         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
30937         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
30938         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
30939         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
30940         too big rounding errors.
30941         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
30942         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
30943         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
30944         (Depends-on): Update conditions.
30945         * tests/test-sqrtl.c (my_ldexpl): New function.
30946         (main): Add test of a particular value.
30947         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
30949 2012-03-13  Pádraig Brady  <P@draigBrady.com>
30951         doc: Update timer_* platform portability notes.
30952         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
30953         that always return ENOSYS.
30954         * doc/posix-functions/timer_delete.texi: Likewise.
30955         * doc/posix-functions/timer_gettime.texi: Likewise.
30956         * doc/posix-functions/timer_settime.texi: Likewise.
30958 2012-03-13  Bruno Haible  <bruno@clisp.org>
30960         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
30961         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
30962         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
30963         REPLACE_CBRTL to 1.
30964         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
30966 2012-03-13  Bruno Haible  <bruno@clisp.org>
30968         remainderl: Avoid compilation error on AIX >= 5.2.
30969         * lib/math.in.h (remainderl): Undefine macro from the system header.
30971 2012-03-13  Bruno Haible  <bruno@clisp.org>
30973         Avoid compilation errors with MSVC option -fp:strict.
30974         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
30975         * lib/cbrtf.c: Likewise.
30976         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
30978 2012-03-12  Bruno Haible  <bruno@clisp.org>
30980         uninorm: Don't crash in out-of-memory conditions.
30981         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
30982         gracefully.
30983         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
30984         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
30986 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
30988         quote: fix syntax-check
30989         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
30990         also exports quote_quoting_options.
30992 2012-03-12  Simon Josefsson  <simon@josefsson.org>
30994         Collapse list of copyright years to ranges.  See
30995         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
30996         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
30997         build-aux/csharpexec.sh.in, build-aux/gnupload,
30998         build-aux/install-reloc, build-aux/javacomp.sh.in,
30999         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
31000         build-aux/move-if-change, build-aux/reloc-ldflags,
31001         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
31003 2012-03-11  Bruno Haible  <bruno@clisp.org>
31005         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
31006         * m4/log2f-ieee.m4: New file.
31007         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
31008         whether log2f works with a minus zero argument. Replace it if not.
31009         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
31010         (Depends-on): Add log2-ieee.
31011         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
31012         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
31014         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
31015         * m4/log2-ieee.m4: New file.
31016         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
31017         whether log2 works with a minus zero argument. Replace it if not.
31018         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
31019         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
31020         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
31022         Tests for module 'log2l-ieee'.
31023         * modules/log2l-ieee-tests: New file.
31024         * tests/test-log2l-ieee.c: New file.
31026         New module 'log2l-ieee'.
31027         * modules/log2l-ieee: New file.
31029         Tests for module 'log2-ieee'.
31030         * modules/log2-ieee-tests: New file.
31031         * tests/test-log2-ieee.c: New file.
31033         New module 'log2-ieee'.
31034         * modules/log2-ieee: New file.
31036         Tests for module 'log2f-ieee'.
31037         * modules/log2f-ieee-tests: New file.
31038         * tests/test-log2f-ieee.c: New file.
31039         * tests/test-log2-ieee.h: New file.
31041         New module 'log2f-ieee'.
31042         * modules/log2f-ieee: New file.
31044 2012-03-11  Bruno Haible  <bruno@clisp.org>
31046         Tests for module 'log2l'.
31047         * modules/log2l-tests: New file.
31048         * tests/test-log2l.c: New file.
31050         New module 'log2l'.
31051         * lib/math.in.h (log2l): New declaration.
31052         * lib/log2l.c: New file.
31053         * m4/log2l.m4: New file.
31054         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
31055         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
31056         REPLACE_LOG2L.
31057         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
31058         REPLACE_LOG2L.
31059         * modules/log2l: New file.
31060         * tests/test-math-c++.cc: Check the declaration of log2l.
31061         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
31062         and OSF/1 problems.
31064 2012-03-11  Bruno Haible  <bruno@clisp.org>
31066         Tests for module 'log2f'.
31067         * modules/log2f-tests: New file.
31068         * tests/test-log2f.c: New file.
31070         New module 'log2f'.
31071         * lib/math.in.h (log2f): New declaration.
31072         * lib/log2f.c: New file.
31073         * m4/log2f.m4: New file.
31074         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
31075         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
31076         REPLACE_LOG2F.
31077         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
31078         REPLACE_LOG2F.
31079         * modules/log2f: New file.
31080         * tests/test-math-c++.cc: Check the declaration of log2f.
31081         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
31082         and OSF/1 and Cygwin problems.
31084 2012-03-11  Bruno Haible  <bruno@clisp.org>
31086         Tests for module 'log2'.
31087         * modules/log2-tests: New file.
31088         * tests/test-log2.c: New file.
31089         * tests/test-log2.h: New file.
31091         New module 'log2'.
31092         * lib/math.in.h (log2): New declaration.
31093         * lib/log2.c: New file.
31094         * m4/log2.m4: New file.
31095         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
31096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
31097         REPLACE_LOG2.
31098         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
31099         REPLACE_LOG2.
31100         * modules/log2: New file.
31101         * tests/test-math-c++.cc: Check the declaration of log2.
31102         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
31103         and OSF/1 and Cygwin problems.
31105 2012-03-11  Bruno Haible  <bruno@clisp.org>
31107         exp2* tests: More tests.
31108         * tests/test-exp2.h (test_function): Test all integral arguments that
31109         don't need to overflow or denormalized numbers.
31110         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
31111         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
31112         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
31114 2012-03-10  Bruno Haible  <bruno@clisp.org>
31116         log1pl-ieee: Work around test failure on AIX 7.1.
31117         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
31119         log1pl-ieee: Work around test failure on IRIX 6.5.
31120         * m4/log1pl-ieee.m4: New file.
31121         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
31122         test whether log1pl works with a minus zero argument. Replace it if
31123         not.
31124         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
31125         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
31126         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
31127         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
31128         (Depends-on): Update conditions.
31129         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
31130         m4/signbit.m4.
31131         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
31132         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
31134         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
31135         * m4/log1pf-ieee.m4: New file.
31136         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
31137         test whether log1pf works with a minus zero argument. Replace it if
31138         not.
31139         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
31140         m4/signbit.m4.
31141         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
31142         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
31144         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
31145         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
31146         (configure.ac): Require gl_FUNC_LOG1PF.
31148         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
31149         * m4/log1p-ieee.m4: New file.
31150         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
31151         whether log1p works with a minus zero argument. Replace it if not.
31152         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
31153         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
31154         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
31155         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
31156         (Depends-on): Update conditions.
31157         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
31158         m4/signbit.m4.
31159         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
31160         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
31162         Tests for module 'log1pl-ieee'.
31163         * modules/log1pl-ieee-tests: New file.
31164         * tests/test-log1pl-ieee.c: New file.
31166         New module 'log1pl-ieee'.
31167         * modules/log1pl-ieee: New file.
31169         Tests for module 'log1p-ieee'.
31170         * modules/log1p-ieee-tests: New file.
31171         * tests/test-log1p-ieee.c: New file.
31173         New module 'log1p-ieee'.
31174         * modules/log1p-ieee: New file.
31176         Tests for module 'log1pf-ieee'.
31177         * modules/log1pf-ieee-tests: New file.
31178         * tests/test-log1pf-ieee.c: New file.
31179         * tests/test-log1p-ieee.h: New file.
31181         New module 'log1pf-ieee'.
31182         * modules/log1pf-ieee: New file.
31184 2012-03-10  Bruno Haible  <bruno@clisp.org>
31186         Tests for module 'log1pl'.
31187         * modules/log1pl-tests: New file.
31188         * tests/test-log1pl.c: New file.
31190         New module 'log1pl'.
31191         * lib/math.in.h (log1pl): New declaration.
31192         * lib/log1pl.c: New file.
31193         * m4/log1pl.m4: New file.
31194         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
31195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
31196         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
31197         * modules/log1pl: New file.
31198         * tests/test-math-c++.cc: Check the declaration of log1pl.
31199         * doc/posix-functions/log1pl.texi: Mention the new module.
31201 2012-03-10  Bruno Haible  <bruno@clisp.org>
31203         Tests for module 'log1pf'.
31204         * modules/log1pf-tests: New file.
31205         * tests/test-log1pf.c: New file.
31207         New module 'log1pf'.
31208         * lib/math.in.h (log1pf): New declaration.
31209         * lib/log1pf.c: New file.
31210         * m4/log1pf.m4: New file.
31211         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
31212         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
31213         REPLACE_LOG1PF.
31214         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
31215         REPLACE_LOG1PF.
31216         * modules/log1pf: New file.
31217         * tests/test-math-c++.cc: Check the declaration of log1pf.
31218         * doc/posix-functions/log1pf.texi: Mention the new module.
31220 2012-03-10  Bruno Haible  <bruno@clisp.org>
31222         log1p tests: More tests.
31223         * tests/test-log1p.h: New file.
31224         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
31225         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
31226         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
31227         (main): Invoke test_function.
31229         log1p: Provide replacement for Minix and MSVC.
31230         * lib/math.in.h (log1p): New declaration.
31231         * lib/log1p.c: New file.
31232         * m4/log1p.m4: New file.
31233         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
31234         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
31235         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
31236         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
31237         (Depends-on): Add math, isnand, log, round.
31238         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
31239         HAVE_LOG1P is 0.
31240         * tests/test-math-c++.cc: Check the declaration of log1p.
31241         * doc/posix-functions/log1p.texi: Mention the replacement.
31243 2012-03-10  Bruno Haible  <bruno@clisp.org>
31245         math tests: Small simplification.
31246         * tests/test-exp.h (test_function): Use the same err_bound for
31247         'double' on platforms with sizeof (long double) == sizeof (double)
31248         than on platforms with sizeof (long double) > sizeof (double).
31249         * tests/test-exp2.h (test_function): Likewise.
31250         * tests/test-expm1.h (test_function): Likewise.
31251         * tests/test-log.h (test_function): Likewise.
31253 2012-03-10  Bruno Haible  <bruno@clisp.org>
31255         Fix some comments.
31256         * lib/expl.c: Fix an ambiguous comment.
31257         * lib/expm1.c: Likewise.
31258         * lib/expm1l.c: Likewise.
31259         * lib/exp2.c: Likewise.
31260         * lib/exp2l.c: Likewise.
31262 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
31264         regex: allow inclusion of <regex.h> before <limits.h>
31265         Without this patch, portable programs had to include <limits.h> before
31266         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
31267         I ran into this problem with a test version of GNU grep on Solaris 8.
31268         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
31269         This is done conditionally so that this change can be merged
31270         back to glibc.
31271         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
31272         using the included regex.
31274         fts: depend on fdopendir
31275         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
31276         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
31277         problem was introduced when fdopendir was split out.
31279 2012-03-10  Bruno Haible  <bruno@clisp.org>
31281         Remove unused variables.
31282         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
31283         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
31285 2012-03-10  Bruno Haible  <bruno@clisp.org>
31287         isnanf-nolibm: Fix last commit.
31288         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
31290         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
31291         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
31293 2012-03-10  Bruno Haible  <bruno@clisp.org>
31295         logf-ieee: Work around test failure on NetBSD 5.1.
31296         * m4/logf-ieee.m4: New file.
31297         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
31298         whether logf works with a negative argument. Replace it if not.
31299         * lib/logf.c (logf): For negative arguments, return NaN.
31300         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
31301         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
31302         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
31304         logf-ieee: Work around test failure on Solaris 9.
31305         * modules/logf-ieee (Depends-on): Add log-ieee.
31306         (configure.ac): Require gl_FUNC_LOGF.
31308         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
31309         * m4/log-ieee.m4: New file.
31310         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
31311         log works with a negative argument. Replace it if not.
31312         * lib/log.c (log): For negative arguments, return NaN.
31313         * modules/log-ieee (Files): Add m4/log-ieee.m4.
31314         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
31315         * doc/posix-functions/log.texi: Mention the log-ieee module.
31317         Tests for module 'logl-ieee'.
31318         * modules/logl-ieee-tests: New file.
31319         * tests/test-logl-ieee.c: New file.
31321         New module 'logl-ieee'.
31322         * modules/logl-ieee: New file.
31324         Tests for module 'log-ieee'.
31325         * modules/log-ieee-tests: New file.
31326         * tests/test-log-ieee.c: New file.
31328         New module 'log-ieee'.
31329         * modules/log-ieee: New file.
31331         Tests for module 'logf-ieee'.
31332         * modules/logf-ieee-tests: New file.
31333         * tests/test-logf-ieee.c: New file.
31334         * tests/test-log-ieee.h: New file.
31336         New module 'logf-ieee'.
31337         * modules/logf-ieee: New file.
31339 2012-03-10  Bruno Haible  <bruno@clisp.org>
31341         log: Fix bug introduced on 2012-03-09.
31342         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
31344 2012-03-10  Pádraig Brady  <P@draigBrady.com>
31346         timer-time: link explicitly with pthreads on glibc
31347         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
31348         to support static linking, when newer glibc is
31349         detected, as that contains pthread emulation of
31350         POSIX timer functions where required.
31351         * modules/timer-time: Depend on threadlib to
31352         pull in the appropriate library to link.
31354 2012-03-10  Bruno Haible  <bruno@clisp.org>
31356         log* tests: More tests.
31357         * tests/test-log.h: New file.
31358         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
31359         (main): Invoke test_function.
31360         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
31361         (main): Invoke test_function.
31362         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
31363         (main): Invoke test_function.
31364         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
31365         tests/randomd.c.
31366         (Makefile.am): Add randomd.c to test_log_SOURCES.
31367         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
31368         tests/randomf.c.
31369         (Makefile.am): Add randomf.c to test_logf_SOURCES.
31370         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
31371         tests/randoml.c.
31372         (Depends-on): Add 'float'.
31373         (Makefile.am): Add randoml.c to test_logl_SOURCES.
31375 2012-03-09  Bruno Haible  <bruno@clisp.org>
31377         logl: Work around OSF/1 5.1 bug.
31378         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
31379         * lib/logl.c (logl): If logl exists, use it and provide just the
31380         workaround.
31381         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
31382         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
31383         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
31384         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
31385         * modules/logl (configure.ac): Consider REPLACE_LOGL.
31386         (Depends-on): Update conditions.
31387         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
31389 2012-03-09  Bruno Haible  <bruno@clisp.org>
31391         logf: Work around OSF/1 5.1 bug.
31392         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
31393         * lib/logf.c (logf): If logf exists, use it and provide just the
31394         workaround.
31395         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
31396         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
31397         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
31398         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
31399         * modules/logf (configure.ac): Consider REPLACE_LOGF.
31400         (Depends-on): Update conditions.
31401         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
31403 2012-03-09  Bruno Haible  <bruno@clisp.org>
31405         log: Work around OSF/1 5.1 bug.
31406         * lib/math.in.h (log): New declaration.
31407         * lib/log.c: New file.
31408         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
31409         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
31410         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
31411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
31412         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
31413         * modules/log (Files): Add lib/log.c.
31414         (Depends-on): Add math.
31415         (configure.ac): If REPLACE_LOG is 1, compile an override.
31416         * tests/test-math-c++.cc: Check the declaration of log.
31417         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
31419 2012-03-09  Jim Meyering  <meyering@redhat.com>
31421         readtokens.c: adjust wording in a comment
31422         * lib/readtokens.c: Insert omitted "that" in a comment.
31424 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
31426         modechange: add notations +40, 00440, etc.
31427         * lib/modechange.c (mode_compile): Support new notations
31428         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
31430 2012-03-08  Bruno Haible  <bruno@clisp.org>
31432         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
31433         * m4/exp2l-ieee.m4: New file.
31434         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
31435         test whether exp2l works with a NaN argument and with a negative
31436         infinity argument. Replace it if not.
31437         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
31438         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
31439         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
31440         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
31441         (Depends-on): Update conditions.
31442         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
31443         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
31444         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
31446         Tests for module 'exp2l-ieee'.
31447         * modules/exp2l-ieee-tests: New file.
31448         * tests/test-exp2l-ieee.c: New file.
31450         New module 'exp2l-ieee'.
31451         * modules/exp2l-ieee: New file.
31453         Tests for module 'exp2-ieee'.
31454         * modules/exp2-ieee-tests: New file.
31455         * tests/test-exp2-ieee.c: New file.
31457         New module 'exp2-ieee'.
31458         * modules/exp2-ieee: New file.
31460         Tests for module 'exp2f-ieee'.
31461         * modules/exp2f-ieee-tests: New file.
31462         * tests/test-exp2f-ieee.c: New file.
31463         * tests/test-exp2-ieee.h: New file.
31465         New module 'exp2f-ieee'.
31466         * modules/exp2f-ieee: New file.
31468 2012-03-08  Bruno Haible  <bruno@clisp.org>
31470         Tests for module 'exp2l'.
31471         * modules/exp2l-tests: New file.
31472         * tests/test-exp2l.c: New file.
31474         New module 'exp2l'.
31475         * lib/math.in.h (exp2l): New declaration.
31476         * lib/exp2l.c: New file.
31477         * lib/expl-table.c: New file, extracted from lib/expl.c.
31478         * lib/expl.c (gl_expl_table): New declaration.
31479         (expl): Remove expl_table. Update reference.
31480         * m4/exp2l.m4: New file.
31481         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
31482         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
31483         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
31484         * modules/exp2l: New file.
31485         * modules/expl (Files): Add lib/expl-table.c.
31486         (configure.ac): Compile also expl-table.c.
31487         * tests/test-math-c++.cc: Check the declaration of exp2l.
31488         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
31489         problem.
31491 2012-03-08  Bruno Haible  <bruno@clisp.org>
31493         Tests for module 'exp2f'.
31494         * modules/exp2f-tests: New file.
31495         * tests/test-exp2f.c: New file.
31497         New module 'exp2f'.
31498         * lib/math.in.h (exp2f): New declaration.
31499         * lib/exp2f.c: New file.
31500         * m4/exp2f.m4: New file.
31501         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
31502         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
31503         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
31504         * modules/exp2f: New file.
31505         * tests/test-math-c++.cc: Check the declaration of exp2f.
31506         * doc/posix-functions/exp2f.texi: Mention the new module and the
31507         IRIX problem.
31509 2012-03-08  Bruno Haible  <bruno@clisp.org>
31511         Tests for module 'exp2'.
31512         * modules/exp2-tests: New file.
31513         * tests/test-exp2.c: New file.
31514         * tests/test-exp2.h: New file.
31516         New module 'exp2'.
31517         * lib/math.in.h (exp2): New declaration.
31518         * lib/exp2.c: New file.
31519         * m4/exp2.m4: New file.
31520         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
31521         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
31522         REPLACE_EXP2.
31523         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
31524         REPLACE_EXP2.
31525         * modules/exp2: New file.
31526         * tests/test-math-c++.cc: Check the declaration of exp2.
31527         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
31528         and OpenBSD problems.
31530 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
31532         savedir: fix comment typo
31533         * lib/savedir.c (savedirstream): Fix typo in comment.
31535 2012-03-08  Bruno Haible  <bruno@clisp.org>
31537         test-readtokens.c: use const; remove unwarranted cast
31538         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
31540 2012-03-08  Bruno Haible  <bruno@clisp.org>
31542         fmal: Avoid compilation error on AIX.
31543         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
31544         AIX 5.2..7.1.
31546 2012-03-08  Bruno Haible  <bruno@clisp.org>
31548         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
31549         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
31550         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
31551         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
31552         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
31553         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
31554         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
31556 2012-03-08  Bruno Haible  <bruno@clisp.org>
31558         remainderf: Override buggy system function on IRIX 6.5.
31559         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
31560         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
31561         when it exists.
31562         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
31564 2012-03-08  Jim Meyering  <meyering@redhat.com>
31566         test-readtokens.c: avoid const-related compilation warnings
31567         * tests/test-readtokens.c: Avoid const-related compilation warnings.
31569 2012-03-07  Jim Meyering  <meyering@redhat.com>
31570             Bruno Haible  <bruno@clisp.org>
31572         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
31573         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
31574         tests/randomd.c.
31575         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
31576         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
31577         tests/randoml.c.
31578         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
31580 2012-03-07  Bruno Haible  <bruno@clisp.org>
31582         expm1l: Avoid compilation error on AIX.
31583         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
31584         AIX 5.2..7.1.
31586 2012-03-07  Bruno Haible  <bruno@clisp.org>
31588         expm1l: Don't override undeclared system function on IRIX 6.5.
31589         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
31590         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
31591         it exists. Set HAVE_DECL_EXPM1L.
31592         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
31593         HAVE_EXPM1L.
31594         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
31595         HAVE_EXPM1L.
31596         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
31598 2012-03-07  Bruno Haible  <bruno@clisp.org>
31600         remainderl: Don't override undeclared system function on IRIX 6.5.
31601         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
31602         HAVE_REMAINDERL.
31603         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
31604         declared when it exists. Set HAVE_DECL_REMAINDERL.
31605         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
31606         not HAVE_REMAINDERL.
31607         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
31608         HAVE_REMAINDERL.
31609         * doc/posix-functions/remainderl.texi: Mention missing declaration
31610         problem.
31612 2012-03-07  Bruno Haible  <bruno@clisp.org>
31614         rintf: Don't override undeclared system function on IRIX 6.5.
31615         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
31616         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
31617         exists. Set HAVE_DECL_RINTF.
31618         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
31619         HAVE_RINTF.
31620         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
31621         HAVE_RINTF.
31622         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
31624 2012-03-07  Bruno Haible  <bruno@clisp.org>
31626         roundl: Avoid compilation error on AIX.
31627         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
31628         AIX 5.2..7.1.
31630 2012-03-07  Bruno Haible  <bruno@clisp.org>
31632         roundl: Don't override undeclared system function on IRIX 6.5.
31633         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
31634         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
31635         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
31636         * modules/roundl (configure.ac): For replacement code, test
31637         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
31638         (Depends-on): Update conditions.
31639         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
31641 2012-03-07  Bruno Haible  <bruno@clisp.org>
31643         roundf: Don't override undeclared system function on IRIX 6.5.
31644         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
31645         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
31646         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
31647         * modules/roundf (configure.ac): For replacement code, test
31648         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
31649         (Depends-on): Update conditions.
31650         * modules/roundf-ieee (Depends-on): Update conditions.
31651         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
31653 2012-03-07  Bruno Haible  <bruno@clisp.org>
31655         round: Don't override undeclared system function on IRIX 6.5.
31656         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
31657         argument.
31658         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
31659         also when it is not declared. Set HAVE_ROUND. For replacement code,
31660         test HAVE_ROUND, not HAVE_DECL_ROUND.
31661         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
31662         not HAVE_DECL_ROUND.
31663         (Depends-on): Update conditions.
31664         * modules/round-ieee (Depends-on): Update conditions.
31665         * doc/posix-functions/round.texi: Mention the IRIX problem.
31667 2012-03-07  Bruno Haible  <bruno@clisp.org>
31669         copysignf: Don't override undeclared system function on IRIX 6.5.
31670         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
31671         HAVE_COPYSIGNF.
31672         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
31673         declared when it exists. Set HAVE_DECL_COPYSIGNF.
31674         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
31675         not HAVE_COPYSIGNF.
31676         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
31677         HAVE_COPYSIGNF.
31678         * doc/posix-functions/copysignf.texi: Mention missing declaration
31679         problem.
31681 2012-03-07  Jim Meyering  <meyering@redhat.com>
31683         readtokens: add tests
31684         * modules/readtokens-tests: New file.
31685         * tests/test-readtokens.c: New file.
31687 2012-03-07  Jim Meyering  <meyering@redhat.com>
31689         quotearg: the module must now include quote.h
31690         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
31691         So must the module.
31692         * modules/quotearg (Files): Add quote.h.
31694 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
31696         readtokens: avoid core dumps with unusual calling patterns
31697         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
31698         * lib/readtokens.c: Include limits.h.
31699         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
31700         (readtoken): Don't cache the delimiters; the cache code was buggy
31701         if !delim && saved_delim, or if the new n_delim differs from the old.
31702         Also, it wasn't thread-safe.
31704 2012-03-07  Bruno Haible  <bruno@clisp.org>
31706         quote: Adhere to common module description layout.
31707         * modules/quote (Makefile.am): Add back empty section.
31709 2012-03-06  Akim Demaille  <demaille@gostai.com>
31711         quote: fuse into quotearg
31712         This patch is made for the benefit of Bison.
31713         quote does not leave the choice of the quoting style to the user.
31714         quoting_style provides poor customizability, yet quoting_options,
31715         which is very rich, is hidden inside quotearg.c.  So in order to
31716         allow quote customization, move its implementation to quotearg.c.
31717         * lib/quote.c: Remove.
31718         * modules/quote: Adjust.
31719         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
31720         warning: provide all the members of literal structs.
31721         (quote_quoting_options): New.
31722         (quote, quote_n): Import implementation from quote.c.
31723         * lib/quote.h: Import the comments from quote.c.
31724         (quote_quoting_options): New.
31726 2012-03-06  Bruno Haible  <bruno@clisp.org>
31728         Tests for module 'expm1l-ieee'.
31729         * modules/expm1l-ieee-tests: New file.
31730         * tests/test-expm1l-ieee.c: New file.
31732         New module 'expm1l-ieee'.
31733         * modules/expm1l-ieee: New file.
31735         Tests for module 'expm1f-ieee'.
31736         * modules/expm1f-ieee-tests: New file.
31737         * tests/test-expm1f-ieee.c: New file.
31739         New module 'expm1f-ieee'.
31740         * modules/expm1f-ieee: New file.
31742         Tests for module 'expm1-ieee'.
31743         * modules/expm1-ieee-tests: New file.
31744         * tests/test-expm1-ieee.c: New file.
31745         * tests/test-expm1-ieee.h: New file.
31747         New module 'expm1-ieee'.
31748         * modules/expm1-ieee: New file.
31749         * m4/expm1-ieee.m4: New file.
31750         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
31751         whether expm1 works with a minus zero argument. Replace it if not.
31752         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
31753         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
31754         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
31755         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
31756         (Depends-on): Update conditions.
31757         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
31758         AIX problem.
31760 2012-03-06  Bruno Haible  <bruno@clisp.org>
31762         Work around expm1f bug on IRIX 6.5.
31763         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
31764         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
31765         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
31766         not work.
31767         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
31768         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
31769         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
31770         (Depends-on): Update conditions.
31771         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
31773 2012-03-06  Bruno Haible  <bruno@clisp.org>
31775         Tests for module 'expm1l'.
31776         * modules/expm1l-tests: New file.
31777         * tests/test-expm1l.c: New file.
31779         New module 'expm1l'.
31780         * lib/math.in.h (expm1l): New declaration.
31781         * lib/expm1l.c: New file.
31782         * m4/expm1l.m4: New file.
31783         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
31784         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
31785         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
31786         * modules/expm1l: New file.
31787         * tests/test-math-c++.cc: Check the declaration of expm1l.
31788         * doc/posix-functions/expm1l.texi: Mention the new module.
31790 2012-03-06  Bruno Haible  <bruno@clisp.org>
31792         Tests for module 'expm1f'.
31793         * modules/expm1f-tests: New file.
31794         * tests/test-expm1f.c: New file.
31796         New module 'expm1f'.
31797         * lib/math.in.h (expm1f): New declaration.
31798         * lib/expm1f.c: New file.
31799         * m4/expm1f.m4: New file.
31800         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
31801         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
31802         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
31803         * modules/expm1f: New file.
31804         * tests/test-math-c++.cc: Check the declaration of expm1f.
31805         * doc/posix-functions/expm1f.texi: Mention the new module.
31807 2012-03-06  Bruno Haible  <bruno@clisp.org>
31809         Tests for module 'expm1'.
31810         * modules/expm1-tests: New file.
31811         * tests/test-expm1.c: New file.
31812         * tests/test-expm1.h: New file.
31814         New module 'expm1'.
31815         * lib/math.in.h (expm1): New declaration.
31816         * lib/expm1.c: New file.
31817         * m4/expm1.m4: New file.
31818         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
31819         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
31820         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
31821         * modules/expm1: New file.
31822         * tests/test-math-c++.cc: Check the declaration of expm1.
31823         * doc/posix-functions/expm1.texi: Mention the new module.
31825 2012-03-06  Bruno Haible  <bruno@clisp.org>
31827         math: Ensure declarations of math functions.
31828         * modules/acosf (Depends-on): Add 'extensions'.
31829         * modules/asinf (Depends-on): Likewise.
31830         * modules/atan2f (Depends-on): Likewise.
31831         * modules/atanf (Depends-on): Likewise.
31832         * modules/cbrt (Depends-on): Likewise.
31833         * modules/cbrtf (Depends-on): Likewise.
31834         * modules/cbrtl (Depends-on): Likewise.
31835         * modules/copysignf (Depends-on): Likewise.
31836         * modules/copysignl (Depends-on): Likewise.
31837         * modules/cosf (Depends-on): Likewise.
31838         * modules/coshf (Depends-on): Likewise.
31839         * modules/expf (Depends-on): Likewise.
31840         * modules/fabsf (Depends-on): Likewise.
31841         * modules/fabsl (Depends-on): Likewise.
31842         * modules/fmaf (Depends-on): Likewise.
31843         * modules/fmal (Depends-on): Likewise.
31844         * modules/fmodf (Depends-on): Likewise.
31845         * modules/fmodl (Depends-on): Likewise.
31846         * modules/frexpf (Depends-on): Likewise.
31847         * modules/frexpl (Depends-on): Likewise.
31848         * modules/hypot (Depends-on): Likewise.
31849         * modules/hypotf (Depends-on): Likewise.
31850         * modules/hypotl (Depends-on): Likewise.
31851         * modules/ldexpf (Depends-on): Likewise.
31852         * modules/ldexpl (Depends-on): Likewise.
31853         * modules/log10f (Depends-on): Likewise.
31854         * modules/log10l (Depends-on): Likewise.
31855         * modules/log1p (Depends-on): Likewise.
31856         * modules/logb (Depends-on): Likewise.
31857         * modules/logf (Depends-on): Likewise.
31858         * modules/modff (Depends-on): Likewise.
31859         * modules/modfl (Depends-on): Likewise.
31860         * modules/powf (Depends-on): Likewise.
31861         * modules/remainderf (Depends-on): Likewise.
31862         * modules/remainderl (Depends-on): Likewise.
31863         * modules/rintf (Depends-on): Likewise.
31864         * modules/rintl (Depends-on): Likewise.
31865         * modules/sinf (Depends-on): Likewise.
31866         * modules/sinhf (Depends-on): Likewise.
31867         * modules/sqrtf (Depends-on): Likewise.
31868         * modules/tanf (Depends-on): Likewise.
31869         * modules/tanhf (Depends-on): Likewise.
31870         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
31871         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
31872         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
31873         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
31874         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
31875         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
31876         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
31877         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
31878         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
31879         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
31880         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
31881         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
31882         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
31883         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
31884         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
31885         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
31886         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
31887         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
31888         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
31889         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
31890         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
31891         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
31892         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
31893         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
31894         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
31895         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
31896         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
31897         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
31898         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
31899         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
31900         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
31901         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
31902         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
31903         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
31904         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
31905         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
31906         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
31907         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
31908         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
31909         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
31910         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
31912 2012-03-06  Bruno Haible  <bruno@clisp.org>
31914         math: Update module names in warnings.
31915         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
31916         tanl): Use specific module name in warn-on-use warning.
31918 2012-03-06  Bruno Haible  <bruno@clisp.org>
31920         expl: Simplify computation.
31921         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
31923 2012-03-05  Bruno Haible  <bruno@clisp.org>
31925         exp* tests: More tests.
31926         * tests/test-exp.h: New file.
31927         * tests/test-exp.c: Include <float.h> and test-exp.h.
31928         (main): Invoke test_function.
31929         * tests/test-expf.c: Include <float.h> and test-exp.h.
31930         (main): Invoke test_function.
31931         * tests/test-expl.c: Include <float.h> and test-exp.h.
31932         (main): Invoke test_function.
31933         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
31934         (Makefile.am): Add randomd.c to test_exp_SOURCES.
31935         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
31936         (Makefile.am): Add randomf.c to test_expf_SOURCES.
31937         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
31938         (Depends-on): Add 'float'.
31939         (Makefile.am): Add randoml.c to test_expl_SOURCES.
31941         expl: Fix precision of computed result.
31942         * lib/expl.c: Completely rewritten.
31943         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
31944         (Maintainer): Add me.
31945         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
31947 2012-03-05  Bruno Haible  <bruno@clisp.org>
31949         cbrt* tests: More tests.
31950         * tests/test-cbrt.h: New file.
31951         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
31952         (main): Invoke test_function.
31953         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
31954         (main): Invoke test_function.
31955         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
31956         (main): Invoke test_function.
31957         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
31958         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
31959         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
31960         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
31961         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
31962         (Depends-on): Add 'float'.
31963         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
31965 2012-03-05  Bruno Haible  <bruno@clisp.org>
31967         hypot* tests: More tests.
31968         * tests/test-hypot.h: New file, partially extracted from
31969         tests/test-hypotl.c.
31970         * tests/test-hypot.c: Include test-hypot.h.
31971         (main): Invoke test_function.
31972         * tests/test-hypotf.c: Include test-hypot.h.
31973         (main): Invoke test_function.
31974         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
31975         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
31976         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
31977         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
31978         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
31979         tests/randomf.c.
31980         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
31981         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
31982         tests/randoml.c.
31983         (Depends-on): Add 'fpucw', 'float'.
31984         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
31986 2012-03-05  Bruno Haible  <bruno@clisp.org>
31988         fpucw: Doc about FreeBSD.
31989         * lib/fpucw.h: Mention FreeBSD in comments.
31991 2012-03-04  Bruno Haible  <bruno@clisp.org>
31993         sqrt* tests: More tests.
31994         * tests/test-sqrt.h: New file.
31995         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
31996         (main): Invoke test_function.
31997         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
31998         (main): Invoke test_function.
31999         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
32000         (main): Invoke test_function.
32001         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
32002         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
32003         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
32004         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
32005         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
32006         (Depends-on): Add 'float'.
32007         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
32009 2012-03-04  Bruno Haible  <bruno@clisp.org>
32011         remainder* tests: More tests.
32012         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
32013         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
32014         (main): Invoke test_function.
32015         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
32016         (main): Invoke test_function.
32017         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
32018         (main): Invoke test_function.
32019         * modules/remainder-tests (Files): Add tests/test-remainder.h,
32020         tests/randomd.c.
32021         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
32022         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
32023         tests/randomf.c.
32024         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
32025         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
32026         tests/randoml.c.
32027         (Depends-on): Add 'float'.
32028         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
32030 2012-03-04  Bruno Haible  <bruno@clisp.org>
32032         remainder, remainderf, remainderl: Fix computation for large quotients.
32033         * lib/remainder.c: Completely rewritten.
32034         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
32035         USE_FLOAT.
32036         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
32037         USE_LONG_DOUBLE.
32038         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
32039         isnand, isinf. Remove round, fma.
32040         * modules/remainderf (Files): Add lib/remainder.c.
32041         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
32042         Remove roundf, fmaf.
32043         * modules/remainderl (Files): Add lib/remainder.c.
32044         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
32045         isinf. Remove roundl, fmal.
32046         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
32047         REMAINDER_LIBM.
32048         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
32049         REMAINDERF_LIBM.
32050         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
32051         REMAINDERL_LIBM.
32053 2012-03-04  Bruno Haible  <bruno@clisp.org>
32055         fmod* tests: More tests.
32056         * tests/test-fmod.h (my_ldexp): New function.
32057         (test_function): Reduce amount of random numbers to test. Add tests
32058         of very large quotients x / y.
32059         * tests/test-fmod.c (MAX_EXP): New macro.
32060         * tests/test-fmodf.c (MAX_EXP): Likewise.
32061         * tests/test-fmodl.c (MAX_EXP): Likewise.
32063 2012-03-04  Bruno Haible  <bruno@clisp.org>
32065         fmod, fmodl: Fix computation for large quotients x / y.
32066         * lib/fmod.c: Completely rewritten.
32067         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
32068         USE_LONG_DOUBLE.
32069         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
32070         isnand. Remove fma.
32071         * modules/fmodl (Files): Add lib/fmod.c.
32072         (Depends-on): Add float, isfinite, signbit, fabsl,
32073         frexpl, ldexpl, isnanl. Remove fma.
32074         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
32075         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
32077 2012-03-03  Bruno Haible  <bruno@clisp.org>
32079         fmod* tests: More tests.
32080         * tests/test-fmod.h: New file.
32081         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
32082         (main): Invoke test_function.
32083         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
32084         (main): Invoke test_function.
32085         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
32086         (main): Invoke test_function.
32087         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
32088         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
32089         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
32090         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
32091         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
32092         (Depends-on): Add 'float'.
32093         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
32095 2012-03-03  Bruno Haible  <bruno@clisp.org>
32097         rint* tests: More tests.
32098         * tests/test-rint.h: New file, partially extracted from
32099         tests/test-rintl.c.
32100         * tests/test-rint.c: Include test-rint.h.
32101         (main): Invoke test_function.
32102         * tests/test-rintf.c: Include test-rint.h.
32103         (main): Invoke test_function.
32104         * tests/test-rintl.c: Include test-rint.h.
32105         (main): Invoke test_function.
32106         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
32107         (Makefile.am): Add randomd.c to test_rint_SOURCES.
32108         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
32109         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
32110         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
32111         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
32113 2012-03-03  Bruno Haible  <bruno@clisp.org>
32115         modf* tests: More tests.
32116         * tests/test-modf.h: New file.
32117         * tests/test-modf.c: Include <float.h> and test-modf.h.
32118         (main): Invoke test_function.
32119         * tests/test-modff.c: Include <float.h> and test-modf.h.
32120         (main): Invoke test_function.
32121         * tests/test-modfl.c: Include <float.h> and test-modf.h.
32122         (main): Invoke test_function.
32123         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
32124         (Makefile.am): Add randomd.c to test_modf_SOURCES.
32125         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
32126         (Makefile.am): Add randomf.c to test_modff_SOURCES.
32127         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
32128         (Depends-on): Add 'float'.
32129         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
32131 2012-03-03  Bruno Haible  <bruno@clisp.org>
32133         fabs* tests: More tests.
32134         * tests/test-fabs.h: New file, partially extracted from
32135         tests/test-fabsl.c.
32136         * tests/test-fabs.c (RANDOM): New macro.
32137         * tests/test-fabsf.c (RANDOM): New macro.
32138         * tests/test-fabsl.c (RANDOM): New macro.
32139         * modules/fabs-tests (Files): Add tests/randomd.c.
32140         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
32141         * modules/fabsf-tests (Files): Add tests/randomf.c.
32142         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
32143         * modules/fabsl-tests (Files): Add tests/randoml.c.
32144         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
32146 2012-03-03  Bruno Haible  <bruno@clisp.org>
32148         ldexp* tests: More tests.
32149         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
32150         * tests/test-ldexp.c (RANDOM): New macro.
32151         * tests/test-ldexpf.c (RANDOM): New macro.
32152         * tests/test-ldexpl.c (RANDOM): New macro.
32153         * modules/ldexp-tests (Files): Add tests/randomd.c.
32154         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
32155         * modules/ldexpf-tests (Files): Add tests/randomf.c.
32156         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
32157         * modules/ldexpl-tests (Files): Add tests/randoml.c.
32158         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
32160 2012-03-03  Bruno Haible  <bruno@clisp.org>
32162         frexp* tests: More tests.
32163         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
32164         * tests/test-frexp.c (RANDOM): New macro.
32165         * tests/test-frexpf.c (RANDOM): New macro.
32166         * tests/test-frexpl.c (RANDOM): New macro.
32167         * modules/frexp-tests (Files): Add tests/randomd.c.
32168         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
32169         * modules/frexpf-tests (Files): Add tests/randomf.c.
32170         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
32171         * modules/frexpl-tests (Files): Add tests/randoml.c.
32172         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
32174 2012-03-03  Bruno Haible  <bruno@clisp.org>
32176         Support for pseudo-random numbers in tests.
32177         * tests/randomf.c: New file.
32178         * tests/randomd.c: New file.
32179         * tests/randoml.c: New file.
32180         * tests/macros.h (randomf, randomd, randoml): New declarations.
32182 2012-03-03  Bruno Haible  <bruno@clisp.org>
32184         frexp* tests: Refactor.
32185         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
32186         * tests/test-frexp.c: Include and use it.
32187         * tests/test-frexpf.c: Likewise.
32188         * tests/test-frexpl.c: Likewise.
32189         * modules/frexp-tests (Files): Add tests/test-frexp.h.
32190         * modules/frexpf-tests (Files): Likewise.
32191         * modules/frexpl-tests (Files): Likewise.
32193 2012-03-02  Jim Meyering  <meyering@redhat.com>
32195         maint: don't specify XZ_OPT=-9ev in dist-related rule
32196         Using xz's -9 option is warranted only if you have a very large
32197         tarball (see xz's documentation for the sizes vs. presets), and
32198         requires 64MiB of memory at decompression time.
32199         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
32200         Automake's default of just "-e" is fine.  Override on a
32201         per-package basis by setting XZ_OPT e.g., in cfg.mk.
32203 2012-03-01  Eric Blake  <eblake@redhat.com>
32205         maint.mk: allow announcement for non-gnulib project
32206         * maint.mk (announcement): Skip gnulib version if not used.
32208 2012-03-01  Jim Meyering  <meyering@redhat.com>
32210         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
32211         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
32212         envvar settings cannot interfere.  Otherwise, setting envvars like
32213         prohibit=foo require=bar, etc. would cause spurious test failures.
32215 2012-03-01  Eric Blake  <eblake@redhat.com>
32217         maint.mk: add per-line exclusions to prohibitions
32218         * maint.mk (_sc_search_regexp): Add $exclude parameter.
32219         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
32220         (sc_const_long_option): Use it.
32222 2012-03-01  Bruno Haible  <bruno@clisp.org>
32224         Tests for module 'expl-ieee'.
32225         * modules/expl-ieee-tests: New file.
32226         * tests/test-expl-ieee.c: New file.
32228         New module 'expl-ieee'.
32229         * modules/expl-ieee: New file.
32231         Tests for module 'exp-ieee'.
32232         * modules/exp-ieee-tests: New file.
32233         * tests/test-exp-ieee.c: New file.
32235         New module 'exp-ieee'.
32236         * modules/exp-ieee: New file.
32238         Tests for module 'expf-ieee'.
32239         * modules/expf-ieee-tests: New file.
32240         * tests/test-expf-ieee.c: New file.
32241         * tests/test-exp-ieee.h: New file.
32243         New module 'expf-ieee'.
32244         * modules/expf-ieee: New file.
32246 2012-02-29  Bruno Haible  <bruno@clisp.org>
32248         cbrtl-ieee: Work around test failure on IRIX 6.5.
32249         * m4/cbrtl-ieee.m4: New file.
32250         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
32251         test whether cbrtl works with a minus zero argument. Replace it if not.
32252         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
32253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
32254         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
32255         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
32256         (Depends-on): Update conditions.
32257         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
32258         m4/signbit.m4.
32259         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
32260         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
32261         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
32263         Tests for module 'cbrtl-ieee'.
32264         * modules/cbrtl-ieee-tests: New file.
32265         * tests/test-cbrtl-ieee.c: New file.
32267         New module 'cbrtl-ieee'.
32268         * modules/cbrtl-ieee: New file.
32270         Tests for module 'cbrt-ieee'.
32271         * modules/cbrt-ieee-tests: New file.
32272         * tests/test-cbrt-ieee.c: New file.
32274         New module 'cbrt-ieee'.
32275         * modules/cbrt-ieee: New file.
32277         Tests for module 'cbrtf-ieee'.
32278         * modules/cbrtf-ieee-tests: New file.
32279         * tests/test-cbrtf-ieee.c: New file.
32280         * tests/test-cbrt-ieee.h: New file.
32282         New module 'cbrtf-ieee'.
32283         * modules/cbrtf-ieee: New file.
32285 2012-02-29  Bruno Haible  <bruno@clisp.org>
32287         cbrtf: Work around bug in IRIX 6.5 system function.
32288         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
32289         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
32290         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
32291         work.
32292         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
32293         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
32294         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
32295         (Depends-on): Update conditions.
32296         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
32298 2012-02-29  Bruno Haible  <bruno@clisp.org>
32300         Tests for module 'cbrtl'.
32301         * modules/cbrtl-tests: New file.
32302         * tests/test-cbrtl.c: New file.
32304         New module 'cbrtl'.
32305         * lib/math.in.h (cbrtl): New declaration.
32306         * lib/cbrtl.c: New file.
32307         * m4/cbrtl.m4: New file.
32308         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
32309         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
32310         HAVE_DECL_CBRTL.
32311         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
32312         HAVE_DECL_CBRTL.
32313         * modules/cbrtl: New file.
32314         * tests/test-math-c++.cc: Check the declaration of cbrtl.
32315         * doc/posix-functions/cbrtl.texi: Mention the new module.
32317 2012-02-29  Bruno Haible  <bruno@clisp.org>
32319         Tests for module 'cbrtf'.
32320         * modules/cbrtf-tests: New file.
32321         * tests/test-cbrtf.c: New file.
32323         New module 'cbrtf'.
32324         * lib/math.in.h (cbrtf): New declaration.
32325         * lib/cbrtf.c: New file.
32326         * m4/cbrtf.m4: New file.
32327         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
32328         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
32329         HAVE_DECL_CBRTF.
32330         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
32331         HAVE_DECL_CBRTF.
32332         * modules/cbrtf: New file.
32333         * tests/test-math-c++.cc: Check the declaration of cbrtf.
32334         * doc/posix-functions/cbrtf.texi: Mention the new module.
32336 2012-02-29  Bruno Haible  <bruno@clisp.org>
32338         cbrt: Provide replacement on MSVC and Minix.
32339         * lib/math.in.h (cbrt): New declaration.
32340         * lib/cbrt.c: New file.
32341         * m4/cbrt.m4: New file.
32342         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
32343         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
32344         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
32345         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
32346         (Depends-on): Add dependencies.
32347         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
32348         * tests/test-math-c++.cc: Check the declaration of cbrt.
32349         * doc/posix-functions/cbrt.texi: Mention that the module provides a
32350         replacement.
32352 2012-02-29  Bruno Haible  <bruno@clisp.org>
32354         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
32355         * m4/hypotl-ieee.m4: New file.
32356         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
32357         test whether hypotl works with mixed NaN and Infinity arguments.
32358         Replace it if not.
32359         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
32360         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
32361         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
32362         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
32363         (Depends-on): Update conditions.
32364         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
32365         (Depends-on): Add hypot-ieee.
32366         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
32367         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
32369         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
32370         * m4/hypotf-ieee.m4: New file.
32371         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
32372         test whether hypotf works with mixed NaN and Infinity arguments.
32373         Replace it if not.
32374         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
32375         (Depends-on): Add hypot-ieee.
32376         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
32377         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
32379         hypot-ieee: Work around test failure on OSF/1 and native Windows.
32380         * lib/math.in.h (hypot): New declaration.
32381         * lib/hypot.c: New file.
32382         * m4/hypot-ieee.m4: New file.
32383         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
32384         whether hypot works with mixed NaN and Infinity arguments. Replace it
32385         if not.
32386         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
32387         REPLACE_HYPOT.
32388         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
32389         * modules/hypot (Files): Add lib/hypot.c.
32390         (Depends-on): Add dependencies.
32391         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
32392         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
32393         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
32394         * tests/test-math-c++.cc: Check the declaration of hypot.
32395         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
32397         Tests for module 'hypotl-ieee'.
32398         * modules/hypotl-ieee-tests: New file.
32399         * tests/test-hypotl-ieee.c: New file.
32401         New module 'hypotl-ieee'.
32402         * modules/hypotl-ieee: New file.
32404         Tests for module 'hypot-ieee'.
32405         * modules/hypot-ieee-tests: New file.
32406         * tests/test-hypot-ieee.c: New file.
32408         New module 'hypot-ieee'.
32409         * modules/hypot-ieee: New file.
32411         Tests for module 'hypotf-ieee'.
32412         * modules/hypotf-ieee-tests: New file.
32413         * tests/test-hypotf-ieee.c: New file.
32414         * tests/test-hypot-ieee.h: New file.
32416         New module 'hypotf-ieee'.
32417         * modules/hypotf-ieee: New file.
32419 2012-02-29  Bruno Haible  <bruno@clisp.org>
32421         Remove unused variables.
32422         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
32423         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
32424         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
32425         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
32427 2012-02-29  Eric Blake  <eblake@redhat.com>
32429         termios: fix pid_t always, not just for tcgetsid
32430         * doc/posix-headers/termios.texi (termios.h): Mention problem.
32431         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
32432         just when building tcgetsid.
32434 2012-02-29  Bruno Haible  <bruno@clisp.org>
32436         Tests for module 'hypotl'.
32437         * modules/hypotl-tests: New file.
32438         * tests/test-hypotl.c: New file.
32440         New module 'hypotl'.
32441         * lib/math.in.h (hypotl): New declaration.
32442         * lib/hypotl.c: New file.
32443         * m4/hypotl.m4: New file.
32444         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
32445         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
32446         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
32447         * modules/hypotl: New file.
32448         * tests/test-math-c++.cc: Check the hypotl declaration.
32449         * doc/posix-functions/hypotl.texi: Mention the new module.
32451 2012-02-29  Eric Blake  <eblake@redhat.com>
32453         tcgetsid: fix cygwin header bug
32454         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
32456         docs: update cygwin progress
32457         * doc/posix-functions/llround.texi (llround): Added in cygwin
32458         1.7.8.
32459         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
32460         * doc/glibc-functions/program_invocation_name.texi
32461         (program_invocation_name): Likewise.
32462         * doc/glibc-functions/program_invocation_short_name.texi
32463         (program_invocation_short_name): Likewise.
32464         * doc/glibc-functions/madvise.texi (madvise): Likewise.
32465         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
32466         Likewise.
32467         * doc/posix-functions/pthread_spin_destroy.texi
32468         (pthread_spin_destroy): Added in cygwin 1.7.10.
32469         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
32470         Likewise.
32471         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
32472         Likewise.
32473         * doc/posix-functions/pthread_spin_trylock.texi
32474         (pthread_spin_trylock): Likewise.
32475         * doc/posix-functions/pthread_spin_unlock.texi
32476         (pthread_spin_unlock): Likewise.
32477         * doc/posix-functions/pthread_setschedprio.texi
32478         (pthread_setschedprio): Likewise.
32479         * doc/posix-functions/pthread_attr_getstack.texi
32480         (pthread_attr_getstack): Likewise.
32481         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
32482         (pthread_attr_getstackaddr): Likewise.
32483         * doc/glibc-functions/pthread_getattr_np.texi
32484         (pthread_getattr_np): Likewise.
32485         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
32486         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
32487         * doc/posix-functions/clock_settime.texi (clock_settime):
32488         Likewise.
32489         * doc/posix-functions/pthread_attr_getguardsize.texi
32490         (pthread_attr_getguardsize): Likewise.
32491         * doc/posix-functions/pthread_attr_setguardsize.texi
32492         (pthread_attr_setguardsize): Likewise.
32493         * doc/posix-functions/pthread_attr_setstack.texi
32494         (pthread_attr_setstack): Likewise.
32495         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
32496         (pthread_attr_setstackaddr): Likewise.
32497         * doc/posix-functions/clock_getcpuclockid.texi
32498         (clock_getcpuclockid): Likewise.
32499         * doc/posix-functions/pthread_getcpuclockid.texi
32500         (pthread_getcpuclockid): Likewise.
32501         * doc/glibc-functions/error.texi (error): Likewise.
32502         * doc/glibc-functions/error_at_line.texi (error_at_line):
32503         Likewise.
32504         * doc/glibc-functions/error_message_count.texi
32505         (error_message_count): Likewise.
32506         * doc/glibc-functions/error_one_per_line.texi
32507         (error_one_per_line): Likewise.
32508         * doc/glibc-functions/error_print_progname.texi
32509         (error_print_progname): Likewise.
32510         * doc/posix-functions/pthread_condattr_getclock.texi
32511         (pthread_condattr_getclock): Likewise.
32512         * doc/posix-functions/pthread_condattr_setclock.texi
32513         (pthread_condattr_setclock): Likewise.
32514         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
32515         Likewise.
32516         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
32517         * doc/glibc-functions/getpt.texi (getpt): Likewise.
32518         * doc/glibc-functions/get_current_dir_name.texi
32519         (get_current_dir_name): Likewise.
32520         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
32521         Likewise.
32522         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
32523         wrong return type.
32524         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
32525         1.7.11.
32527 2012-02-29  Bruno Haible  <bruno@clisp.org>
32529         Tests for module 'hypotf'.
32530         * modules/hypotf-tests: New file.
32531         * tests/test-hypotf.c: New file.
32533         New module 'hypotf'.
32534         * lib/math.in.h (hypotf): New declaration.
32535         * lib/hypotf.c: New file.
32536         * m4/hypotf.m4: New file.
32537         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
32538         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
32539         REPLACE_HYPOTF.
32540         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
32541         REPLACE_HYPOTF.
32542         * modules/hypotf: New file.
32543         * tests/test-math-c++.cc: Check the hypotf declaration.
32544         * doc/posix-functions/hypotf.texi: Mention the new module.
32546         hypot: Prepare for hypotf module.
32547         * m4/hypot.m4: New file.
32548         * modules/hypot (Files): Add m4/hypot.m4.
32549         (configure.ac): Invoke gl_FUNC_HYPOT.
32551 2012-02-29  Bruno Haible  <bruno@clisp.org>
32553         hypot tests: More tests.
32554         * tests/test-hypot.c: Include <float.h>.
32555         (main): Add tests about overflow and underflow.
32557 2012-02-29  Bruno Haible  <bruno@clisp.org>
32559         math code: Add comments.
32560         * lib/acosl.c: Add comment about related glibc source files.
32561         * lib/asinl.c: Likewise.
32562         * lib/atanl.c: Likewise.
32563         * lib/expl.c: Likewise.
32564         * lib/logl.c: Likewise.
32565         * lib/sincosl.c: Likewise.
32566         * lib/sinl.c: Likewise.
32567         * lib/tanl.c: Likewise.
32568         * lib/trigl.c: Likewise.
32569         * lib/cosl.c: Likewise. Fix comments.
32571 2012-02-28  Bruno Haible  <bruno@clisp.org>
32573         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
32574         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
32575         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
32576         HUGE_VALL are defined.
32577         (numeric_equald): Renamed from numeric_equal.
32578         (numeric_equalf, numeric_equall): New functions.
32579         (main): Check also HUGE_VALF, HUGE_VALL.
32580         * modules/math-tests (Files): Add tests/macros.h.
32581         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
32582         HUGE_VALL.
32584 2012-02-28  Bruno Haible  <bruno@clisp.org>
32586         doc: Move ISO C11 feature notes into POSIX chapters.
32587         * doc/posix-functions/aligned_alloc.texi: Renamed from
32588         doc/glibc-functions/aligned_alloc.texi.
32589         * doc/posix-functions/quick_exit.texi: Renamed from
32590         doc/glibc-functions/quick_exit.texi.
32591         * doc/posix-headers/uchar.texi: Renamed from
32592         doc/glibc-headers/uchar.texi.
32593         * doc/posix-functions/c16rtomb.texi: Renamed from
32594         doc/glibc-functions/c16rtomb.texi.
32595         * doc/posix-functions/c32rtomb.texi: Renamed from
32596         doc/glibc-functions/c32rtomb.texi.
32597         * doc/posix-functions/mbrtoc16.texi: Renamed from
32598         doc/glibc-functions/mbrtoc16.texi.
32599         * doc/posix-functions/mbrtoc32.texi: Renamed from
32600         doc/glibc-functions/mbrtoc32.texi.
32601         * doc/gnulib.texi: Update.
32602         (Glibc uchar.h): Remove section.
32603         Suggested by Eric Blake.
32605 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
32607         stdnoreturn: port to MSVC better
32608         MSVC standard headers use __declspec(noreturn), so #define noreturn
32609         to empty on that platform.  Reported by Bruno Haible in
32610         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
32611         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
32612         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
32614 2012-02-28  Bruno Haible  <bruno@clisp.org>
32616         doc: Mention new glibc headers and functions.
32617         * doc/glibc-headers/uchar.texi: New file.
32618         * doc/glibc-functions/aligned_alloc.texi: New file.
32619         * doc/glibc-functions/c16rtomb.texi: New file.
32620         * doc/glibc-functions/c32rtomb.texi: New file.
32621         * doc/glibc-functions/clock_adjtime.texi: New file.
32622         * doc/glibc-functions/fanotify_init.texi: New file.
32623         * doc/glibc-functions/fanotify_mark.texi: New file.
32624         * doc/glibc-functions/inet6_opt_append.texi: New file.
32625         * doc/glibc-functions/inet6_opt_find.texi: New file.
32626         * doc/glibc-functions/inet6_opt_finish.texi: New file.
32627         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
32628         * doc/glibc-functions/inet6_opt_init.texi: New file.
32629         * doc/glibc-functions/inet6_opt_next.texi: New file.
32630         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
32631         * doc/glibc-functions/inet6_rth_add.texi: New file.
32632         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
32633         * doc/glibc-functions/inet6_rth_init.texi: New file.
32634         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
32635         * doc/glibc-functions/inet6_rth_segments.texi: New file.
32636         * doc/glibc-functions/inet6_rth_space.texi: New file.
32637         * doc/glibc-functions/login.texi: New file.
32638         * doc/glibc-functions/mbrtoc16.texi: New file.
32639         * doc/glibc-functions/mbrtoc32.texi: New file.
32640         * doc/glibc-functions/name_to_handle_at.texi: New file.
32641         * doc/glibc-functions/ntp_gettimex.texi: New file.
32642         * doc/glibc-functions/open_by_handle_at.texi: New file.
32643         * doc/glibc-functions/prlimit.texi: New file.
32644         * doc/glibc-functions/process_vm_readv.texi: New file.
32645         * doc/glibc-functions/process_vm_writev.texi: New file.
32646         * doc/glibc-functions/recvmmsg.texi: New file.
32647         * doc/glibc-functions/scandirat.texi: New file.
32648         * doc/glibc-functions/sendmmsg.texi: New file.
32649         * doc/glibc-functions/setns.texi: New file.
32650         * doc/glibc-functions/timespec_get.texi: New file.
32651         * doc/gnulib.texi: Include them.
32652         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
32653         sections.
32654         Reported by Eric Blake.
32656 2012-02-28  Bruno Haible  <bruno@clisp.org>
32658         Avoid compilation errors with MSVC option -fp:strict.
32659         * lib/floor.c: Use MSVC specific pragma fenv_access.
32660         * lib/ceil.c: Likewise.
32661         * lib/trunc.c: Likewise.
32662         * lib/round.c: Likewise.
32663         * lib/rint.c: Likewise.
32664         * lib/fma.c: Likewise.
32665         * lib/integer_length.c: Likewise.
32666         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
32667         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
32668         * tests/test-floor2.c: Likewise.
32669         * tests/test-floorf2.c: Likewise.
32670         * tests/test-ceil2.c: Likewise.
32671         * tests/test-ceilf2.c: Likewise.
32672         * tests/test-trunc2.c: Likewise.
32673         * tests/test-truncf2.c: Likewise.
32674         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
32676 2012-02-27  Bruno Haible  <bruno@clisp.org>
32678         Tests for module 'sqrtl-ieee'.
32679         * modules/sqrtl-ieee-tests: New file.
32680         * tests/test-sqrtl-ieee.c: New file.
32682         New module 'sqrtl-ieee'.
32683         * modules/sqrtl-ieee: New file.
32685         Tests for module 'sqrt-ieee'.
32686         * modules/sqrt-ieee-tests: New file.
32687         * tests/test-sqrt-ieee.c: New file.
32689         New module 'sqrt-ieee'.
32690         * modules/sqrt-ieee: New file.
32692         Tests for module 'sqrtf-ieee'.
32693         * modules/sqrtf-ieee-tests: New file.
32694         * tests/test-sqrtf-ieee.c: New file.
32695         * tests/test-sqrt-ieee.h: New file.
32697         New module 'sqrtf-ieee'.
32698         * modules/sqrtf-ieee: New file.
32700 2012-02-27  Bruno Haible  <bruno@clisp.org>
32702         remainderl-ieee: Work around test failure on OSF/1.
32703         * m4/remainderl-ieee.m4: New file.
32704         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
32705         present, test whether remainderl works with a zero second argument.
32706         Replace it if not.
32707         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
32708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
32709         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
32710         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
32711         (Depends-on): Update conditions.
32712         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
32713         (Depends-on): Add remainder-ieee.
32714         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
32715         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
32716         module.
32718         remainderf-ieee: Work around test failure on OSF/1.
32719         * m4/remainderf-ieee.m4: New file.
32720         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
32721         present, test whether remainderf works with a zero second argument.
32722         Replace it if not.
32723         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
32724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
32725         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
32726         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
32727         (Depends-on): Update conditions.
32728         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
32729         (Depends-on): Add remainder-ieee.
32730         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
32731         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
32732         module.
32734         remainder-ieee: Work around test failure on OSF/1.
32735         * m4/remainder-ieee.m4: New file.
32736         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
32737         present, test whether remainder works with a zero second argument.
32738         Replace it if not.
32739         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
32740         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
32741         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
32742         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
32743         (Depends-on): Update dependencies.
32744         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
32745         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
32746         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
32748         Tests for module 'remainderl-ieee'.
32749         * modules/remainderl-ieee-tests: New file.
32750         * tests/test-remainderl-ieee.c: New file.
32752         New module 'remainderl-ieee'.
32753         * modules/remainderl-ieee: New file.
32755         Tests for module 'remainder-ieee'.
32756         * modules/remainder-ieee-tests: New file.
32757         * tests/test-remainder-ieee.c: New file.
32759         New module 'remainder-ieee'.
32760         * modules/remainder-ieee: New file.
32762         Tests for module 'remainderf-ieee'.
32763         * modules/remainderf-ieee-tests: New file.
32764         * tests/test-remainderf-ieee.c: New file.
32765         * tests/test-remainder-ieee.h: New file.
32767         New module 'remainderf-ieee'.
32768         * modules/remainderf-ieee: New file.
32770 2012-02-27  Bruno Haible  <bruno@clisp.org>
32772         modff, modfl: Fix configure syntax error.
32773         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
32774         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
32776 2012-02-27  Bruno Haible  <bruno@clisp.org>
32778         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
32779         * m4/fmodl-ieee.m4: New file.
32780         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
32781         whether fmodl works with zero arguments. Replace it if not.
32782         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
32783         (Depends-on): Add fmod-ieee.
32784         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
32785         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
32787         fmodf-ieee: Work around test failure on OSF/1.
32788         * m4/fmodf-ieee.m4: New file.
32789         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
32790         whether fmodf works with zero arguments. Replace it if not.
32791         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
32792         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
32793         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
32794         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
32795         (Depends-on): Update dependencies.
32796         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
32797         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
32798         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
32800         fmodf-ieee: Work around test failure on MSVC 9.
32801         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
32802         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
32804         fmod-ieee: Work around test failures on OSF/1, mingw.
32805         * m4/fmod-ieee.m4: New file.
32806         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
32807         whether fmod works with zero arguments. Replace it if not.
32808         * lib/math.in.h (fmod): New declaration.
32809         * lib/fmod.c: New file.
32810         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
32811         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
32812         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
32813         * modules/fmod (Files): Add lib/fmod.c.
32814         (Depends-on): Add math, isinf, trunc, fma.
32815         (configure.ac): Arrange to compile lib/fmod.c if needed.
32816         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
32817         m4/signbit.m4.
32818         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
32819         * tests/test-math-c++.cc: Check the declaration of fmod.
32820         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
32822         fmodl-ieee: Fix test failures.
32823         * lib/fmodl.c (fmodl): Treat Inf specially.
32824         * modules/fmodl (Depends-on): Add isinf.
32826         Tests for module 'fmodl-ieee'.
32827         * modules/fmodl-ieee-tests: New file.
32828         * tests/test-fmodl-ieee.c: New file.
32830         New module 'fmodl-ieee'.
32831         * modules/fmodl-ieee: New file.
32833         Tests for module 'fmod-ieee'.
32834         * modules/fmod-ieee-tests: New file.
32835         * tests/test-fmod-ieee.c: New file.
32837         New module 'fmod-ieee'.
32838         * modules/fmod-ieee: New file.
32840         Tests for module 'fmodf-ieee'.
32841         * modules/fmodf-ieee-tests: New file.
32842         * tests/test-fmodf-ieee.c: New file.
32843         * tests/test-fmod-ieee.h: New file.
32845         New module 'fmodf-ieee'.
32846         * modules/fmodf-ieee: New file.
32848 2012-02-27  Bruno Haible  <bruno@clisp.org>
32850         Tests for module 'rintl-ieee'.
32851         * modules/rintl-ieee-tests: New file.
32852         * tests/test-rintl-ieee.c: New file.
32854         New module 'rintl-ieee'.
32855         * modules/rintl-ieee: New file.
32857         Tests for module 'rint-ieee'.
32858         * modules/rint-ieee-tests: New file.
32859         * tests/test-rint-ieee.c: New file.
32861         New module 'rint-ieee'.
32862         * modules/rint-ieee: New file.
32864         Tests for module 'rintf-ieee'.
32865         * modules/rintf-ieee-tests: New file.
32866         * tests/test-rintf-ieee.c: New file.
32867         * tests/test-rint-ieee.h: New file.
32869         New module 'rintf-ieee'.
32870         * modules/rintf-ieee: New file.
32872 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
32874         regex: re_search etc. should return -2 when memory exhausted
32875         This bug was uncovered when testing 'grep'.  Without the fix,
32876         re_search and friends return -1 when memory is exhausted, but -1
32877         means no match, and this causes grep to falsely report no-match
32878         instead of memory-exhaustion.  See
32879         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
32880         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
32881         trouble; this can occur if re_search_internal ran out of memory.
32883 2012-02-26  Bruno Haible  <bruno@clisp.org>
32885         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
32886         * m4/modfl-ieee.m4: New file.
32887         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
32888         whether modfl works with Inf. Replace it if not.
32889         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
32890         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
32891         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
32892         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
32893         (Depends-on): Update dependencies.
32894         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
32895         m4/signbit.m4.
32896         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
32897         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
32899         modfl-ieee: Fix dependencies.
32900         * modules/modfl-ieee (Depends-on): Add modf-ieee.
32902         modfl-ieee: Fix test failures.
32903         * lib/modfl.c (modfl): Treat NaN and Inf specially.
32904         * modules/modfl (Depends-on): Add isfinite, isinf.
32906         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
32907         * m4/modff-ieee.m4: New file.
32908         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
32909         whether modff works with NaN and Inf. Replace it if not.
32910         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
32911         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
32912         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
32913         * modules/modff (configure.ac): Consider REPLACE_MODFF.
32914         (Depends-on): Update dependencies.
32915         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
32916         m4/signbit.m4.
32917         (Depends-on): Add modf-ieee.
32918         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
32919         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
32921         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
32922         * m4/modf-ieee.m4: New file.
32923         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
32924         whether modf works with NaN and Inf. Replace it if not.
32925         * lib/math.in.h (modf): New declaration.
32926         * lib/modf.c: New file.
32927         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
32928         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
32929         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
32930         * modules/modf (Files): Add lib/modf.c.
32931         (Depends-on): Add math, isfinite, trunc, isinf.
32932         (configure.ac): Addrange to compile lib/modf.c if needed.
32933         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
32934         m4/signbit.m4.
32935         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
32936         * tests/test-math-c++.cc: Check the declaration of modf.
32937         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
32939         Tests for module 'modfl-ieee'.
32940         * modules/modfl-ieee-tests: New file.
32941         * tests/test-modfl-ieee.c: New file.
32943         New module 'modfl-ieee'.
32944         * modules/modfl-ieee: New file.
32946         Tests for module 'modf-ieee'.
32947         * modules/modf-ieee-tests: New file.
32948         * tests/test-modf-ieee.c: New file.
32950         New module 'modf-ieee'.
32951         * modules/modf-ieee: New file.
32953         Tests for module 'modff-ieee'.
32954         * modules/modff-ieee-tests: New file.
32955         * tests/test-modff-ieee.c: New file.
32956         * tests/test-modf-ieee.h: New file.
32958         New module 'modff-ieee'.
32959         * modules/modff-ieee: New file.
32961 2012-02-26  Bruno Haible  <bruno@clisp.org>
32963         Tests for module 'fabsl-ieee'.
32964         * modules/fabsl-ieee-tests: New file.
32965         * tests/test-fabsl-ieee.c: New file.
32967         New module 'fabsl-ieee'.
32968         * modules/fabsl-ieee: New file.
32970         Tests for module 'fabs-ieee'.
32971         * modules/fabs-ieee-tests: New file.
32972         * tests/test-fabs-ieee.c: New file.
32974         New module 'fabs-ieee'.
32975         * modules/fabs-ieee: New file.
32977         Tests for module 'fabsf-ieee'.
32978         * modules/fabsf-ieee-tests: New file.
32979         * tests/test-fabsf-ieee.c: New file.
32980         * tests/test-fabs-ieee.h: New file.
32982         New module 'fabsf-ieee'.
32983         * modules/fabsf-ieee: New file.
32985 2012-02-26  Bruno Haible  <bruno@clisp.org>
32987         Tests for module 'fmal-ieee'.
32988         * modules/fmal-ieee-tests: New file.
32989         * tests/test-fmal-ieee.c: New file.
32991         New module 'fmal-ieee'.
32992         * modules/fmal-ieee: New file.
32994         Tests for module 'fma-ieee'.
32995         * modules/fma-ieee-tests: New file.
32996         * tests/test-fma-ieee.c: New file.
32998         New module 'fma-ieee'.
32999         * modules/fma-ieee: New file.
33001         Tests for module 'fmaf-ieee'.
33002         * modules/fmaf-ieee-tests: New file.
33003         * tests/test-fmaf-ieee.c: New file.
33004         * tests/test-fma-ieee.h: New file.
33006         New module 'fmaf-ieee'.
33007         * modules/fmaf-ieee: New file.
33009 2012-02-26  Bruno Haible  <bruno@clisp.org>
33011         Tests for module 'ldexpl-ieee'.
33012         * modules/ldexpl-ieee-tests: New file.
33013         * tests/test-ldexpl-ieee.c: New file.
33015         New module 'ldexpl-ieee'.
33016         * modules/ldexpl-ieee: New file.
33018         Tests for module 'ldexp-ieee'.
33019         * modules/ldexp-ieee-tests: New file.
33020         * tests/test-ldexp-ieee.c: New file.
33022         New module 'ldexp-ieee'.
33023         * modules/ldexp-ieee: New file.
33025         Tests for module 'ldexpf-ieee'.
33026         * modules/ldexpf-ieee-tests: New file.
33027         * tests/test-ldexpf-ieee.c: New file.
33028         * tests/test-ldexp-ieee.h: New file.
33030         New module 'ldexpf-ieee'.
33031         * modules/ldexpf-ieee: New file.
33033 2012-02-26  Bruno Haible  <bruno@clisp.org>
33035         Refactor frexp*-ieee tests.
33036         * tests/test-frexp-ieee.h: New file.
33037         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
33038         (main): Just call test_function.
33039         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
33040         (main): Just call test_function.
33041         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
33042         (main): Just call test_function.
33043         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
33044         * modules/frexp-ieee-tests (Files): Likewise.
33045         * modules/frexpl-ieee-tests (Files): Likewise.
33047         Tests for module 'frexpl-ieee'.
33048         * modules/frexpl-ieee-tests: New file.
33049         * tests/test-frexpl-ieee.c: New file.
33051         New module 'frexpl-ieee'.
33052         * modules/frexpl-ieee: New file.
33054         Tests for module 'frexp-ieee'.
33055         * modules/frexp-ieee-tests: New file.
33056         * tests/test-frexp-ieee.c: New file.
33058         New module 'frexp-ieee'.
33059         * modules/frexp-ieee: New file.
33061         Tests for module 'frexpf-ieee'.
33062         * modules/frexpf-ieee-tests: New file.
33063         * tests/test-frexpf-ieee.c: New file.
33065         New module 'frexpf-ieee'.
33066         * modules/frexpf-ieee: New file.
33068 2012-02-26  Bruno Haible  <bruno@clisp.org>
33070         roundl-ieee tests: More tests.
33071         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
33072         (main): Add tests for [MX] shaded specification in POSIX.
33073         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33074         (Depends-on): Add isnanl-nolibm.
33076         round-ieee tests: More tests.
33077         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
33078         (main): Add tests for [MX] shaded specification in POSIX.
33079         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33080         (Depends-on): Add isnand-nolibm.
33082         roundf-ieee tests: More tests.
33083         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
33084         (main): Add tests for [MX] shaded specification in POSIX.
33085         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33086         (Depends-on): Add isnanf-nolibm.
33088         truncl-ieee tests: More tests.
33089         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
33090         (main): Add tests for [MX] shaded specification in POSIX.
33091         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33092         (Depends-on): Add isnanl-nolibm.
33094         trunc-ieee tests: More tests.
33095         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
33096         (main): Add tests for [MX] shaded specification in POSIX.
33097         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33098         (Depends-on): Add isnand-nolibm.
33100         truncf-ieee tests: More tests.
33101         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
33102         (main): Add tests for [MX] shaded specification in POSIX.
33103         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33104         (Depends-on): Add isnanf-nolibm.
33106         ceill-ieee tests: More tests.
33107         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
33108         (main): Add tests for [MX] shaded specification in POSIX.
33109         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33110         (Depends-on): Add isnanl-nolibm.
33112         ceil-ieee tests: More tests.
33113         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
33114         (main): Add tests for [MX] shaded specification in POSIX.
33115         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33116         (Depends-on): Add isnand-nolibm.
33118         ceilf-ieee tests: More tests.
33119         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
33120         (main): Add tests for [MX] shaded specification in POSIX.
33121         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33122         (Depends-on): Add isnanf-nolibm.
33124         floorl-ieee tests: More tests.
33125         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
33126         (main): Add tests for [MX] shaded specification in POSIX.
33127         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33128         (Depends-on): Add isnanl-nolibm.
33130         floor-ieee tests: More tests.
33131         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
33132         (main): Add tests for [MX] shaded specification in POSIX.
33133         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33134         (Depends-on): Add isnand-nolibm.
33136         floorf-ieee tests: More tests.
33137         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
33138         (main): Add tests for [MX] shaded specification in POSIX.
33139         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
33140         (Depends-on): Add isnanf-nolibm.
33142 2012-02-26  Bruno Haible  <bruno@clisp.org>
33144         fpieee: More comments.
33145         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
33147 2012-02-25  Bruno Haible  <bruno@clisp.org>
33149         Tests for module 'log10l'.
33150         * modules/log10l-tests: New file.
33151         * tests/test-log10l.c: New file.
33152         * tests/test-math-c++.cc: Check the declaration of log10l.
33154         New module 'log10l'.
33155         * lib/math.in.h (log10l): New declaration.
33156         * lib/log10l.c: New file.
33157         * m4/log10l.m4: New file.
33158         * modules/log10l: New file.
33159         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
33160         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
33161         HAVE_DECL_LOG10L.
33162         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
33163         HAVE_DECL_LOG10L.
33164         * doc/posix-functions/log10l.texi: Mention the new module.
33166 2012-02-25  Bruno Haible  <bruno@clisp.org>
33168         fmodl, remainder*: Avoid wrong results due to rounding errors.
33169         * lib/fmodl.c (fmodl): Correct the result if it is not within the
33170         expected bounds.
33171         * lib/remainderf.c (remainderf): Likewise.
33172         * lib/remainder.c (remainder): Likewise.
33173         * lib/remainderl.c (remainderl): Likewise.
33175 2012-02-25  Bruno Haible  <bruno@clisp.org>
33177         Tests for module 'remainderl'.
33178         * modules/remainderl-tests: New file.
33179         * tests/test-remainderl.c: New file.
33180         * tests/test-math-c++.cc: Check the declaration of remainderl.
33182         New module 'remainderl'.
33183         * lib/math.in.h (remainderl): New declaration.
33184         * lib/remainderl.c: New file.
33185         * m4/remainderl.m4: New file.
33186         * modules/remainderl: New file.
33187         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
33188         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
33189         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
33190         HAVE_REMAINDERL.
33191         * doc/posix-functions/remainderl.texi: Mention the new module.
33193 2012-02-25  Bruno Haible  <bruno@clisp.org>
33195         Tests for module 'remainderf'.
33196         * modules/remainderf-tests: New file.
33197         * tests/test-remainderf.c: New file.
33198         * tests/test-math-c++.cc: Check the declaration of remainderf.
33200         New module 'remainderf'.
33201         * lib/math.in.h (remainderf): New declaration.
33202         * lib/remainderf.c: New file.
33203         * m4/remainderf.m4: New file.
33204         * modules/remainderf: New file.
33205         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
33206         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
33207         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
33208         HAVE_REMAINDERF.
33209         * doc/posix-functions/remainderf.texi: Mention the new module.
33211 2012-02-25  Bruno Haible  <bruno@clisp.org>
33213         remainder: Support for MSVC.
33214         * lib/math.in.h (remainder): New declaration.
33215         * lib/remainder.c: New file.
33216         * m4/remainder.m4: New file.
33217         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
33218         (Depends-on): Add math, round, fma.
33219         (configure.ac): Use results of gl_FUNC_REMAINDER.
33220         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
33221         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
33222         HAVE_DECL_REMAINDER.
33223         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
33224         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
33225         * tests/test-math-c++.cc: Check the declaration of remainder.
33226         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
33227         problems are fixed.
33229 2012-02-25  Bruno Haible  <bruno@clisp.org>
33231         Tests for module 'fmodl'.
33232         * modules/fmodl-tests: New file.
33233         * tests/test-fmodl.c: New file.
33234         * tests/test-math-c++.cc: Check the declaration of fmodl.
33236         New module 'fmodl'.
33237         * lib/math.in.h (fmodl): New declaration.
33238         * lib/fmodl.c: New file.
33239         * m4/fmodl.m4: New file.
33240         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
33241         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
33242         REPLACE_FMODL.
33243         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
33244         REPLACE_FMODL.
33245         * modules/fmodl: New file.
33246         * doc/posix-functions/fmodl.texi: Mention the new module.
33248 2012-02-25  Bruno Haible  <bruno@clisp.org>
33250         Tests for module 'modfl'.
33251         * modules/modfl-tests: New file.
33252         * tests/test-modfl.c: New file.
33253         * tests/test-math-c++.cc: Check the declaration of modfl.
33255         New module 'modfl'.
33256         * lib/math.in.h (modfl): New declaration.
33257         * lib/modfl.c: New file.
33258         * m4/modfl.m4: New file.
33259         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
33260         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
33261         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
33262         * modules/modfl: New file.
33263         * doc/posix-functions/modfl.texi: Mention the new module.
33265 2012-02-25  Bruno Haible  <bruno@clisp.org>
33267         Tests for module 'fabsl'.
33268         * modules/fabsl-tests: New file.
33269         * tests/test-fabsl.c: New file.
33270         * tests/test-math-c++.cc: Check the declaration of fabsl.
33272         New module 'fabsl'.
33273         * lib/math.in.h (fabsl): New declaration.
33274         * lib/fabsl.c: New file.
33275         * m4/fabsl.m4: New file.
33276         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
33277         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
33278         REPLACE_FABSL.
33279         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
33280         REPLACE_FABSL.
33281         * modules/fabsl: New file.
33282         * doc/posix-functions/fabsl.texi: Mention the new module.
33284 2012-02-25  Bruno Haible  <bruno@clisp.org>
33286         fabs tests: More tests.
33287         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
33288         (zero): New variable.
33289         (main): Add tests for signed zero.
33290         * modules/fabs-tests (Files): Add tests/minus-zero.h.
33292         fabsf tests: More tests.
33293         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
33294         (zero): New variable.
33295         (main): Add tests for signed zero.
33296         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
33298 2012-02-24  Bruno Haible  <bruno@clisp.org>
33300         atanl: Provide function definition on MSVC.
33301         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
33302         function pointer.
33303         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
33305 2012-02-24  Bruno Haible  <bruno@clisp.org>
33307         acosl: Provide function definition on MSVC.
33308         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
33309         function pointer.
33310         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
33312 2012-02-24  Bruno Haible  <bruno@clisp.org>
33314         asinl: Provide function definition on MSVC.
33315         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
33316         function pointer.
33317         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
33319 2012-02-24  Bruno Haible  <bruno@clisp.org>
33321         tanl: Provide function definition on MSVC.
33322         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
33323         function pointer.
33324         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
33326 2012-02-24  Bruno Haible  <bruno@clisp.org>
33328         cosl: Provide function definition on MSVC.
33329         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
33330         function pointer.
33331         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
33333 2012-02-24  Bruno Haible  <bruno@clisp.org>
33335         sinl: Provide function definition on MSVC.
33336         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
33337         function pointer.
33338         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
33340 2012-02-24  Bruno Haible  <bruno@clisp.org>
33342         logl: Provide function definition on MSVC.
33343         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
33344         function pointer.
33345         * lib/math.in.h (logl): Undefine if it does not exist as a function.
33347 2012-02-24  Bruno Haible  <bruno@clisp.org>
33349         expl: Provide function definition on MSVC.
33350         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
33351         function pointer.
33352         * lib/math.in.h (expl): Undefine if it does not exist as a function.
33354 2012-02-24  Bruno Haible  <bruno@clisp.org>
33356         sqrtl: Provide function definition on MSVC.
33357         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
33358         a function pointer.
33359         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
33361 2012-02-24  Bruno Haible  <bruno@clisp.org>
33363         ceill: Provide function definition on MSVC.
33364         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
33365         used as a function pointer.
33366         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
33368 2012-02-24  Bruno Haible  <bruno@clisp.org>
33370         floorl: Provide function definition on MSVC.
33371         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
33372         used as a function pointer.
33373         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
33375 2012-02-24  Bruno Haible  <bruno@clisp.org>
33377         ceilf: Provide function definition on MSVC.
33378         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
33379         used as a function pointer.
33380         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
33382 2012-02-24  Bruno Haible  <bruno@clisp.org>
33384         floorf: Provide function definition on MSVC.
33385         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
33386         used as a function pointer.
33387         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
33389 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
33391         stdnoreturn: new module
33392         This implements a replacement for C11's <stdnoreturn.h>.
33393         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
33394         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
33395         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
33396         * tests/test-stdnoreturn.c: New files.
33398 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
33400         regex: fix false multibyte matches in some regular expressions
33401         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
33402         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
33403         * lib/regex_internal.c (re_string_skip_chars):
33404         Fix miscomputation of remain_len that may cause incomplete
33405         multi-byte character and false match.
33407 2012-02-24  Jim Meyering  <meyering@redhat.com>
33409         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
33410         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
33411         uses with "==" *before* the call, e.g., 0 == strcmp (...)
33412         Remove now-unnecessary str''cmp obfuscation.
33413         Suggested by Akim Demaille.
33415 2012-02-24  Bruno Haible  <bruno@clisp.org>
33417         streq: Rename macro.
33418         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
33419         * NEWS: Mention the change.
33420         * lib/mbrtowc.c (mbrtowc): Update.
33421         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
33422         * lib/wcwidth.c (wcwidth): Update.
33423         Suggested by Akim Demaille and Jim Meyering.
33425 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
33427         regex: fix typo in definition of MIN
33428         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
33429         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
33431 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
33432             Bruno Haible  <bruno@clisp.org>
33434         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
33435         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
33436         entries into a stack-allocated buffer directly.
33437         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
33439 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
33440             Bruno Haible  <bruno@clisp.org>
33442         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
33444          - There were several instances of this pattern:
33446              for (;;) {
33447                n = acl (f, GETACLCNT, 0, NULL);
33448                [ allocate an array A of size N ]
33449                if (acl (f, GETACL, n, a) == n)
33450                  break;
33451              }
33453            This loop might never terminate if some other process is constantly
33454            manipulating the file's ACL.  The loop should be rewritten to
33455            terminate.
33457          - The acl (... GETACLNT ...) call is merely an optimization; its value
33458            is merely a hint as to how big to make the array.  A better
33459            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
33460            and just guess a reasonably-big size, growing the size and trying
33461            again if it's not large enough.  This guarantees termination, and
33462            saves a system call.
33464         * lib/acl-internal.h: Include <limits.h>.
33465         (MIN, SIZE_MAX): New macros.
33466         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
33467         a stack-allocated buffer, and use malloc if it does not fit. Don't
33468         use GETACLCNT.
33469         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
33471 2012-02-19  Bruno Haible  <bruno@clisp.org>
33473         acl: Fix endless loop on Solaris with vxfs.
33474         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
33475         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
33476         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
33477         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
33478         * tests/test-sameacls.c (main)[Solaris]: Likewise.
33479         Reported by Bill Jones in
33480         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
33482 2012-02-19  Bruno Haible  <bruno@clisp.org>
33484         acl: Fix copy-acl test failure on Solaris 11.0.
33485         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
33486         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
33487         that this function returns 0 in some more cases.
33489 2012-02-19  Bruno Haible  <bruno@clisp.org>
33491         acl: Update doc references.
33492         * doc/acl-resources.txt: Update links to Solaris documentation.
33494 2012-02-19  Bruno Haible  <bruno@clisp.org>
33496         Fix test failure in many locales on Solaris 11.
33497         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
33498         'tr' arguments.
33499         * tests/test-pipe-filter-ii1.c (main): Likewise.
33500         * build-aux/bootstrap (check_versions): Run 'tr' command with range
33501         expressions in the C locale.
33502         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
33503         * m4/host-os.m4 (gl_HOST_OS): Likewise.
33505 2012-02-19  Bruno Haible  <bruno@clisp.org>
33507         gnulib-tool: Improve usage message.
33508         * gnulib-tool (func_usage): Move doc of --help and --version to the
33509         section "Operation modes".
33511 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
33513         README-release: make it easier to execute commands
33514         * top/README-release: break commands out on to separate lines.
33516 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
33518         GNUmakefile: simplify detection of unconfigured trees
33519         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
33520         whether the tree make is being run from is already configured or
33521         not.  Related simplifications.
33523 2012-02-13  Simon Josefsson  <simon@josefsson.org>
33525         * gnulib-tool (func_usage): Document --help and --version.
33527 2012-02-11  Jim Meyering  <meyering@redhat.com>
33529         bootstrap: don't exit 0 upon gnulib-tool failure
33530         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
33531         its exit status, not 0.
33533 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
33535         README-release: various improvements
33536         * top/README-release: Give a command to push changes for the
33537         release.  Add "distcheck" to list of other pre-release checks.
33538         Fix instance of "make stable" which should be "make TYPE".
33540 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
33542         maint: replace FSF snail-mail addresses with URLs
33543         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
33544         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
33545         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
33546         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
33547         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
33548         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
33549         * lib/check-version.c, lib/check-version.h, lib/config.charset:
33550         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
33551         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
33552         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
33553         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
33554         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
33555         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
33556         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
33557         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
33558         * lib/glthread/thread.c, lib/glthread/thread.h:
33559         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
33560         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
33561         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
33562         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
33563         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
33564         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
33565         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
33566         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
33567         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
33568         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
33569         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
33570         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
33571         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
33572         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
33573         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
33574         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
33575         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
33576         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
33577         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
33578         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
33579         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
33580         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
33581         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
33582         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
33583         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
33584         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
33585         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
33586         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
33587         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
33588         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
33589         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
33590         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
33591         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
33592         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
33593         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
33594         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
33595         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
33596         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
33597         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
33598         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
33599         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
33600         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
33601         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
33602         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
33603         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
33604         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
33605         * tests/test-poll.c, tests/test-quotearg-simple.c:
33606         * tests/test-quotearg.c, tests/test-quotearg.h:
33607         * tests/test-round-ieee.c, tests/test-round1.c:
33608         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
33609         * tests/test-roundl-ieee.c, tests/test-roundl.c:
33610         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
33611         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
33612         * tests/test-strerror.c, tests/test-strerror_r.c:
33613         * tests/test-strsignal.c, tests/test-strverscmp.c:
33614         * tests/test-xmemdup0.c:
33615         Replace FSF snail mail addresses with URLs, as per GNU coding
33616         standards.  See glibc bug
33617         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
33619 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
33621         README-release: capitalize a word and split a line
33622         * top/README-release: Fix punctuation and spacing.
33624 2012-02-08  Akim Demaille  <demaille@gostai.com>
33626         fatal-signal: use C prototypes (with explicit void).
33627         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
33628         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
33630 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
33632         regex: spelling fix
33633         * lib/regexec.c: spelling fix
33635         regex: rely on stdint.h for SIZE_MAX
33636         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
33638 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
33640         regex: merge glibc changes
33642         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
33643         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
33644         (init_word_char): Work even if bitset words are not exactly 32 or
33645         64 bits wide.  Don't assume there are no padding bits.
33646         * lib/regex.c [_LIBC]: Do not include <config.h>.
33647         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
33648         and -Wtype-limits.
33649         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
33650         needless disagreement with glibc.  All uses changed.  Define it to
33651         1 only if _GNU_SOURCE, to match glibc.
33652         (_REG_RM_NAME): Remove; no longer needed, since the names in
33653         question are now all protected by __USE_GNU.
33654         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
33655         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
33656         * lib/regex_internal.h (MIN): New macro.
33658         2012-01-03 Ulrich Drepper <drepper@gmail.com>
33659         * lib/regcomp.c (init_word_char): Optimize regex a bit.
33661         2011-12-30 Jakub Jelinek <jakub@redhat.com>
33662         * lib/regex_internal.c (re_string_fetch_byte_case):
33663         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
33664         is miscompiled, and it turns out it is because of an incorrect
33665         attribute on re_string_fetch_byte_case.  Unlike
33666         re_string_peek_byte_case, this one is really not pure, it modifies
33667         memory (increments pstr->cur_idx), and with the pure attribute GCC
33668         assumed it doesn't and it cached the presumed value of
33669         regexp->cur_idx in a variable across the
33670          for (;; ++i)
33671            {
33672              if (i >= BRACKET_NAME_BUF_SIZE)
33673                return REG_EBRACK;
33674              if (token->type == OP_OPEN_CHAR_CLASS)
33675                ch = re_string_fetch_byte_case (regexp);
33676              else
33677                ch = re_string_fetch_byte (regexp);
33678              if (re_string_eoi(regexp))
33679                return REG_EBRACK;
33680              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
33681                break;
33682              elem->opr.name[i] = ch;
33683            }
33685         2011-11-29 Andreas Schwab <schwab@redhat.com>
33686         * lib/regcomp.c (build_equiv_class):
33687         Fix access after end of search string in regex matcher.
33689         2011-11-12 Ulrich Drepper <drepper@redhat.com>
33690         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
33692         2011-10-12 Ulrich Drepper <drepper@redhat.com>
33693         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
33695         2011-10-11 Ulrich Drepper <drepper@redhat.com>
33696         * lib/regcomp.c (parse_branch, parse_sub_exp):
33697         More regex memory leak fixes and tests.
33698         (parse_sub_exp, parse_bracket_exp):
33699         Fix memory leak for some invalid regular expressions.
33701         2011-05-28 Ulrich Drepper <drepper@gmail.com>
33702         * lib/regex_internal.c, lib/regexec.c:
33703         Fix unnecessary overallocation due to incomplete character.  When
33704         incomplete characters are found at the end of a string the code
33705         ran amok and allocated lots of memory.  Stricter limits are now in
33706         place.
33708         2011-05-20 Reuben Thomas <rrt@sc3d.org>
33709         * lib/regex.h: Update documentation.
33711         2011-05-16 Aharon Robbins <arnold@skeeve.com>
33712         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
33714         2010-05-05 Andreas Schwab <schwab@redhat.com>
33715         * lib/regexec.c (find_collation_sequence_value):
33716         Fix lookup of collation sequence value during regexp matching.
33718         2010-01-22 Ulrich Drepper <drepper@redhat.com>
33719         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
33721         2008-01-16 Ulrich Drepper <drepper@redhat.com>
33722         * lib/regex.h: Cleanup namespace.
33724         2007-11-26 Ulrich Drepper <drepper@redhat.com>
33725         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
33727         2007-08-26 Ulrich Drepper <drepper@redhat.com>
33728         * lib/regex_internal.h: Prevent some declarations and definitions
33729         to be seen when used in tests.
33731         2005-05-06 Ulrich Drepper <drepper@redhat.com>
33732         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
33733         __libc_lock_* macros if not _LIBC.
33734         (struct re_dfa_t): Add lock.
33736 2012-02-07  Eric Blake  <eblake@redhat.com>
33738         maint.mk: also prohibit lower-case @var@
33739         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
33740         lower case, like @top_srcdir@.
33742 2012-02-04  Eric Blake  <eblake@redhat.com>
33744         canonicalize: avoid uninitialized memory use
33745         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
33746         random '/' left in dest.
33747         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
33749 2012-02-04  Bruno Haible  <bruno@clisp.org>
33751         isatty: Fix test failure of ptsname_r on native Windows.
33752         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
33753         and don't set errno.
33754         (isatty): Test first whether fd is valid. Set errno when returning 0.
33756 2012-02-04  Bruno Haible  <bruno@clisp.org>
33758         spawn-pipe tests: Fix a NULL program name in a diagnostic.
33759         * tests/test-spawn-pipe-main.c: Include progname.h.
33760         (main): Invoke set_program_name.
33761         * modules/spawn-pipe-tests (Depends-on): Add progname.
33763         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
33764         * tests/test-nonblocking-socket-main.c: Include progname.h.
33765         (main): Invoke set_program_name.
33766         * modules/nonblocking-socket-tests (Depends-on): Add progname.
33768         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
33769         * tests/test-nonblocking-pipe-main.c: Include progname.h.
33770         (main): Invoke set_program_name.
33771         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
33773 2012-02-04  Eric Blake  <eblake@redhat.com>
33775         canonicalize-lgpl: fix // handling
33776         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
33778         canonicalize: fix // handling
33779         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
33780         /// to //, since only // is special.
33782 2012-02-04  Bruno Haible  <bruno@clisp.org>
33784         ioctl: Fix test failure on native Windows.
33785         * lib/ioctl.c: Include msvc-nothrow.h.
33786         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
33788 2012-02-04  Bruno Haible  <bruno@clisp.org>
33790         fsync: Avoid test failure on native Windows.
33791         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
33792         read-only.
33794 2012-02-04  Bruno Haible  <bruno@clisp.org>
33796         sys_select: Avoid syntax error on OpenBSD 5.0.
33797         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
33798         currently being included, just include the system's <sys/select.h>.
33800 2012-02-04  Bruno Haible  <bruno@clisp.org>
33802         sys_select: Avoid syntax error on OpenBSD 5.0.
33803         * lib/sys_select.in.h: Include <signal.h> only after the include_next
33804         <sys/select.h>, not before.
33805         Reported by Jiri B <jirib@devio.us>.
33807 2012-02-04  Bruno Haible  <bruno@clisp.org>
33809         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
33810         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
33811         global variables.
33812         * tests/test-get-rusage-data.c (main): Likewise.
33813         Reported by Jim Meyering.
33815 2012-02-04  Bruno Haible  <bruno@clisp.org>
33817         stdioext: Fix last commit.
33818         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
33820 2012-02-03  Bruno Haible  <bruno@clisp.org>
33822         stdioext: Add tentative support for Plan9.
33823         * lib/stdio-impl.h: Include <errno.h>.
33824         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
33825         * lib/freadable.c (freadable): Likewise.
33826         * lib/fwritable.c (fwritable): Likewise.
33827         * lib/fbufmode.c (fbufmode): Likewise.
33828         * lib/freading.c (freading): Likewise.
33829         * lib/fwriting.c (fwriting): Likewise.
33830         * lib/freadptr.c (freadptr): Likewise.
33831         * lib/freadseek.c (freadptrinc): Likewise.
33832         * lib/freadahead.c (freadahead): Likewise.
33833         * lib/fpurge.c (fpurge): Likewise.
33834         * lib/fseeko.c (rpl_fseeko): Likewise.
33835         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
33836         Reported by Jens Staal <staal1978@gmail.com>.
33838 2012-02-02  Jim Meyering  <meyering@redhat.com>
33840         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
33841         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
33842         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
33843         not even to try to add the attribute.  Instead, add a pragma to suppress
33844         the suggestion/warning.
33846 2012-01-31  Karl Berry  <karl@gnu.org>
33848         setstate doc: typo.
33849         * doc/posix-functions/setstate.texi (setstate): { not (.
33851 2012-01-31  Bruno Haible  <bruno@clisp.org>
33853         popen: Make more robust on Windows.
33854         * lib/popen.c: On native Windows, use the _popen based code even if
33855         HAVE_POPEN is set.
33856         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
33857         environment variable on native Windows.
33859 2012-01-30  Bruno Haible  <bruno@clisp.org>
33861         pclose: Fix typo.
33862         * lib/stdio.in.h (pclose): Fix typo in warning message.
33864 2012-01-30  Bruno Haible  <bruno@clisp.org>
33866         doc about getlogin_r, setstate.
33867         * doc/posix-functions/getlogin_r.texi: List the incompatible
33868         declaration problem under "not fixed by gnulib".
33869         * doc/posix-functions/setstate.texi: Mention incompatible declaration
33870         problem on Solaris 11 and other platforms.
33872 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
33873             Bruno Haible  <bruno@clisp.org>
33875         poll tests: Make test more robust.
33876         * tests/test-poll.c: Include macros.h.
33877         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
33878         return value of various I/O operations.
33879         * modules/poll-tests (Files): Add tests/macros.h.
33881 2012-01-30  Bruno Haible  <bruno@clisp.org>
33883         sys_stat: Fix support for mingw64 and MSVC.
33884         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
33885         header files already do it.
33886         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
33887         stat itself.
33888         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
33890 2012-01-30  Bruno Haible  <bruno@clisp.org>
33892         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
33893         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
33894         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
33896 2012-01-29  Bruno Haible  <bruno@clisp.org>
33898         quotearg: Fix test failure on MacOS X 10.5.
33899         * tests/test-quotearg-simple.c: Include localcharset.h.
33900         (main): If the locale encoding is not ASCII, bypass the tests of
33901         locale_quoting_style and clocale_quoting_style.
33902         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
33904 2012-01-29  Jim Meyering  <meyering@redhat.com>
33906         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
33907         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
33908         detect uses of canonicalize_file_name.
33910 2012-01-28  Bruno Haible  <bruno@clisp.org>
33912         test-framework-sh: Fix test failure with AIX 7.1 diff.
33913         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
33914         in column 1, like 'diff -c' does.
33915         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
33916         whether 'diff -u' is used. Instead, test whether the output contains
33917         some '@' character.
33919 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
33921         strtoimax: eliminate need for stdint.h, inttypes.h checks
33922         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
33923         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
33924         the prerequisites for a recently-introduced strtoimax test.
33925         I guess this might cause strtoimax to be replaced when not
33926         strictly necessary on older hosts, but this shouldn't introduce
33927         any bugs and it should make Emacs 'configure' faster on typical
33928         modern hosts.  Problem discovered when importing the latest gnulib
33929         to an Emacs test version.
33930         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
33932 2012-01-28  Bruno Haible  <bruno@clisp.org>
33934         sys_time: Override 'struct timeval' on some native Windows platforms.
33935         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
33936         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
33937         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
33938         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
33939         needs to be overridden.
33940         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
33941         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
33942         * tests/test-sys_select.c: Check that the tv_sec member has the same
33943         size as a 'time_t'.
33944         * tests/test-sys_time.c: Likewise.
33945         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
33946         is set, set also REPLACE_GETTIMEOFDAY.
33947         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
33948         convert the resulting 'struct timeval' before returning.
33949         * lib/select.c: Include <sys/time.h>.
33950         (select, timeval): Undefine at the right place.
33951         * modules/select (Depends-on): Add sys_time.
33952         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
33953         some Windows platforms.
33954         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
33956 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
33958         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
33959         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
33960         an integer.
33961         * lib/fcntl.c (dupfd): Likewise.
33962         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
33964 2012-01-28  Bruno Haible  <bruno@clisp.org>
33966         fcntl: Avoid compilation error on native Windows.
33967         * modules/fcntl (Depends-on): Add 'close'.
33969 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
33971         select, poll, isatty: Avoid warnings on x86_64 mingw64.
33972         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
33973         pointer to an integer.
33974         * lib/poll.c (IsConsoleHandle): Likewise.
33975         * lib/isatty.c (IsConsoleHandle): Likewise.
33977 2012-01-28  Jim Meyering  <meyering@redhat.com>
33979         doc: clarify README-release
33980         * top/README-release: Clarify: you should make a point to have
33981         the latest stable versions of build tools in your PATH, and the
33982         reference to buildreq is solely for its list of tool names, not
33983         for its minimal-functional version numbers.
33984         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
33986         maint.mk: use more readable (yet functionally equivalent) quoting
33987         It is common to quote a single quote in a single quoted string like
33988         this:  '...'\''...'.  Unless you know the idiom, that looks like
33989         gibberish, so prefer to double-quote the string when possible.
33990         Then you can use a more readable, lone single quote: "...'..."
33991         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
33992         "don't" is more readable than the equivalent 'don'\''t'.
33993         (sc_cast_of_x_alloc_return_value): Likewise.
33994         (sc_cast_of_alloca_return_value): Likewise.
33995         (sc_makefile_path_separator_check): Similar: use ":" in '...',
33996         rather than '\'':'\''.
33998 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
34000         stdalign: relax _Alignof and tighten _Alignas test
34001         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
34002         as it was too strict: alignof must divide offsetof, but it need
34003         not equal offsetof.  Inspired by Joseph S. Myers's comment
34004         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
34005         Conversely, tighten the _Alignas test a bit, as the resulting
34006         alignment must be exactly 8.
34008 2012-01-27  Bruno Haible  <bruno@clisp.org>
34010         stdalign: Document the last change.
34011         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
34013 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
34015         stdalign: check that alignof and offsetof are consistent
34016         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
34017         Problem reported for gnulib by Richard W.M. Jones in
34018         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
34020 2012-01-27  Jim Meyering  <meyering@redhat.com>
34022         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
34023         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
34024         convert a sequence with gaps to the minimal containing range.
34025         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
34026         * tests/test-update-copyright.sh: Test for this.
34027         The FSF confirmed it is ok to do this, assuming there is at
34028         least one significant change per year in the affected range:
34029         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
34031 2012-01-26  Bruno Haible  <bruno@clisp.org>
34033         pipe2: refine doc about thread-safety
34034         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
34035         multithread-safety problem.
34036         * doc/glibc-functions/accept4.texi: Likewise.
34038 2012-01-26  Bruno Haible  <bruno@clisp.org>
34040         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
34041         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
34042         In the test program, include <fcntl.h>, for O_RDONLY.
34044 2012-01-26  Eric Blake  <eblake@redhat.com>
34046         pipe2: document lack of thread-safety in replacement
34047         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
34048         issue in replacement.
34049         * doc/glibc-functions/accept4.texi (accept4): Likewise.
34050         Based on a report by Eric Wong.
34052 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
34053             Bruno Haible  <bruno@clisp.org>
34055         malloca: Avoid warnings on x86_64 mingw64.
34056         * lib/malloca.c: Include <stdint.h>.
34057         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
34058         * modules/malloca (Depends-on): Add stdint.
34059         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
34061 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
34063         obstack: remove __STDC__ conditionals
34064         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
34065         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
34066         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
34067         m4/include_next.m4 as the only gnulib-maintained places that still
34068         refer to __STDC__.
34070 2012-01-24  Bruno Haible  <bruno@clisp.org>
34072         havelib: Modern quoting.
34073         * build-aux/config.rpath: Quote 'like this', not `like this', as per
34074         the recent change to the GNU coding standards.
34076 2012-01-24  Bruno Haible  <bruno@clisp.org>
34078         stdint: Improve support for Android.
34079         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
34080         Reported by Simon Josefsson <simon@josefsson.org>.
34082 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
34084         doc: omit trailing empty lines from INSTALL etc.
34085         * doc/Makefile (INSTALL): Omit trailing empty lines.
34086         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
34087         omit trailing empty lines.  This simplifies the build procedure.
34089 2012-01-23  Jim Meyering  <meyering@redhat.com>
34091         tests: avoid spurious warnings about gl_sockets_startup
34092         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
34093         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
34094         reporting a "statement with no effect".
34095         * tests/test-accept.c (main): Mark as "(void)".
34096         * tests/test-accept4.c (main): Likewise.
34097         * tests/test-bind.c (main): Likewise.
34098         * tests/test-connect.c (main): Likewise.
34099         * tests/test-getpeername.c (main): Likewise.
34100         * tests/test-getsockname.c (main): Likewise.
34101         * tests/test-getsockopt.c (main): Likewise.
34102         * tests/test-listen.c (main): Likewise.
34103         * tests/test-recv.c (main): Likewise.
34104         * tests/test-recvfrom.c (main): Likewise.
34105         * tests/test-send.c (main): Likewise.
34106         * tests/test-sendto.c (main): Likewise.
34107         * tests/test-setsockopt.c (main): Likewise.
34108         * tests/test-shutdown.c (main): Likewise.
34110 2012-01-21  Bruno Haible  <bruno@clisp.org>
34112         locale-fr.m4: Fix for Android.
34113         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
34114         failure of the test program on Bionic libc.
34116 2012-01-21  Jim Meyering  <meyering@redhat.com>
34118         bootstrap: fail when bootstrap_post_import_hook fails
34119         Otherwise, it's far too easy to miss diagnostics emitted
34120         between gnulib-tool's output and that of running configure.
34121         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
34123 2012-01-17  Jim Meyering  <meyering@redhat.com>
34125         maint: enable sc_trailing_blank
34126         * build-aux/pmccabe.css: Remove trailing blanks.
34127         * doc/acl-cygwin.txt: Likewise.
34128         * doc/gnu-oids.texi: Likewise
34129         * cfg.mk: Enable sc_trailing_blank.
34130         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
34132 2012-01-17  Jim Meyering  <meyering@redhat.com>
34134         maint: enable sc_prohibit_openat_without_use
34135         * cfg.mk: Enable sc_prohibit_openat_without_use.
34136         Exempt lib/selinux-at.c.
34138 2012-01-17  Jim Meyering  <meyering@redhat.com>
34140         maint: enable sc_prohibit_cloexec_without_use
34141         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
34142         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
34144 2012-01-17  Jim Meyering  <meyering@redhat.com>
34146         maint: enable sc_prohibit_intprops_without_use
34147         * cfg.mk: Enable sc_prohibit_intprops_without_use
34148         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
34150 2012-01-17  Jim Meyering  <meyering@redhat.com>
34152         maint: enable sc_prohibit_hash_pjw_without_use
34153         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
34154         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
34155         to match any use of \<hash_pjw\>, i.e., not necessarily with a
34156         following " (".
34158 2012-01-17  Jim Meyering  <meyering@redhat.com>
34160         maint: enable double-word-prohibiting rule
34161         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
34162         Exempt three files.
34164 2012-01-17  Jim Meyering  <meyering@redhat.com>
34166         maint: remove empty lines at EOF, but excluding modules/*
34167         Apply syntax rules at home as well as abroad.  Most changes
34168         were induced by running this:
34169           make srcdir=. _build-aux=build-aux -f top/maint.mk \
34170             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
34171             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
34172         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
34173         Exempt modules/* and two binary files.
34174         Also exempt doc/INSTALL*, per request from Bruno Haible.
34175         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
34176         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
34177         * doc/Copyright/request-assign.future: Likewise.
34178         * doc/Copyright/request-disclaim.changes: Likewise.
34179         * doc/INSTALL: Likewise.
34180         * doc/INSTALL.ISO: Likewise.
34181         * doc/INSTALL.UTF-8: Likewise.
34182         * doc/acl-cygwin.txt: Likewise.
34183         * doc/acl-resources.txt: Likewise.
34184         * doc/fdl-1.2.texi: Likewise.
34185         * doc/fdl-1.3.texi: Likewise.
34186         * doc/fdl.texi: Likewise.
34187         * lib/argp-pin.c: Likewise.
34188         * lib/round.c: Likewise.
34189         * lib/unicase/u16-totitle.c: Likewise.
34190         * lib/unictype/block_test.c: Likewise.
34191         * lib/uninorm/canonical-decomposition.c: Likewise.
34192         * m4/README: Likewise.
34193         * m4/relocatable-lib.m4: Likewise.
34194         * tests/test-isnand-nolibm.c: Likewise.
34195         * tests/test-isnand.c: Likewise.
34196         * tests/uninorm/NormalizationTest.txt: Likewise.
34198 2012-01-17  Jim Meyering  <meyering@redhat.com>
34200         maint: add framework to run syntax-check rules against gnulib sources
34201         * cfg.mk: New file, to disable all currently-failing tests.
34202         We'll enable them one by one, as they are made to pass.
34203         * Makefile (sc_maint): New rule.
34205 2012-01-21  Bruno Haible  <bruno@clisp.org>
34207         stdint: Add support for Android.
34208         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
34209         include the system's <stdint.h>.
34210         Reported by Simon Josefsson <simon@josefsson.org>.
34212 2012-01-19  Jim Meyering  <meyering@redhat.com>
34214         bootstrap: add bootstrap_post_import_hook
34215         Bison does still need something like the gnulib_mk_hook whose
34216         invocation I had to remove along with slurp in commit 767ccd40.
34217         Technically, we could get along without it, but doing so would
34218         have required living with a warning and a mandatory post-bootstrap
34219         automake rerun.
34220         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
34221         (bootstrap_post_import_hook): New function.
34222         Invoke it after gnulib-tool --import and before autoreconf.
34224 2012-01-18  Jim Meyering  <meyering@redhat.com>
34226         gitlog-to-changelog: don't use "no_"-prefixed variable name
34227         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
34228         to enable both --cluster and --no-cluster.  Change variable name,
34229         s/\$no_cluster/$cluster/, and reverse usage to match.
34231         gitlog-to-changelog: use "||", not "or" in expressions
34232         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
34233         expressions.
34235 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
34237         gitlog-to-changelog: new option --no-cluster
34238         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
34239         clustering of adjacent commit messages.
34241 2012-01-17  Jim Meyering  <meyering@redhat.com>
34243         maint: spell file systems with two words, not one
34244         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
34245         two words, not one.
34247 2012-01-16  Jim Meyering  <meyering@redhat.com>
34249         bootstrap: add a FIXME comment to ensure we eventually remove the hack
34250         * build-aux/bootstrap (gnulib_tool_options): Add comment.
34252 2012-01-16  Eric Blake  <eblake@redhat.com>
34254         bootstrap: cater to autoconf 2.59
34255         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
34256         is not available.
34258         bootstrap: properly check for libtool
34259         * build-aux/bootstrap (libtoolize): Also run libtool when older
34260         usage is detected.
34262 2012-01-15  Bruno Haible  <bruno@clisp.org>
34264         Improve support for MSVC 9.
34265         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
34266         clashes on MSVC.
34267         * lib/fcntl.in.h: Likewise.
34268         * lib/stdlib.in.h: Likewise.
34269         * lib/sys_stat.in.h: Likewise.
34271 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
34273         gnupload: we hold the master copy of this script now
34274         For motivation and more information, see:
34275         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
34276         * build-aux/gnupload: Make it clear in the heading comments that the
34277         master copy of this file is maintained by gnulib.  Since we are at
34278         it, bump its copyright year and ...
34279         ($scriptversion): ... the date in its version.
34280         ($usage): Patches and bug reports should be sent to the gnulib list,
34281         not the automake one.
34282         * config/srclist.txt: Don't try to sync 'gnupload' from automake
34283         anymore.
34285 2012-01-15  Bruno Haible  <bruno@clisp.org>
34287         Fix module 'random'.
34288         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
34289         initstate, setstate are declared.
34291 2012-01-14  Bruno Haible  <bruno@clisp.org>
34293         Tests for module 'random'.
34294         * modules/random-tests: New file.
34295         * tests/test-random.c: New file, based on tests/test-random_r.c.
34297         New module 'random'.
34298         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
34299         declarations.
34300         * lib/random.c: New file, based on glibc/stdlib/random.c.
34301         * m4/random.m4: New file.
34302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
34303         HAVE_RANDOM.
34304         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
34305         * modules/random: New file.
34306         * config/srclist.txt: Add an entry for random.c.
34307         * doc/posix-functions/random.texi: Mention the 'random' module.
34308         * doc/posix-functions/initstate.texi: Likewise.
34309         * doc/posix-functions/setstate.texi: Likewise.
34310         * doc/posix-functions/srandom.texi: Likewise.
34312 2012-01-12  Bruno Haible  <bruno@clisp.org>
34314         random_r: Use common idioms.
34315         * lib/random_r.c: Include <stdlib.h> first.
34317         random_r: Override incompatible API on AIX, OSF/1.
34318         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
34319         Override the system function if REPLACE_RANDOM_R is 1.
34320         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
34321         and OSF/1, set REPLACE_RANDOM_R.
34322         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
34323         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
34324         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
34325         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
34326         * doc/glibc-functions/random_r.texi: Likewise.
34327         * doc/glibc-functions/setstate_r.texi: Likewise.
34329         random_r: Support for MSVC 9.
34330         * lib/random_r.c: Include stdint.h, not inttypes.h.
34332 2012-01-12  Eric Blake  <eblake@redhat.com>
34334         inet_ntop: guard extra work by IF_LINT
34335         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
34336         better code generation when not checking for warnings.
34337         Suggested by Paul Eggert and Jim Meyering.
34339         strptime: fix regression on mingw
34340         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
34341         Fix regression.  Reported by Bruno Haible.
34343 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
34344             Bruno Haible  <bruno@clisp.org>
34346         copy-file: add error-code-returning variant.
34347         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
34348         (qcopy_file_preserving): New declaration.
34349         * lib/copy-file.c (qcopy_file_preserving): Renamed from
34350         copy_file_preserving. Change return type to 'int'. Don't emit an error
34351         message here.
34352         (copy_file_preserving): New function.
34353         * tests/test-copy-file.c: Include <stdlib.h>.
34354         (main): Test qcopy_file_preserving if the environment variable
34355         NO_STDERR_OUTPUT is set.
34356         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
34357         with NO_STDERR_OUTPUT
34358         * tests/test-copy-file-2.sh: Likewise.
34360 2012-01-10  Bruno Haible  <bruno@clisp.org>
34362         copy-file: Use 'quote' module consistently.
34363         * lib/copy-file.c (copy_file_preserving): Use quote().
34365         copy-file: Refactor.
34366         * lib/copy-file.c: Include quote.h.
34367         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
34368         message here.
34369         * modules/copy-file (Depends-on): Add quote.
34371         acl: Export qcopy_acl.
34372         * lib/acl.h (qcopy_acl): New declaration.
34373         * lib/copy-acl.c (qcopy_acl): Make non-static.
34375         acl: Rename a local variable.
34376         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
34378         acl: Align return values of copy_acl and qcopy_acl.
34379         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
34380         maybe < -1.
34382 2012-01-11  Eric Blake  <eblake@redhat.com>
34384         strptime: silence gcc warnings
34385         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
34386         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
34387         Reported by Daniel P. Berrange.
34389         inet_ntop: silence gcc warning
34390         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
34391         Reported by Daniel P. Berrange.
34393 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
34395         getloadavg test: skip the test on GNU/Linux without /proc mounted
34396         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
34397         file.  When /proc is not mounted, it always fails with ENOENT.
34398         * tests/test-getloadavg.c (main): Treat ENOENT return code from
34399         getloadavg(3) the same way as ENOSYS and ENOTSUP.
34401 2012-01-10  Bruno Haible  <bruno@clisp.org>
34403         regex: Avoid link error on MSVC 9.
34404         * modules/regex (Depends-on): Add wctype.
34406 2012-01-10  Bruno Haible  <bruno@clisp.org>
34408         doc: Mention --with-tests option.
34409         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
34410         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
34411         --with-tests.
34412         Reported by Reuben Thomas.
34414 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
34416         users.txt: order package names lexicographically.
34417         * users.txt: Order package names lexicographically.
34419 2012-01-10  Jim Meyering  <meyering@redhat.com>
34421         maint.mk: fix description in comment
34422         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
34424         ignore-value: remove deprecated ignore_ptr function
34425         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
34426         * NEWS: Note this.
34428 2012-01-09  Jim Meyering  <meyering@redhat.com>
34430         test-init.sh: avoid a subshell
34431         * tests/test-init.sh: Remove protective subshell.
34432         Suggested by Bernhard Voelker.  While a subshell is normally
34433         required to protect against older shells (Solaris, FreeBSD) that
34434         warn about a missing program before performing redirection, the
34435         shell-selection tests performed by init.sh probably exclude any
34436         offending shell.
34438 2012-01-08  Bruno Haible  <bruno@clisp.org>
34440         setlocale tests: Avoid test failure on Solaris 11.0.
34441         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
34442         variable.
34444 2012-01-08  Bruno Haible  <bruno@clisp.org>
34446         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
34447         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
34448         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
34449         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
34450         macro.
34451         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
34452         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
34453         * lib/spawn_faction_addopen.c: Add workaround implementation if
34454         HAVE_WORKING_POSIX_SPAWN.
34455         * modules/spawn (Makefile): Substitute
34456         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
34457         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
34458         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
34459         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
34460         (Depends-on): Update conditions.
34461         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
34462         the Solaris 11 bug.
34464 2012-01-08  Bruno Haible  <bruno@clisp.org>
34466         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
34467         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
34468         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
34469         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
34470         macro.
34471         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
34472         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
34473         * lib/spawn_faction_adddup2.c: Add workaround implementation if
34474         HAVE_WORKING_POSIX_SPAWN.
34475         * modules/spawn (Makefile): Substitute
34476         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
34477         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
34478         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
34479         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
34480         (Depends-on): Update conditions.
34481         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
34482         the Solaris 11 bug.
34484 2012-01-08  Bruno Haible  <bruno@clisp.org>
34486         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
34487         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
34488         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
34489         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
34490         HAVE_WORKING_POSIX_SPAWN.
34491         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
34492         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
34493         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
34494         * lib/spawn_faction_addclose.c: Add workaround implementation if
34495         HAVE_WORKING_POSIX_SPAWN.
34496         * modules/spawn (Makefile): Substitute
34497         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
34498         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
34499         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
34500         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
34501         (Depends-on): Update conditions.
34502         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
34503         the Solaris 11 bug.
34505 2012-01-08  Bruno Haible  <bruno@clisp.org>
34507         doc: Update for Solaris 11.0.
34508         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
34509         * m4/printf.m4: Update comments.
34511 2012-01-08  Bruno Haible  <bruno@clisp.org>
34513         mktime: Avoid compilation error on Solaris 11.
34514         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
34516 2012-01-08  Bruno Haible  <bruno@clisp.org>
34518         doc: Small fix.
34519         * doc/posix-headers/nl_types.texi: Correct platforms list.
34521 2012-01-08  Simon Josefsson  <simon@josefsson.org>
34523         Add lgpl-3.0 module.
34524         * MODULES.html.sh (Support for building documentation): Add
34525         lgpl-3.0.
34526         * modules/lgpl-3.0: New file.
34528 2012-01-08  Jim Meyering  <meyering@redhat.com>
34530         select.c: indent with spaces, not TABs
34531         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
34533 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
34535         quotearg: do not use grave accent for left quote
34536         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
34537         locale_quoting_style.
34538         (quotearg_buffer_restyled): Fix example.
34539         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
34541 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
34543         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
34544         Most programs do not have translation catalogs for English and much
34545         less separate catalogs for British and American English.  Drop the
34546         suggestion to translators about these two, and provide it
34547         automatically for Unicode locales.  Like most programs, even those
34548         using American English, we use single quotation marks.  This conflicts
34549         with the American typographic convention, but works better when you
34550         cite the entire error message within double quotes.  It also tries not
34551         to clash with established practice and with what non-gnulib programs
34552         will usually do.
34553         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
34554         using an UTF-8 or GB-18030 locale.  The list of other locales with
34555         quotes was provided by Bruno Haible.
34556         (quotearg_buffer_restyled): Adjust instructions to translators.
34557         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
34558         text, since this would be wrong when using Unicode.
34559         * modules/quotearg: Depend on c-strcaseeq.
34561 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
34563         quotearg: fix Wikipedia link
34564         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
34566 2012-01-07  Simon Josefsson  <simon@josefsson.org>
34568         Fix for mingw with MSVC9.
34569         * m4/ld-version-script.m4: Check that compiler rejects version
34570         scripts with syntax errors.  Reported by Bruno Haible
34571         <bruno@clisp.org>.
34573 2012-01-06  Bruno Haible  <bruno@clisp.org>
34575         Talk about "native Windows API", not "Woe32".
34576         * lib/accept4.c: Update comments to mention native Windows.
34577         * lib/execute.c: Likewise.
34578         * lib/fatal-signal.c: Likewise.
34579         * lib/localcharset.c: Likewise.
34580         * lib/nanosleep.c: Likewise.
34581         * lib/nl_langinfo.c: Likewise.
34582         * lib/pclose.c: Likewise.
34583         * lib/pipe-filter-gi.c: Likewise.
34584         * lib/pipe-filter-ii.c: Likewise.
34585         * lib/pipe.c: Likewise.
34586         * lib/pipe2.c: Likewise.
34587         * lib/popen.c: Likewise.
34588         * lib/progreloc.c: Likewise.
34589         * lib/relocatable.c: Likewise.
34590         * lib/sigaction.c: Likewise.
34591         * lib/sigprocmask.c: Likewise.
34592         * lib/spawn-pipe.h: Likewise.
34593         * lib/spawn-pipe.c: Likewise.
34594         * lib/spawni.c: Likewise.
34595         * lib/stat-time.h: Likewise.
34596         * lib/w32spawn.h: Likewise.
34597         * tests/test-isatty.c: Likewise.
34598         * lib/config.charset: More comments.
34599         * doc/gnulib-intro.texi: Mention native Windows.
34600         * doc/posix-functions/_Exit_C99.texi: Likewise.
34601         * doc/posix-headers/fcntl.texi: Likewise.
34603 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
34605         argp: Avoid crash if translator uses % characters in a translation.
34606         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
34607         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
34609 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
34611         doc: C11 and C++11 are now official
34612         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
34613         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
34614         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
34615         * modules/stdalign:
34616         Replace references to draft C1X to C11, and to draft C++0X to C++11.
34618 2012-01-06  Bruno Haible  <bruno@clisp.org>
34620         uc-is-grapheme-break tests: Tweak.
34621         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
34622         message.
34624 2012-01-06  Bruno Haible  <bruno@clisp.org>
34626         test-init.sh: correct the test for diff -u
34627         * tests/test-init.sh: Also redirect stdout to /dev/null.
34629 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
34631         Use ', not `, for quoting output.
34632         * build-aux/announce-gen (usage, sizes, print_news_deltas)
34633         (print_changelog_deltas, get_tool_versions, main program):
34634         * build-aux/git-version-gen:
34635         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
34636         * build-aux/move-if-change (help):
34637         * build-aux/useless-if-before-free (usage, main program):
34638         * check-module (parse_module_file, usage)
34639         (find_included_lib_files, check_module):
34640         * lib/argmatch.c (main) [TEST]:
34641         * lib/argp-help.c (_help):
34642         * lib/getopt1.c (main) [TEST]:
34643         * lib/git-merge-changelog.c (usage):
34644         * lib/xstrtol-error.c (xstrtol_error):
34645         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
34646         * m4/argz.m4 (gl_FUNC_ARGZ):
34647         * m4/bison.m4 (gl_BISON):
34648         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
34649         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
34650         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
34651         * m4/fpending.m4 (gl_PREREQ_FPENDING):
34652         * m4/gc-random.m4 (gl_GC_RANDOM):
34653         * m4/intl.m4 (gt_CHECK_DECL):
34654         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
34655         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
34656         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
34657         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
34658         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
34659         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
34660         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
34661         * tests/test-dirname.c (main):
34662         * tests/test-getpass.c (main):
34663         * tests/test-iconvme.c (main):
34664         * tests/test-parse-datetime.c (LOG):
34665         * tests/test-xstrtoimax.sh:
34666         * tests/test-xstrtol.sh:
34667         * tests/test-xstrtoll.sh:
34668         * tests/test-xstrtoumax.sh:
34669         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
34670         * top/GNUmakefile (abort-due-to-no-makefile):
34671         Quote 'like this', not `like this', as per the recent change to
34672         the GNU coding standards.
34674 2012-01-05  Bruno Haible  <bruno@clisp.org>
34676         strtoimax: Don't force a replacement on systems where intmax_t is int.
34677         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
34678         'intmax_t' is not larger than 'int'.
34679         Reported by Pádraig Brady <P@draigBrady.com>.
34681 2012-01-05  Bruno Haible  <bruno@clisp.org>
34683         doc: Mention NetBSD bugs.
34684         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
34685         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
34687 2012-01-05  Bruno Haible  <bruno@clisp.org>
34689         strtoumax tests: Enhance tests.
34690         * tests/test-strtoumax.c (main): Add tests for large values.
34692 2012-01-05  Bruno Haible  <bruno@clisp.org>
34694         strtoimax: Work around AIX 5.1 bug.
34695         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
34696         definition.
34697         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
34698         Set HAVE_STRTOIMAX.
34699         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
34700         REPLACE_STRTOIMAX.
34701         * modules/inttypes-incomplete (Makefile.am): Substitute
34702         REPLACE_STRTOIMAX.
34703         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
34704         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
34705         (Depends-on): Update conditions.
34706         * tests/test-strtoimax.c (main): Add tests for large values.
34707         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
34709 2012-01-05  Bruno Haible  <bruno@clisp.org>
34711         inttypes: Modernize.
34712         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
34713         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
34714         (Makefile.am): Update inttypes.h rule.
34716 2012-01-05  Jim Meyering  <meyering@redhat.com>
34718         init.sh: don't waste a subshell just to redirect stderr
34719         * tests/init.sh: In testing for diff -u and diff -c, use a
34720         stderr-redirecting exec inside `...` rather than a subshell.
34722         test-init.sh: avoid failure on HP-UX 11.00
34723         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
34724         resolves to diff -c or cmp.  Reported by Bruno Haible.
34726 2012-01-05  Bruno Haible  <bruno@clisp.org>
34728         Tests for module 'strtoull'.
34729         * modules/strtoull-tests: New file.
34730         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
34732 2012-01-05  Bruno Haible  <bruno@clisp.org>
34734         Tests for module 'strtoll'.
34735         * modules/strtoll-tests: New file.
34736         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
34738 2012-01-05  Bruno Haible  <bruno@clisp.org>
34740         Tests for module 'strtoul'.
34741         * modules/strtoul-tests: New file.
34742         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
34744 2012-01-05  Bruno Haible  <bruno@clisp.org>
34746         Tests for module 'strtol'.
34747         * modules/strtol-tests: New file.
34748         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
34750 2012-01-04  Jim Meyering  <meyering@redhat.com>
34752         test-init.sh: accommodate Solaris 5.10's different diff -u output
34753         * tests/test-init.sh: Also exempt @@ lines from the comparison
34754         of diff output, since Solaris 5.10 and GNU diff formats differ.
34755         Reported by Stefano Lattarini.
34757 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
34759         test-posixtm: don't assume signed integer wraparound
34760         * tests/test-posixtm.c (main): Don't assume wraparound semantics
34761         after signed integer overflow.  Inspired by (though it may not
34762         fix) Bruno Haible's bug report in
34763         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
34765         Spell out "Windows 9x" and "Windows XP".
34766         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
34767         "Windows 9x" and "WinXP" with "Windows XP".
34769 2012-01-04  Jim Meyering  <meyering@redhat.com>
34771         test-vc-list-files-cvs.sh: remove obsolete comment
34772         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
34773         double exit.  Now that's all encapsulated via skip_ and Exit.
34775 2012-01-04  Bruno Haible  <bruno@clisp.org>
34777         Talk about "native Windows API", not "Win32".
34778         * lib/classpath.c: Update comments to mention native Windows.
34779         * lib/csharpexec.c: Likewise.
34780         * lib/dup2.c: Likewise.
34781         * lib/error.c: Likewise.
34782         * lib/fcntl.c: Likewise.
34783         * lib/filename.h: Likewise.
34784         * lib/findprog.c: Likewise.
34785         * lib/get-rusage-as.c: Likewise.
34786         * lib/get-rusage-data.c: Likewise.
34787         * lib/getpagesize.c: Likewise.
34788         * lib/javaexec.c: Likewise.
34789         * lib/msvc-inval.c: Likewise.
34790         * lib/msvc-nothrow.c: Likewise.
34791         * lib/nanosleep.c: Likewise.
34792         * lib/nonblocking.c: Likewise.
34793         * lib/printf-parse.c: Likewise.
34794         * lib/setlocale.c: Likewise.
34795         * lib/sigaction.c: Likewise.
34796         * lib/strerror_r.c: Likewise.
34797         * lib/tmpdir.c: Likewise.
34798         * lib/vasnprintf.c: Likewise.
34799         * lib/w32spawn.h: Likewise.
34800         * lib/waitpid.c: Likewise.
34801         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
34802         * m4/locale-ar.m4: Likewise.
34803         * m4/locale-fr.m4: Likewise.
34804         * m4/locale-ja.m4: Likewise.
34805         * m4/locale-tr.m4: Likewise.
34806         * m4/locale-zh.m4: Likewise.
34807         * m4/printf.m4: Likewise.
34808         * tests/test-cloexec.c: Likewise.
34809         * tests/test-copy-acl.sh: Likewise.
34810         * tests/test-copy-file.sh: Likewise.
34811         * tests/test-file-has-acl.sh: Likewise.
34812         * tests/test-set-mode-acl.sh: Likewise.
34813         * tests/test-dup-safer.c: Likewise.
34814         * tests/test-dup2.c: Likewise.
34815         * tests/test-dup3.c: Likewise.
34816         * tests/test-fcntl.c: Likewise.
34817         * tests/test-nonblocking-pipe.h: Likewise.
34818         * tests/test-nonblocking-socket.h: Likewise.
34819         * tests/test-pipe.c: Likewise.
34820         * tests/test-pipe2.c: Likewise.
34821         * tests/test-spawn-pipe-child.c: Likewise.
34822         * doc/acl-resources.txt: Likewise.
34823         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
34824         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
34825         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
34826         * lib/localcharset.c: Update comments to mention native Windows.
34827         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
34828         * lib/localename.c: Likewise.
34829         * lib/progreloc.c: Likewise.
34830         * lib/relocatable.c: Likewise.
34831         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
34832         (windows_compute_revents): Renamed from win32_compute_revents.
34833         (windows_compute_revents_socket): Renamed from
34834         win32_compute_revents_socket.
34835         * lib/select.c: Update comments to mention native Windows.
34836         (windows_poll_handle): Renamed from win32_poll_handle.
34837         * m4/threadlib.m4: Update comments to mention native Windows.
34838         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
34839         --enable-threads=windows instead of --enable-threads=win32. Set
34840         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
34841         * lib/glthread/lock.h: Update comments to mention native Windows.
34842         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
34843         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
34844         USE_WIN32_THREADS.
34845         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
34846         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
34847         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
34848         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
34849         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
34850         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
34851         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
34852         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
34853         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
34854         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
34855         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
34856         * tests/test-tls.c: Likewise.
34857         Rationale:
34858         Microsoft renamed the "Win32 API" to "Windows API", as it is available
34859         on both 32-bit and 64-bit Windows systems.
34860         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
34861         line of distinction is between "native Windows" on one side and Unix/
34862         POSIX systems on the other side. More details in
34863         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
34864         Suggested by Paul Eggert.
34866 2012-01-03  Bruno Haible  <bruno@clisp.org>
34868         isatty: Support for MSVC 9.
34869         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
34870         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
34871         (_isatty_nothrow): New function.
34872         (isatty): Use it instead of _isatty.
34873         (IsConsoleHandle): Add comment, from Paolo Bonzini.
34874         * lib/poll.c (IsConsoleHandle): Likewise.
34875         * lib/select.c (IsConsoleHandle): Likewise.
34876         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
34877         (gl_PREREQ_ISATTY): New macro.
34878         * modules/isatty (Depends-on): Add msvc-inval.
34879         (configure.ac): Invoke gl_PREREQ_ISATTY.
34881 2012-01-03  Jim Meyering  <meyering@redhat.com>
34883         maint.mk: remove temporary transition aid from over 1.5 years ago
34884         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
34885         purpose was to aid in the transition (avoiding silent malfunction)
34886         from that old name to the new _sc_search_regexp.  This shim was
34887         added by commit 219c504b.
34889         init.sh: do not try to accommodate compare arguments starting with "-"
34890         * tests/init.sh (compare_dev_null_): Do not try to accommodate
34891         compare arguments that start with "-".  Besides, we do not worry
34892         about this when invoking diff or cmp; why start now with sed?
34893         Using "--" to separate options from argument would trigger sed
34894         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
34895         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
34897 2012-01-02  Bruno Haible  <bruno@clisp.org>
34899         Enhance tests for module 'isatty'.
34900         * modules/isatty-tests (Depends-on): Add pipe-posix.
34901         * tests/test-isatty.c: Include <fcntl.h>.
34902         (DEV_NULL): New macro.
34903         (main): Test the resut of isatty() also on regular files, pipes, and
34904         /dev/null.
34906         New module 'isatty'.
34907         * lib/unistd.in.h (isatty): New declaration.
34908         * lib/isatty.c: New file, based on an idea of
34909         Bastien Roucariès <roucaries.bastien@gmail.com>.
34910         * m4/isatty.m4: New file.
34911         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
34912         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
34913         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
34914         REPLACE_ISATTY.
34915         * modules/isatty: New file.
34916         * doc/posix-functions/isatty.texi: Mention the new module.
34917         Suggested by Paolo Bonzini.
34919 2012-01-02  Bruno Haible  <bruno@clisp.org>
34921         canonicalize: Tweak 2011-12-29 commit.
34922         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
34923         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
34925 2012-01-02  Jim Meyering  <meyering@redhat.com>
34927         gitlog-to-changelog: describe input syntax in --help output
34928         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
34930         gitlog-to-changelog: fix typo in --help: show backslash before email @
34931         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
34932         in sources, but not in actual output.
34934 2011-12-30  Jim Meyering  <meyering@redhat.com>
34936         gitlog-to-changelog: don't malfunction when name contains %-directive
34937         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
34938         in a name string cause trouble.  E.g., with a user name of "%s",
34939         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
34941 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
34943         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
34944         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
34945         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
34946         the "  (tiny change)" notation that is appended to the standard
34947         ChangeLog "date  name  email" header line.
34949 2012-01-01  Jim Meyering  <meyering@redhat.com>
34951         test-framework-sh: init.sh: fix "make dist" failure
34952         When using gnulib-tool's --with-tests option and any module that
34953         depends on test-framework-sh, "make dist" would fail due to the
34954         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
34955         in the gltests directory, and not in the gllib/ directory.
34956         One way to work around that is to move the EXTRA_DIST += init.sh
34957         from the primary module to the -tests one:
34958         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
34959         * modules/test-framework-sh (Makefile.am): ...not here.
34960         Reported by Tom G. Christensen in
34961         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
34963         version-etc: update copyright year reported by --version
34964         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
34966 2011-12-31  Pádraig Brady  <P@draigBrady.com>
34968         canonicalize: only stat() if required
34969         * lib/canonicalize.c (canonicalize_filename_mode):
34970         Avoid calling l?stat() when both CAN_MISSING,
34971         and CAN_NOLINKS are set, as we neither need
34972         to resolve symlinks or test component existence.
34974 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
34976         doc: cover st_ino issues once; add OpenVMS etc.
34977         * doc/posix-functions/stat.texi (stat):
34978         * doc/posix-functions/lstat.texi (lstat):
34979         * doc/posix-functions/fstatat.texi (fstatat):
34980         * doc/posix-functions/fstat.texi (fstat):
34981         Move general 'struct stat' stuff to sys_stat.texi,
34982         leaving behind a pointer.
34983         * doc/posix-headers/sys_stat.texi (sys/stat.h):
34984         Merge duplicate info about 'struct stat' problems into here.
34985         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
34986         and suggest partial workarounds.
34988         same-inode: port to OpenVMS
34989         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
34990         three st_ino values.
34992 2011-12-30  Pádraig Brady  <P@draigBrady.com>
34994         canonicalize: fix references to stat() and lstat()
34995         * lib/canonicalize.c (canonicalize_filename_mode):
34996         Ensure references always resolve to a replacement
34997         function if required (even via a macro).
34999 2011-12-30  Jim Meyering  <meyering@redhat.com>
35001         gitlog-to-changelog: remove a little duplication
35002         * build-aux/gitlog-to-changelog (main): Grep @lines once,
35003         rather than twice.
35005 2011-12-29  Pádraig Brady  <P@draigBrady.com>
35007         canonicalize: add support for not resolving symlinks
35008         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
35009         indicate we don't want to follow symlinks.  Also
35010         provide CAN_MODE_MASK to aid setting these existing
35011         mutually exclusive values.
35012         * lib/canonicalize.c (canonicalize_filename_mode):
35013         Extract the flags from can_mode parameter, which
35014         are currently just used to select between stat()
35015         and lstat().  Also ensure that mutually exclusive
35016         values are flagged immediately as invalid.
35017         * tests/test-canonicalize.c: Verify symlinks are
35018         not followed, and that invalid flag combinations
35019         are diagnosed.
35021 2011-12-25  Jim Meyering  <meyering@redhat.com>
35023         gitlog-to-changelog: do not clump multi-paragraph entries
35024         Identical header lines (date,name,email+coauthors) are suppressed,
35025         thus putting all entries with those same characteristics under
35026         a single header.  However, when a log entry consists of two or
35027         more paragraphs, it may not be clear where it starts and ends.
35028         This change makes it so that such an entry is always separated
35029         from others by a header line, even when that header would
35030         otherwise be suppressed.
35031         * build-aux/gitlog-to-changelog: Implement the above.
35032         Inspired by a related request from Stefano Lattarini in
35033         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
35035 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
35037         announce-gen: fix `cmd' typo in diagnostic
35038         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
35039         diagnostic: a missing '$' meant that the command was not output.
35041 2011-12-23  Jim Meyering  <meyering@redhat.com>
35043         test-framework-sh: distribute init.sh
35044         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
35045         Otherwise, "make -C gnulib-tests check" (at least in grep) would
35046         fail due to the lack of init.sh.
35048         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
35049         * modules/atexit-tests: Rather than listing tests/init.sh,
35050         now that there's a module for it, simply depend on that new module.
35051         * modules/closein-tests: Likewise.
35052         * modules/exclude-tests: Likewise.
35053         * modules/getcwd-tests: Likewise.
35054         * modules/perror-tests: Likewise.
35055         * modules/pread-tests: Likewise.
35056         * modules/pwrite-tests: Likewise.
35057         * modules/vc-list-files-tests: Likewise.
35058         * modules/verify-tests: Likewise.
35059         * modules/xalloc-die-tests: Likewise.
35060         * modules/xstrtoimax-tests: Likewise.
35061         * modules/xstrtol-tests: Likewise.
35062         * modules/xstrtoll-tests: Likewise.
35063         * modules/xstrtoumax-tests: Likewise.
35064         * modules/yesno-tests: Likewise.
35066 2011-12-22  Jim Meyering  <meyering@redhat.com>
35068         test-framework-sh: add minimal tests of init.sh's compare function
35069         * modules/test-framework-sh-tests: New file.
35070         * tests/test-init.sh: New file.
35072         test-framework-sh: new module
35073         * modules/test-framework-sh: New file.
35074         * MODULES.html.sh (Support for maintaining and releasing projects):
35075         List it.
35077         init.sh: do not emit simulated diff output to stderr
35078         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
35080 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
35082         .gitignore: ignore gnulib.dvi and regex.info
35083         * doc/.gitignore:add gnulib.dvi and regex.info
35085 2011-12-22  Jim Meyering  <meyering@redhat.com>
35087         init.sh: correct previous change
35088         * tests/init.sh (compare): My previous change was wrong.
35089         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
35091         init.sh: avoid unwarranted test failure when using "set -e"
35092         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
35093         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
35094         a use like "compare exp out" would get evoke an unconditional failure.
35096 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
35098         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
35099         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
35100         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
35101         autoreconf that did not.
35102         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
35103         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
35105 2011-12-17  Jim Meyering  <meyering@redhat.com>
35107         bootstrap: remove some now-unneeded code
35108         This script arose back when gnulib-tool was young.
35109         Since then, it has seen improvements that render much of this
35110         script unnecessary.  In particular, it can now make symlinks
35111         to the files it uses.  Also, I no longer see as much value in
35112         marking files as read-only via comments.
35113         If you relied on the symlink-creation feature of the preceding
35114         version of this script, you can get most of that functionality
35115         by adding the --symlink option to the definition of
35116         gnulib_tool_option_extras in your bootstrap.conf file.
35117         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
35118         Run autopoint and libtoolize *before* gnulib-tool.
35119         After it, run an abbreviated autoreconf, rather than a loop around
35120         all tools.
35121         (slirp, bt_mark_as_generated): Remove functions.
35123 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
35125         ftoastr: fix typo
35126         * lib/ftoastr.h: Fix misspelling in comment.
35128 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
35130         * top/README-release: fix punctuation.
35132 2011-12-17  Jim Meyering  <meyering@redhat.com>
35134         bootstrap: correct the recent buildreq change
35135         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
35136         had no effect.
35137         * build-aux/bootstrap (buildreq): Bracket each search term with
35138         "*...*", so that the shell "case" statement works as intended.
35139         Add comments.
35141 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
35143         build: let bootstrap resort to wget when downloading .po files
35144         * build-aux/bootstrap (download_po_files): Fallback to wget when
35145         downloading the .po files via rsync fails.  This is necessary to
35146         bootstrap from behind a strict firewall.
35148 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
35150         stdint: don't assume C++11 when compiling with g++
35151         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
35152         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
35153         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
35154         work also in C++ before C++11, as that improperly inhibits
35155         generating a substitute stdint.h for that case.
35157 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
35159         alloca: protect comment from gnulib-tool
35160         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
35161         that gnulib-tool doesn't think it's a license, and munge it to
35162         say "GCC version 3".
35164 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
35166         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
35167         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
35168         $(abs_top_builddir) instead of $(top_builddir).
35170 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
35172         strftime-tests: also test nanoseconds
35173         * tests/test-strftime.c (T): Add a test of %N.
35175 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
35177         inttypes, stdint: add C++11 support
35178         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
35179         when including inttypes.h and stdint.h.  Support this change to
35180         the standard.
35181         * doc/posix-headers/inttypes.texi (inttypes.h):
35182         * doc/posix-headers/stdint.texi (stdint.h): Document this.
35183         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
35184         Define if not defined already, for the benefit of pre-C++11 hosts.
35185         Define the standard format macros (e.g., PRId8) always.
35186         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
35187         Likewise, if __cpluspus.  Define the standard constant and limit
35188         macros (e.g., INT8_C, INT8_MAX) always.
35189         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
35190         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
35191         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
35192         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
35193         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
35194         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
35195         Likewise.
35197 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
35199         nonblocking tests: Fix test failure on Linux/PPC.
35200         Suggested by Prerna Saxena in
35201         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
35202         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
35203         Set to 1100000.
35205 2011-12-12  Jim Meyering  <meyering@redhat.com>
35207         argmatch: don't hard-code `' when listing valid option arguments
35208         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
35209         use the quote function to add quotes.  Use fputs rather than
35210         fprintf for the format string with no format directive.
35212 2011-12-07  Eric Blake  <eblake@redhat.com>
35214         bootstrap: detect tools required by gnulib-tool
35215         * build-aux/bootstrap (buildreq): Provide minimum implicit
35216         dependencies.
35217         * DEPENDENCIES: Mention patch as a prereq.
35219 2011-12-04  Bruno Haible  <bruno@clisp.org>
35221         sethostname: Port to Windows platforms.
35222         * lib/sethostname.c: Provide an alternate implementation for Windows
35223         platforms.
35224         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
35225         (main): Skip the test if sethostname() fails with EPERM. On Windows
35226         platforms, don't check the result of gethostname().
35228 2011-12-04  Bruno Haible  <bruno@clisp.org>
35229             Jim Meyering  <meyering@redhat.com>
35231         tests: Avoid spurious error message on platforms without mktemp program.
35232         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
35234 2011-12-04  Bruno Haible  <bruno@clisp.org>
35236         sethostname: Fix documentation.
35237         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
35238         "not fixed" section.
35240 2011-12-03  Bruno Haible  <bruno@clisp.org>
35242         gnulib-tool: Verify that the License field is present and non-empty.
35243         * gnulib-tool (func_get_license_raw): New function, extracted from
35244         func_get_license.
35245         (func_get_license): Use it. Warn if the module is not a test module and
35246         has no license.
35247         Suggested by Jim Meyering.
35249 2011-12-03  Bruno Haible  <bruno@clisp.org>
35251         sethostname tests: Fix link error on mingw.
35252         * tests/test-sethostname1.c: New file, extracted from
35253         tests/test-sethostname.c.
35254         * tests/test-sethostname2.c: New file, extracted from
35255         tests/test-sethostname.c.
35256         * tests/test-sethostname.c: Remove file.
35257         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
35258         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
35259         (Depends-on): Add gethostname.
35260         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
35261         Link the latter with $(GETHOSTNAME_LIB).
35263         sethostname tests: Fix compilation error on mingw.
35264         * tests/test-sethostname.c: Don't include <sys/types.h>.
35265         (geteuid): Use a dummy value without uid_t.
35266         * modules/sethostname-tests (Depends-on): Remove sys_types.
35268         sethostname tests: Avoid a gcc warning.
35269         * tests/test-sethostname.c (main): Remove an unused variable.
35271         Tweak last commit.
35272         * modules/sethostname-tests (Files): Sort by decreasing importance.
35273         (configure.ac): Check for geteuid.
35274         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
35275         the test when there's nothing to test. Drop an unnecessary cast.
35276         Improve an error message. Verify that the final sethostname() call
35277         succeeds.
35279 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
35281         Add a test suite for the sethostname module.
35282         * modules/sethostname-tests: New file.  A test program
35283         for the sethostname module.
35284         * tests/test-sethostname.c: Likewise.
35286 2011-12-03  Bruno Haible  <bruno@clisp.org>
35288         Tweak last commit.
35289         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
35290         Fix preprocessor directives indentation. Fix typos.
35291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
35292         * modules/unistd (Makefile): Likewise.
35294 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
35296         Integrate the sethostname module into unistd.
35297         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
35298         into the unistd.h header.
35299         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
35300         preprocessor directives.
35301         * modules/unistd: Setup the Makefile substitutions of the
35302         SETHOSTNAME preprocessor directives.
35304 2011-12-03  Bruno Haible  <bruno@clisp.org>
35306         Tweak last commit.
35307         * lib/sethostname.c: Don't include <string.h>.
35308         (sethostname): No need to copy the argument string to the stack. Don't
35309         call clearerr. Preserve errno when fprintf failed.
35310         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
35311         Don't invoke AC_REPLACE_FUNCS.
35312         * modules/sethostname (Link): Remove empty section.
35313         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
35314         failure problem.
35316 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
35318         New module 'sethostname'.
35319         * lib/sethostname.c (sethostname): New file.  Provide sethostname
35320         for systems that lack it.
35321         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
35322         sethostname declaration and function.
35323         * modules/sethostname: New file.  Define the sethostname module.
35325 2011-12-03  Bruno Haible  <bruno@clisp.org>
35327         Tweak last commit.
35328         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
35330 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
35332         Split the HOST_NAME_MAX detection into a separate m4 macro.
35333         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
35334         macro so it can be used by the pending sethostname module.
35336 2011-12-03  Bruno Haible  <bruno@clisp.org>
35338         Fix module descriptions syntax.
35339         * modules/argv-iter (License): Fix syntax.
35340         * modules/di-set (License): Likewise.
35341         * modules/ino-map (License): Likewise.
35342         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
35344 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
35346         stdalign: port to Clang 3.0
35347         Problem reported by Simon Josefsson in
35348         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
35349         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
35350         which has <stdalign.h> but which does not define alignof.
35351         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
35353 2011-12-01  Eric Blake  <eblake@redhat.com>
35355         mktempd: silence dd usage
35356         * build-aux/mktempd (rand_bytes): Silence dd.
35358 2011-11-30  Simon Josefsson  <simon@josefsson.org>
35360         manywarnings: Don't mention gcc version in docstring.
35361         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
35362         Jim Meyering <meyering@redhat.com>.
35364 2011-11-30  Jim Meyering  <meyering@redhat.com>
35366         hash: mark a few floating point constants with "f" suffix
35367         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
35368         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
35369         floating point constants with "f", since they're destined to be
35370         saved/used as "float"s.
35372 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
35374         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
35375         * tests/test-float.c (test_long_double): Correct and re-enable the
35376         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
35378 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
35380         Avoid subtracting two pointers that don't point into the same block.
35381         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
35382         only pointers into the same memory block are subtracted. We cannot
35383         assume that sizeof (ptrdiff_t) == sizeof (void *).
35385 2011-11-29  Eric Blake  <eblake@redhat.com>
35387         maint.mk: add syntax check for use of compare from init.sh
35388         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
35389         moved here from coreutils.
35391         manywarnings: drop -Wunsuffixed-float-constants
35392         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
35393         '1.0D', which is the only way to silence this warning for 'double'.
35395 2011-11-29  Jim Meyering  <meyering@redhat.com>
35397         hash: mark compute_bucket_size with the pure attribute
35398         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
35400         quotearg, propername: correct pragma guard expression
35401         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
35402         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
35404 2011-11-28  Jim Meyering  <meyering@redhat.com>
35406         propername: do not mark proper_name with the const attribute
35407         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
35408         since it examines data pointed to by its parameter.
35409         * lib/propername.c (proper_name): Instead, add a pragma to suppress
35410         the suggestion from -Wsuggest-attribute=const.
35412         propername: mark one more function as const
35413         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
35415 2011-11-27  Jim Meyering  <meyering@redhat.com>
35417         mark functions with const and pure attributes
35419         Mark functions per suggestions from gcc-4.6 when using these options:
35420         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
35421         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
35422         Follow these guidelines: when possible, apply the attribute to
35423         an extern declaration, not to its definition.  Apply it to the
35424         definition only when the definition is static.
35425         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
35426         * lib/argv-iter.h (argv_iter_n_args): Likewise.
35427         * lib/base64.h (isbase64): Likewise.
35428         * lib/basename-lgpl.c (last_component, base_len): Likewise.
35429         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
35430         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
35431         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
35432         (c_tolower, c_toupper): Likewise.
35433         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
35434         * lib/chdir-long.c (find_non_slash): Likewise.
35435         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
35436         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
35437         * lib/file-type.h (file_type): Likewise.
35438         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
35439         * lib/filevercmp.c (verrevcmp): Likewise.
35440         * lib/freadahead.h (freadahead): Likewise.
35441         * lib/fts.c (fts_maxarglen): Likewise.
35442         * lib/hash-pjw.h (hash_pjw): Likewise.
35443         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
35444         * lib/hash.c (is_prime, next_prime): Likewise.
35445         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
35446         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
35447         (hash_table_ok, hash_get_first, hash_string): Likewise.
35448         (compute_bucket_size): Likewise.
35449         * lib/i-ring.h (i_ring_empty): Likewise.
35450         * lib/isnan.c (isnanl): Likewise.
35451         * lib/math.h (isnanl, rpl_isnanl): Likewise.
35452         * lib/memcasecmp.h (memcasecmp): Likewise.
35453         * lib/memchr2.h (memchr2): Likewise.
35454         * lib/memcmp2.h (memcmp2): Likewise.
35455         * lib/parse-datetime.y (lookup_zone): Likewise.
35456         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
35457         [!WINDOWS_SOCKETS]: Likewise.
35458         * lib/strnlen1.h (strnlen1): Likewise.
35459         * lib/uniwidth.in.h (uc_width): Likewise.
35460         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
35461         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
35462         (quoting_options_from_style): Add a comment.
35463         * lib/propername.h (proper_name): Add a comment.
35465 2011-11-27  Bruno Haible  <bruno@clisp.org>
35467         Remove unused macros from !_LIBC code in glibc-borrowed files.
35468         * lib/fnmatch.c (STRCOLL): Remove macro.
35469         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
35470         * lib/glob.c (__stat, __readdir64): Remove macros.
35471         * lib/tempname.c (__open64, __xstat64): Remove macros.
35472         Suggested by Paul Eggert.
35474 2011-11-27  Bruno Haible  <bruno@clisp.org>
35476         getcwd: Fix link error on MSVC 9.
35477         * modules/getcwd (Depends-on): Add readdir, rewinddir.
35479 2011-11-27  Bruno Haible  <bruno@clisp.org>
35481         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
35482         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
35483         HAVE_OPENDIR is 0.
35484         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
35485         HAVE_CLOSEDIR is 0.
35486         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
35487         is 0.
35488         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
35490 2011-11-27  Bruno Haible  <bruno@clisp.org>
35492         getcwd: Fix bug from 2011-08-17.
35493         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
35494         platforms that need it.
35495         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
35496         code of 4 to be a failure, not a success. This ensures that
35497         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
35499 2011-11-27  Bruno Haible  <bruno@clisp.org>
35501         binary-io tests: Avoid test failure on mingw when libtool is used.
35502         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
35503         Don't verify the size of t-bin-out1.tmp here.
35504         * tests/test-binary-io.sh: Verify it here.
35505         Reported by Simon Josefsson.
35507 2011-11-26  Bruno Haible  <bruno@clisp.org>
35509         Fix conflict between two instantiations of module 'unistd'.
35510         * gnulib-tool (func_emit_autoconf_snippet): Substitute
35511         ${include_guard_prefix} also in the autoconf snippet.
35512         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
35513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
35514         GNULIB_UNISTD_H_GETOPT.
35515         * modules/getopt-posix (configure.ac): Set the
35516         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
35517         * modules/getopt-gnu (configure.ac): Likewise.
35518         * modules/unistd (Makefile.am): Change the substitution value of
35519         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
35520         Reported by Simon Josefsson.
35522 2011-11-25  Bruno Haible  <bruno@clisp.org>
35524         pagealign_alloc: Doc and comments.
35525         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
35526         module.
35527         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
35529 2011-11-25  Jim Meyering  <meyering@redhat.com>
35531         test-update-copyright.sh: avoid false-positive failure
35532         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
35533         around false positive failure on Cygwin/Windows.  The latter was
35534         matching erroneously-created files with names like
35535         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
35537 2011-11-25  Simon Josefsson  <simon@josefsson.org>
35539         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
35540         * m4/valgrind-tests.m4: Check that the parameters that will be
35541         used works, not just a subset of them.  Reported by Bruno Haible
35542         <bruno@clisp.org>.
35544 2011-11-24  Jim Meyering  <meyering@redhat.com>
35546         test-stdalign.c: comment out long double tests
35547         * tests/test-stdalign.c: Don't try to reduce alignment of long double
35548         variables.  That provokes errors like this from gcc-4.7.0 20111124:
35549         error: '_Alignas' specifiers cannot reduce alignment of \
35550         'static_longdouble_alignas'.
35552 2011-11-22  Jim Meyering  <meyering@redhat.com>
35554         init.sh: make "compare /dev/null FILE" output more readable
35555         * tests/init.sh (compare_): Document the preferred order of arguments.
35556         (emit_diff_u_header_): New function.
35557         (compare_dev_null_): Emit a simulated diff, rather than just the
35558         contents of the unexpected file.  Suggestion from Bruno Haible.
35560 2011-11-21  Jim Meyering  <meyering@redhat.com>
35561             Eric Blake  <eblake@redhat.com>
35563         init.sh: work around OSF/1 5.1's mishandling of /dev/null
35564         * tests/init.sh: Make our compare function slightly more portable.
35565         Reported by Bruno Haible in
35566         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
35568 2011-11-21  Simon Josefsson  <simon@josefsson.org>
35570         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
35571         before using it, in code that ends up in config.h.
35573 2011-11-20  Bruno Haible  <bruno@clisp.org>
35575         getcwd: Work around getcwd bug on AIX 5..7.
35576         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
35577         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
35578         Use a different value for gl_cv_func_getcwd_path_max. Move the
35579         definition of HAVE_PARTLY_WORKING_GETCWD from here...
35580         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
35581         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
35582         Define HAVE_MINIMALLY_WORKING_GETCWD.
35583         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
35584         where it is not even minimally working, that is, on AIX.
35585         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
35586         m4/getcwd-path-max.m4.
35587         (main): Update exit code computation.
35588         * doc/posix-functions/getcwd.texi: Mention list of platforms where
35589         getcwd does not handle long file names.
35591 2011-11-20  Bruno Haible  <bruno@clisp.org>
35593         getcwd: Fix bug from 2009-09-10.
35594         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
35595         like "no".
35597 2011-11-20  Simon Josefsson  <simon@josefsson.org>
35599         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
35601 2011-11-20  Bruno Haible  <bruno@clisp.org>
35603         fma tests: Avoid shadowing local variables.
35604         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
35605         expected.
35607 2011-11-20  Bruno Haible  <bruno@clisp.org>
35609         copysignf tests: Fix.
35610         * tests/test-copysignf.c: Fix signature check.
35612 2011-11-20  Bruno Haible  <bruno@clisp.org>
35614         fma: Remove unused code.
35615         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
35616         unused macros.
35618 2011-11-20  Bruno Haible  <bruno@clisp.org>
35620         sethostname: Fix doc about AIX.
35621         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
35622         sethostname; it has it.
35624         sethostname: Mention more portability problems.
35625         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
35626         problem.
35627         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
35629 2011-11-19  Bruno Haible  <bruno@clisp.org>
35631         Depend on module fcntl-h when AT_FDCWD is used.
35632         * modules/utimens (Depends-on): Add fcntl-h.
35633         * modules/areadlinkat (Depends-on): Likewise.
35634         * modules/areadlinkat-with-size (Depends-on): Likewise.
35635         * modules/faccessat (Depends-on): Likewise.
35636         * modules/fchmodat (Depends-on): Likewise.
35637         * modules/fchownat (Depends-on): Likewise.
35638         * modules/getcwd (Depends-on): Likewise.
35639         * modules/mkdirat (Depends-on): Likewise.
35640         * modules/mkfifoat (Depends-on): Likewise.
35641         * modules/readlinkat (Depends-on): Likewise.
35642         * modules/symlinkat (Depends-on): Likewise.
35643         * modules/dup2-tests (Depends-on): Likewise.
35644         * modules/fdutimensat-tests (Depends-on): Likewise.
35645         * modules/futimens-tests (Depends-on): Likewise.
35647 2011-11-19  Bruno Haible  <bruno@clisp.org>
35649         euidaccess: Update a comment.
35650         * lib/euidaccess.c: Update comment about platforms with faccessat.
35652 2011-11-19  Bruno Haible  <bruno@clisp.org>
35654         openat: Fix file list.
35655         * modules/openat (Files): Remove lib/at-func.c.
35657 2011-11-19  Bruno Haible  <bruno@clisp.org>
35659         fstatat: Simplify.
35660         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
35661         gnulib should define rpl_fstatat, there is a
35662         "#define fstatat rpl_fstatat" in <sys/stat.h>.
35664 2011-11-19  Bruno Haible  <bruno@clisp.org>
35666         Ensure 'inline' can be used in tests/test-utimens-common.h.
35667         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
35668         * modules/futimens-tests (configure.ac): Likewise.
35669         * modules/utimens-tests (configure.ac): Likewise.
35670         * modules/utimensat-tests (configure.ac): Likewise.
35672 2011-11-19  Simon Josefsson  <simon@josefsson.org>
35674         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
35675         not hash_insert0.
35676         (hash_insert_if_absent): Doc fix.
35678 2011-11-19  Simon Josefsson  <simon@josefsson.org>
35680         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
35682 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
35684         test-getcwd: disambiguate exit status
35685         * tests/test-getcwd.c (test_long_name): Return 0..7.
35686         (main): Exit with an unambiguous exit status.  The old
35687         code yielded a mysterious mixture of two failure codes.
35689         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
35690         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
35691         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
35692         rpl_fstatat or fstatat.  This should fix the other problem
35693         reported by Kai Habel in
35694         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
35695         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
35696         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
35697         and I reproduced it on a Solaris 8 host we still have in production.
35699 2011-11-18  Jim Meyering  <meyering@redhat.com>
35701         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
35702         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
35703         Add a sentence to the comment.
35704         (hash_insert0): New function that simply calls hash_insert_if_absent.
35705         * lib/hash.h (hash_insert_if_absent): Declare it.
35706         (hash_insert0): Add deprecation attribute.
35707         (_GL_ATTRIBUTE_DEPRECATED): Define.
35708         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
35709         not hash_insert0.
35710         * NEWS: Mention it, even though it's not really an incompatible change.
35712 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
35714         openat: avoid compilation failure due to lack of <errno.h> inclusion
35715         * lib/openat.c: Include <errno.h>.
35717 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
35719         * modules/getcwd (Depends-on): Add fdopendir.
35720         This fixes one of the two problems reported by Kai Habel in
35721         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
35723         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
35724         stdalign problem reported by Ian Beckwith in
35725         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
35726         * modules/crypto/gc-arcfour (Depends-on):
35727         Depend conditionally on crypto/arcfour.
35728         * modules/crypto/gc-arctwo (Depends-on):
35729         Depend conditionally on crypto/arctwo.
35730         * modules/crypto/gc-des (Depends-on):
35731         Depend conditionally on crypto/des.
35732         * modules/crypto/gc-hmac-md5 (Depends-on):
35733         Depend conditionally on crypto/hmac-md5.
35734         * modules/crypto/gc-hmac-sha1 (Depends-on):
35735         Depend conditionally on crypto/hmac-sha1.
35736         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
35737         * modules/crypto/gc-md4 (Depends-on):
35738         Depend conditionally on crypto/md4.
35739         * modules/crypto/gc-md5 (Depends-on):
35740         Depend conditionally on crypto/md5.
35741         * modules/crypto/gc-rijndael (Depends-on):
35742         Depend conditionally on crypto/rijndael.
35743         * modules/crypto/gc-sha1 (Depends-on):
35744         Depend conditionally on crypto/sha1.
35745         * modules/crypto/gc-arcfour:
35746         * modules/crypto/gc-arctwo:
35747         * modules/crypto/gc-des:
35748         * modules/crypto/gc-hmac-md5:
35749         * modules/crypto/gc-hmac-sha1:
35750         * modules/crypto/gc-md2:
35751         * modules/crypto/gc-md4:
35752         * modules/crypto/gc-md5:
35753         * modules/crypto/gc-rijndael:
35754         * modules/crypto/gc-sha1:
35755         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
35756         now that the conditional dependencies do the work for us.
35758 2011-11-17  Jim Meyering  <meyering@redhat.com>
35760         tests: factor st_ctime-comparison out of two headers
35761         * tests/test-utimens-common.h (ctime_compare): Define.
35762         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
35763         * tests/test-lutimens.h (test_lutimens): Likewise.
35764         * tests/test-utimens.h (test_utimens): Likewise.
35766         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
35767         Invoke the test program via an init.sh-using wrapper.
35768         * tests/test-getcwd.sh: New file.
35769         * modules/getcwd-tests (Files): Add it.
35770         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
35772 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
35774         gitlog-to-changelog: support multi-author commits.
35775         The FSF cares about keeping track of all authors of patches to its
35776         projects, but Git doesn't provide obvious support for multi-author
35777         changesets. Consensus seems to be forming around the use of extra
35778         Signed-off-by inspired lines in the log message formatted as
35779         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
35780         multi-author commits between version control systems.
35781         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
35782         log message and output in standard ChangeLog multi-author format.
35783         Reported by Peter Rosin <peda@lysator.liu.se>
35785 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
35786             Bruno Haible  <bruno@clisp.org>
35788         Fix some modules' file list.
35789         * modules/fstatat (Files): Add m4/lstat.m4.
35790         * modules/openat (Files): Likewise.
35791         * modules/unlinkat (Files): Likewise.
35793 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
35795         maint.mk: fix tight-scope.mk generation in VPATH builds.
35796         * top/maint.mk (tight-scope.mk): Make sure to prefix file
35797         reference with $(srcdir) so that the file is found correctly even
35798         when running `make syntax-check' in a VPATH build.
35800 2011-11-13  Bruno Haible  <bruno@clisp.org>
35801             Jim Meyering  <meyering@redhat.com>
35803         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
35804         * tests/init.sh (compare): Remove "No differences encountered" or
35805         synonymous output from the 'diff' program.
35807 2011-11-13  Bruno Haible  <bruno@clisp.org>
35809         Makefile: Tweak indentation.
35810         * Makefile: Use tab as first character in every line that contains rule
35811         commands.
35813 2011-11-13  Bruno Haible  <bruno@clisp.org>
35815         Syntax check for copyright statements.
35816         * check-copyright: New file.
35817         * Makefile (sc_check_copyright): New rule.
35819 2011-11-13  Simon Josefsson  <simon@josefsson.org>
35821         * build-aux/git-version-gen: Add --prefix to configure the tag
35822         match string.
35824 2011-11-13  Simon Josefsson  <simon@josefsson.org>
35826         * build-aux/git-version-gen: Add --help and --version.
35828 2011-11-12  Jim Meyering  <meyering@redhat.com>
35830         revamp the other test-exclude?.sh scripts to use init.sh, too
35831         * tests/test-exclude1.sh: Use init.sh.
35832         * tests/test-exclude2.sh: Likewise.
35833         * tests/test-exclude3.sh: Likewise.
35834         * tests/test-exclude4.sh: Likewise.
35835         * tests/test-exclude5.sh: Likewise.
35836         * tests/test-exclude6.sh: Likewise.
35837         * tests/test-exclude7.sh: Likewise.
35838         * tests/test-exclude8.sh: Likewise.
35839         * modules/exclude-tests (Files): List init.sh.
35841         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
35842         These shell scripts ignored failure of the binary test-exclude,
35843         so making the latter return 77 didn't cause them to be skipped.
35844         * tests/test-exclude5.sh: Exit with test-exclude's error status
35845         when that program fails.  Revamp to use init.sh.
35846         * tests/test-exclude2.sh: Likewise.
35848         test-exclude: fix a typo
35849         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
35851 2011-11-11  Bruno Haible  <bruno@clisp.org>
35853         obstack: Fix compilation error on MSVC 9.
35854         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
35856 2011-11-11  Jim Meyering  <meyering@redhat.com>
35858         test-exclude: skip tests rather than failing on deficient systems
35859         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
35860         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
35861         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
35862         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
35864 2011-11-10  Bruno Haible  <bruno@clisp.org>
35866         ptsname_r test: Avoid gcc warning on glibc systems.
35867         * tests/test-ptsname_r.c (null_ptr): New function.
35868         (test_errors): Use it.
35870 2011-11-10  Bruno Haible  <bruno@clisp.org>
35872         ptsname_r: Avoid compilation error on OSF/1 5.1.
35873         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
35874         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
35875         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
35876         function is not declared or incompatibly declared.
35877         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
35878         * modules/ptsname_r (Depends-on, configure.ac): Update.
35879         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
35881 2011-11-10  Bruno Haible  <bruno@clisp.org>
35883         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
35884         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
35885         When cross-compiling, guess yes on all platforms except AIX.
35886         Reported by Ludovic Courtès <ludo@gnu.org>.
35888 2011-11-09  Bruno Haible  <bruno@clisp.org>
35890         ptsname_r tests: Fix bugs.
35891         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
35892         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
35894 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
35896         fstatat: work with cross-compilation
35897         Problem reported by Ludovic Courtès in
35898         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
35899         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
35900         "cross-compiling" and assume the bug is present.  Replace
35901         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
35902         an inverted sense, to be more conservative about our assumptions.
35903         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
35905 2011-11-09  Bruno Haible  <bruno@clisp.org>
35907         Improve MODULES.html output.
35908         * modules/mkfifoat (Description): Use the word "function".
35909         * modules/readlinkat (Description): Likewise.
35910         * modules/symlinkat (Description): Likewise.
35912 2011-11-09  Eric Blake  <eblake@redhat.com>
35914         ptsname_r-tests: new test module
35915         * modules/ptsname_r-tests: New module.
35916         * tests/test-ptsname_r.c: New file.
35918         ptsname_r: new module
35919         * modules/ptsname_r: New module.
35920         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
35921         * lib/ptsname.c (__ptsname_r): Split...
35922         * lib/ptsname_r.c: ...into new file.
35923         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
35924         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
35925         * modules/stdlib (Makefile.am): Substitute witnesses.
35926         * lib/stdlib.in.h (ptsname_r): Declare it.
35927         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
35928         * MODULES.html.sh (Misc): Likewise.
35929         * modules/ptsname (Depends-on): Alter dependency.
35930         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
35932 2011-11-09  Jim Meyering  <meyering@redhat.com>
35934         announce-gen: be more concise when there's only one URL+tarball
35935         * build-aux/announce-gen (get_tool_versions): When you distribute
35936         only one type of tarball, combine the first two "Here are..."
35937         sections and make the key-checking grammar independent of
35938         how many tarballs there are.
35940 2011-11-09  Eric Blake  <eblake@redhat.com>
35942         openpty: provide a stub on mingw
35943         * lib/pty.in.h (includes): Provide forward declarations.
35944         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
35946         raise: fix mingw handling of SIGPIPE
35947         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
35949 2011-11-08  Bruno Haible  <bruno@clisp.org>
35951         More conditional dependencies.
35952         * modules/faccessat (Depends-on): Add conditions.
35953         * modules/fchmodat (Depends-on): Likewise.
35954         * modules/fchownat (Depends-on): Likewise.
35955         * modules/fstatat (Depends-on): Likewise.
35956         * modules/mkfifoat (Depends-on): Likewise.
35957         * modules/readlinkat (Depends-on): Likewise.
35958         * modules/symlinkat (Depends-on): Likewise.
35959         * modules/unlinkat (Depends-on): Likewise.
35960         * modules/utimensat (Depends-on): Likewise.
35961         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
35962         * modules/linkat (Depends-on): Refine the conditions.
35963         * modules/renameat (Depends-on): Likewise.
35965 2011-11-08  Bruno Haible  <bruno@clisp.org>
35967         faccessat: Move AC_LIBOBJ invocation to module description.
35968         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
35969         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
35970         invocation from here...
35971         * modules/faccessat (configure.ac): ... to here. Invoke
35972         gl_PREREQ_FACCESSAT.
35974 2011-11-08  Bruno Haible  <bruno@clisp.org>
35976         faccessat: Simplify autoconf macro.
35977         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
35978         gl_FUNC_EUIDACCESS.
35980 2011-11-08  Bruno Haible  <bruno@clisp.org>
35982         renameat: Fix dependencies.
35983         * modules/renameat (Depends-on): Add stdbool.
35985 2011-11-08  Bruno Haible  <bruno@clisp.org>
35987         mkfifoat: Fix module description.
35988         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
35989         not gl_UNISTD_MODULE_INDICATOR.
35991 2011-11-08  Bruno Haible  <bruno@clisp.org>
35993         fstatat: Remove unused dependency.
35994         * modules/fstatat (Depends-on): Remove fstat.
35996 2011-11-08  Simon Josefsson  <simon@josefsson.org>
35998         GNUmakefile: behave when Makefile is missing.
35999         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
36001 2011-11-08  Bruno Haible  <bruno@clisp.org>
36003         openat: Conditionalize dependencies.
36004         * lib/openat.c: Reduce the scope of some #includes.
36005         * modules/openat (Depends-on): Add conditions.
36007 2011-11-07  Jim Meyering  <meyering@redhat.com>
36009         maint.mk: extract GPG key ID without using a temporary file
36010         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
36011         without using a temporary file.  Based on a suggestion from Werner Koch
36012         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
36014 2011-11-07  Eric Blake  <eblake@redhat.com>
36016         grantpt: fix typo
36017         * lib/stdlib.in.h (grantpt): Check correct function.
36019         maint.mk: silence new syntax check
36020         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
36022 2011-11-06  Bruno Haible  <bruno@clisp.org>
36024         Doc about floating-point and math API.
36025         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
36026         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
36028 2011-11-06  Bruno Haible  <bruno@clisp.org>
36030         stdalign tests: Skip the test when compiled by Sun C.
36031         * tests/test-stdalign.c (main): Skip the test on Sun C.
36033 2011-11-06  Bruno Haible  <bruno@clisp.org>
36035         ansi-c++-opt: Complete the 2011-06-05 change.
36036         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
36037         does not support namespaces, set the variable to "no", not to ":".
36039 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
36041         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
36043 2011-11-06  Bruno Haible  <bruno@clisp.org>
36045         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
36046         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
36047         (minus_zerol) [HP-UX]: New macro.
36048         (unary_minus) [HP-UX]: New function.
36049         (copysignl) [HP-UX]: Use unary_minus function.
36051 2011-11-06  Bruno Haible  <bruno@clisp.org>
36053         ldexp, ldexpf, ldexpl: Enhance tests.
36054         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
36055         and tests/test-ldexpl.c.
36056         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
36057         LDEXP, MIN_EXP, MAX_EXP): New macros.
36058         Include test-ldexp.h.
36059         (main): Just call test_function.
36060         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
36061         infinity.h, nan.h.
36062         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
36063         MAX_EXP): New macros.
36064         Include test-ldexp.h.
36065         (x, y): Remove variables.
36066         (main): Just call test_function.
36067         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
36068         infinity.h, nan.h.
36069         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
36070         MAX_EXP): New macros.
36071         Include test-ldexp.h.
36072         (x, y): Remove variables.
36073         (main): Just call test_function.
36074         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
36075         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
36076         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
36077         (Depends-on): Add isnand-nolibm, signbit, float.
36078         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
36079         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
36080         (Depends-on): Add isnanf-nolibm, signbit, float.
36082 2011-11-06  Bruno Haible  <bruno@clisp.org>
36084         math tests: Cosmetics.
36085         * tests/test-math-c++.cc: Reorder declarations.
36087 2011-11-05  Bruno Haible  <bruno@clisp.org>
36089         fma*: Simplify test.
36090         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
36091         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
36093         Tests for module 'fmal'.
36094         * modules/fmal-tests: New file.
36095         * tests/test-fmal1.c: New file.
36096         * tests/test-fmal2.c: New file.
36098         New module 'fmal'.
36099         * lib/math.in.h (fmal): New declaration.
36100         * lib/fmal.c: New file.
36101         * m4/fmal.m4: New file.
36102         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
36103         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
36104         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
36105         REPLACE_FMAL.
36106         * modules/fmal: New file.
36107         * doc/posix-functions/fmal.texi: Mention the new module and the various
36108         bugs.
36110         Tests for module 'fmaf'.
36111         * modules/fmaf-tests: New file.
36112         * tests/test-fmaf1.c: New file.
36113         * tests/test-fmaf2.c: New file.
36115         New module 'fmaf'.
36116         * lib/math.in.h (fmaf): New declaration.
36117         * lib/fmaf.c: New file.
36118         * m4/fmaf.m4: New file.
36119         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
36120         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
36121         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
36122         REPLACE_FMAF.
36123         * modules/fmaf: New file.
36124         * doc/posix-functions/fmaf.texi: Mention the new module and the various
36125         bugs.
36127         Tests for module 'fma'.
36128         * modules/fma-tests: New file.
36129         * tests/test-fma1.c: New file.
36130         * tests/test-fma1.h: New file.
36131         * tests/test-fma2.c: New file.
36132         * tests/test-fma2.h: New file.
36134         New module 'fma'.
36135         * lib/math.in.h (fma): New declaration.
36136         * lib/fma.c: New file.
36137         * m4/fma.m4: New file.
36138         * m4/fegetround.m4: New file.
36139         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
36140         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
36141         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
36142         REPLACE_FMA.
36143         * modules/fma: New file.
36144         * doc/posix-functions/fma.texi: Mention the new module and the various
36145         bugs.
36147         Extend gl_MATHFUNC.
36148         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
36149         Support 'void' as argument type.
36150         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
36152 2011-11-05  Jim Meyering  <meyering@redhat.com>
36154         maint.mk: also prohibit inclusion of dirent.h without use
36155         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
36157 2011-11-05  Bruno Haible  <bruno@clisp.org>
36159         ldexpl tests: Avoid test failure on MSVC 9.
36160         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
36161         value. Needed in order to enforce the conversion from a value greater
36162         than LDBL_MAX to Infinity.
36164 2011-11-05  Bruno Haible  <bruno@clisp.org>
36166         New modules 'at-internal', 'openat-h', split off from module 'openat'.
36167         * modules/at-internal: New file, extracted from modules/openat.
36168         * modules/openat-h: New file.
36169         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
36170         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
36171         * modules/openat (Description): Add reference to POSIX function.
36172         (Files): Remove lib/openat.h, lib/openat-proc.c.
36173         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
36174         intprops, unistd.
36175         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
36176         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
36177         gl_FCNTL_MODULE_INDICATOR.
36178         (Include): Remove unistd.h, openat.h.
36179         * modules/areadlinkat (Files): Add lib/at-func.c.
36180         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
36181         openat-die, openat-h, save-cwd.
36182         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
36183         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
36184         openat-die, openat-h, save-cwd, unistd.
36185         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
36186         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
36187         openat-h, save-cwd. Remove fcntl-h, openat.
36188         * modules/fchmodat (Files): Remove lib/openat.h.
36189         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
36190         openat, stdbool, unistd.
36191         * modules/fchownat (Files): Remove lib/openat.h.
36192         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
36193         openat, stdbool, sys_stat.
36194         * modules/fdopendir (Files): Remove lib/openat-priv.h,
36195         lib/openat-proc.c.
36196         (Depends-on): Add at-internal.
36197         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
36198         * modules/fstatat (Files): Remove lib/openat.h.
36199         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
36200         stdbool, unistd.
36201         * modules/fts (Depends-on): Add openat-h.
36202         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
36203         openat.
36204         * modules/mkdirat (Files): Remove lib/openat.h.
36205         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
36206         openat, stdbool, sys_stat.
36207         * modules/mkfifoat (Files): Add lib/at-func.c.
36208         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
36209         openat-h, save-cwd. Remove fcntl-h, openat.
36210         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
36211         * modules/readlinkat (Files): Add lib/at-func.c.
36212         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
36213         openat-h, save-cwd. Remove fcntl-h, openat.
36214         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
36215         openat.
36216         * modules/selinux-at (Files): Add lib/at-func.c.
36217         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
36218         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
36219         * modules/symlinkat (Files): Add lib/at-func.c.
36220         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
36221         openat-h, save-cwd. Remove fcntl-h, openat.
36222         * modules/unlinkat (Files): Remove lib/openat.h.
36223         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
36224         stdbool.
36225         * modules/utimensat (Files): Add lib/at-func.c.
36226         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
36227         openat-die, openat-h, save-cwd.
36228         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
36229         * modules/fdutimensat-tests (Depends-on): Add openat.
36230         * modules/fstatat-tests (Depends-on): Add openat-h.
36231         * modules/readlinkat-tests (Depends-on): Add openat.
36232         * modules/symlinkat-tests (Depends-on): Add openat.
36234 2011-11-05  Bruno Haible  <bruno@clisp.org>
36236         openat: Include <stdbool.h>.
36237         * lib/openat.c: Include <stdbool.h>.
36239 2011-11-04  Bruno Haible  <bruno@clisp.org>
36241         fchownat, renameat, unlinkat: Fix dependencies.
36242         * modules/fchownat (Depends-on): Add fstatat.
36243         * modules/renameat (Depends-on): Likewise.
36244         * modules/unlinkat (Depends-on): Likewise.
36246 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
36248         openat: remove direct dependency on dirent
36249         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
36250         and hasn't been needed ever since fdopendir was split into its own
36251         module on 2009-08-31.
36252         * modules/openat (Depends-on): Remove dirent.
36254 2011-11-04  Bruno Haible  <bruno@clisp.org>
36256         renameat: Optimize code size.
36257         * modules/renameat (configure.ac): Don't compile at-func2.c if
36258         REPLACE_RENAMEAT is 1.
36260 2011-11-04  Bruno Haible  <bruno@clisp.org>
36262         openat tests: Fix file list.
36263         * modules/openat-tests (Files): Add tests/test-open.h.
36265 2011-11-04  Bruno Haible  <bruno@clisp.org>
36267         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
36268         * modules/fchmodat (Depends-on): Add openat-die.
36269         * modules/fchownat (Depends-on): Likewise.
36270         * modules/linkat (Depends-on): Likewise.
36271         * modules/renameat (Depends-on): Likewise.
36272         * modules/openat (Depends-on): Add dirent.
36274 2011-11-04  Jim Meyering  <meyering@redhat.com>
36276         at-func*.c: fix comments
36277         * lib/at-func2.c: Correct/improve first-line comment.
36278         * lib/at-func.c: Correct grammar in first-line comment.
36280 2011-11-04  Bruno Haible  <bruno@clisp.org>
36282         New module 'mkdirat', split off from module 'openat'.
36283         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
36284         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
36285         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
36286         * modules/mkdirat: New file, extracted from modules/openat.
36287         * modules/openat (Files): Remove lib/mkdirat.c.
36288         (Depends-on): Remove mkdir.
36289         (configure.ac): Remove AC_LIBOBJ of mkdirat.
36290         (Include): Remove <sys/stat.h>.
36291         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
36292         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
36293         tests/test-mkdir.h.
36294         (Depends-on): Remove ignore-value.
36295         (Makefile.am): Remove rules for test-mkdirat.
36296         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
36297         of module 'openat'.
36298         * NEWS: Mention the change.
36300 2011-11-04  Bruno Haible  <bruno@clisp.org>
36302         closedir: Avoid warning on mingw.
36303         * lib/closedir.c: Include <unistd.h>.
36305 2011-11-04  Bruno Haible  <bruno@clisp.org>
36307         New module 'fstatat', split off from module 'openat'.
36308         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
36309         defined.
36310         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
36311         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
36312         gl_FUNC_FSTATAT.
36313         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
36314         * modules/fstatat: New file, extracted from modules/openat.
36315         * modules/openat (Files): Remove lib/fstatat.c.
36316         (Depends-on): Remove lstat.
36317         (configure.ac): Remove AC_LIBOBJ of fstatat.
36318         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
36319         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
36320         tests/test-lstat.h, tests/test-stat.h.
36321         (Depends-on): Remove getcwd-lgpl.
36322         (Makefile.am): Remove rules for test-fstatat.
36323         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
36324         of module 'openat'.
36325         * NEWS: Mention the change.
36326         * modules/getcwd (Depends-on): Add fstatat.
36327         * modules/linkat (Depends-on): Likewise.
36328         * modules/mkfifoat-tests (Depends-on): Likewise.
36329         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
36331 2011-11-03  Bruno Haible  <bruno@clisp.org>
36333         New module 'unlinkat', split off from module 'openat'.
36334         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
36335         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
36336         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
36337         * modules/unlinkat: New file, extracted from modules/openat. Correct
36338         the dependency conditions.
36339         * modules/openat (Files): Remove lib/unlinkat.c.
36340         (Depends-on): Remove rmdir, unlink.
36341         (configure.ac): Remove AC_LIBOBJ of unlinkat.
36342         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
36343         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
36344         tests/test-rmdir.h, tests/test-unlink.h.
36345         (Depends-on): Remove unlinkdir.
36346         (Makefile.am): Remove rules for test-unlinkat.
36347         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
36348         of module 'openat'.
36349         * NEWS: Mention the change.
36350         * modules/linkat-tests (Depends-on): Add unlinkat.
36351         * modules/mkfifoat-tests (Depends-on): Likewise.
36352         * modules/readlinkat-tests (Depends-on): Likewise.
36354 2011-11-02  Bruno Haible  <bruno@clisp.org>
36356         New module 'fchmodat', split off from module 'openat'.
36357         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
36358         defined.
36359         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
36360         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
36361         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
36362         * modules/fchmodat: New file, extracted from modules/openat.
36363         * modules/openat (Files): Remove lib/fchmodat.c.
36364         (configure.ac): Remove AC_LIBOBJ of fchmodat.
36365         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
36366         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
36367         (Makefile.am): Remove rules for test-fchmodat.
36368         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
36369         of module 'openat'.
36370         * NEWS: Mention the change.
36372 2011-11-02  Jim Meyering  <meyering@redhat.com>
36374         putenv: indent #definition of "environ" to placate cppi
36375         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
36377         gitlog-to-changelog: provide a ChangeLog-repair mechanism
36378         Git logs are often treated as immutable, because editing them
36379         changes the SHA1 checksums of all descendants.  Thus, errors in
36380         git logs tend to stay there forever.  However, when we generate
36381         a ChangeLog file -- typically for distribution -- from that git log,
36382         we can actually make corrections in the generated file.  The key
36383         lies in recording in machine-readable/applicable form the desired
36384         corrections.  See --help for description and an example.
36385         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
36386         (usage): Describe it; alphabetize option descriptions.
36387         (main): Honor the new option, carefully.
36389 2011-11-01  Jim Meyering  <meyering@redhat.com>
36391         gitlog-to-changelog: avoid an infloop
36392         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
36393         that ends up being empty.
36395 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
36397         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
36398         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
36399         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
36400         contains (possibly-quoted) backslashes.  This should avoid
36401         all-too-common shell bugs if COMPLICATED contains backslashes in
36402         the "wrong" places.  Reported by David Evans in
36403         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
36404         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
36405         because we want ASCII ranges.  Is there some reason we don't use
36406         the C locale everywhere in this script?
36407         (func_module, top level): Avoid unwanted pathname expansion when
36408         $repo_url_prefix or $repo_url_suffix_repl contain shell
36409         metacharacters like '?' and '*'.
36411 2011-11-01  Bruno Haible  <bruno@clisp.org>
36413         fchownat: Improve description.
36414         * modules/fchownat (Description): Add link to function.
36416 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
36418         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
36419         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
36420         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
36421         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
36423 2011-11-01  Bruno Haible  <bruno@clisp.org>
36425         alignof: Avoid collision with stdalign module.
36426         * lib/alignof.h (alignof): Remove macro.
36427         * NEWS: Mention the change.
36428         Reported by Paul Eggert.
36430 2011-11-01  Bruno Haible  <bruno@clisp.org>
36432         New module 'fchownat', split off from module 'openat'.
36433         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
36434         defined.
36435         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
36436         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
36437         invoke gl_FUNC_FCHOWNAT.
36438         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
36439         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
36440         * modules/fchownat: New file, extracted from modules/openat.
36441         * modules/openat (Files): Remove lib/fchownat.c.
36442         (Depends-on): Remove lchown.
36443         (configure.ac): Remove AC_LIBOBJ of fchownat.
36444         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
36445         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
36446         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
36447         (Depends-on): Remove mgetgroups, usleep, stat-time.
36448         (configure.ac): Remove test for getegid.
36449         (Makefile.am): Remove rules for test-fchownat.
36450         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
36451         of module 'openat'.
36452         * NEWS: Mention the change.
36454 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
36456         stdalign: port better to MSVC and to Sun C 5.11
36457         This fixes some of the problems reported by Bruno Haible in
36458         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
36459         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
36460         shortcomings of MSVC and of Sun C 5.11.
36461         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
36462         around __declspec arg.
36463         * modules/stdalign-tests (Files): Add tests/macros.h.
36464         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
36465         Include macros.h, for ASSERT.
36466         (DECLARE_ALIGNED): Remove.
36467         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
36468         to catch bug), and to 1 if not (simplifies the rest of the code).
36469         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
36470         (CHECK_AUTO): Remove.
36471         (CHECK_ALIGNED): Check only the alignment of the static vars,
36472         since auto var alignment isn't supported by Sun C 5.11.
36473         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
36474         ASSERT failures are easier to diagnose.
36476 2011-10-31  Bruno Haible  <bruno@clisp.org>
36478         doc about some IRIX 5.3 problems.
36479         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
36480         on IRIX 5.3.
36481         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
36482         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
36483         5.3.
36484         * doc/posix-functions/grantpt.texi: Likewise.
36485         * doc/posix-functions/unlockpt.texi: Likewise.
36486         * doc/posix-functions/lgamma.texi: Likewise.
36487         * doc/posix-functions/nextafter.texi: Likewise.
36488         * doc/posix-functions/remainder.texi: Likewise.
36489         * doc/posix-functions/select.texi: Mention misplaced declaration on
36490         IRIX 5.3.
36491         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36493 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
36495         gitlog-to-changelog: fix git-log invocation.
36496         git-log mishandles date strings before 1970-01-01 UTC, and there is
36497         no use to specify --since=1970-01-01 by default anyway.
36498         * build-aux/gitlog-to-changelog: By default, when no --since option
36499         was given, do not specify explicit --since option to git-log.
36501 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
36503         gitlog-to-changelog: new option --append-dot.
36504         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
36505         first non-blank line of each commit message terminated with a dot.
36507 2011-10-30  Bruno Haible  <bruno@clisp.org>
36509         ffsl, ffsll: Avoid compilation error due to 'restrict'.
36510         * lib/ffsl.h: Include <config.h>.
36511         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
36513 2011-10-30  Jim Meyering  <meyering@redhat.com>
36515         GNUmakefile: reenable "make syntax-check" for most projects
36516         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
36517         build-aux variable", "syntax-check" would do nothing but succeed with
36518         the "No version control files detected..." diagnostic (unless you
36519         happened to override _build-aux via cfg.mk).
36520         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
36521         to precede inclusion of maint.mk.  Otherwise, these variables would
36522         be used undefined in any project that does not override the default.
36524 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
36526         gitlog-to-changelog: treat a message with only blank lines as empty.
36527         * build-aux/gitlog-to-changelog: Move the code that removes leading and
36528         trailing blank lines before the code that issues a warning about an
36529         empty commit message.
36531 2011-10-30  Jim Meyering  <meyering@redhat.com>
36533         test-parse-datetime.c: avoid new DST-related false positive test failure
36534         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
36535         based on the time/date we'll convert, not the current time.
36536         Otherwise, the moment we cross a DST boundary like today's in
36537         Europe, (CEST to CET), that offset ends up being one hour off.
36539 2011-10-27  Bruno Haible  <bruno@clisp.org>
36541         fstat: Tweak documentation.
36542         * modules/fstat (Description): More precise description.
36544 2011-10-27  Bruno Haible  <bruno@clisp.org>
36546         Update documentation regarding 'largefile' module.
36547         * doc/posix-functions/fstat.texi: Tweak wording.
36548         * doc/posix-functions/opendir.texi: Mention that the module fixes the
36549         problems with huge directories and/or small ino_t types.
36550         * doc/posix-functions/readdir.texi: Likewise.
36551         * doc/posix-functions/rewinddir.texi: Likewise.
36553 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
36555         maint.mk: don't maintain a second build-aux variable.
36556         * maint.mk (build_aux): Removed.  The maintainer-makefile module
36557         depends on GNUmakefile, which already maintains a cfg.mk
36558         overridable $(_build-aux) for projects with a non-standard
36559         build-aux directory location, although without the $(srcdir)
36560         prefix.  Use that variable consistently instead of introducing a
36561         second one.  Adjust all call sites.
36563 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
36565         Add stdalign module and use it in other modules.
36566         This is based on a previous proposal by Bruno Haible
36567         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
36569         stdalign: new module
36570         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
36571         * modules/stdalign: New files.
36572         * MODULES.html.sh (c1x_core_properties): Add stdalign.
36573         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
36575         stdalign-tests: new module
36576         * modules/stdalign-tests, tests/test-stdalign.c: New files.
36578         argp: use stdalign
36579         * lib/argp-parse.c: Include <stdalign.h>.
36580         (alignof): Remove.
36581         * modules/argp (Depends-on): Add stdalign.
36583         crypto libraries: use stdalign
36584         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
36585         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
36586         Do not include <stdlib.h> twice, in md4.c.
36587         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
36588         because we are accessing a pointer's bit-pattern, not a size.
36589         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
36590         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
36591         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
36592         * modules/crypto/sha512: Likewise.
36594         sys_socket: use stdalign, not alignof
36595         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
36596         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
36598 2011-10-27  Bruno Haible  <bruno@clisp.org>
36600         raise test: Avoid a test failure on Linux/MIPS.
36601         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
36602         because 99 is a valid signal on Linux/MIPS.
36604 2011-10-27  Bruno Haible  <bruno@clisp.org>
36606         nonblocking tests: Fix test failure on Linux/MIPS.
36607         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
36608         Set to 270000.
36610 2011-10-27  Bruno Haible  <bruno@clisp.org>
36612         utimensat: Work around problem on Linux/hppa.
36613         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
36614         values.
36615         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
36617 2011-10-25  Jim Meyering  <meyering@redhat.com>
36619         maint.mk: fix a bug in sc_prohibit_stddef_without_use
36620         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
36621         after symbols like NULL, size_t, etc.
36622         Reported by Alfred M. Szmidt.
36624         maint.mk: exempt ENODATA from a syntax-check rule
36625         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
36626         from the sc_prohibit_always-defined_macros syntax-check rule.
36627         Add a comment.  See this for more details:
36628         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
36630 2011-10-23  Jim Meyering  <meyering@redhat.com>
36632         fts: close parent dir FD before returning from post-traversal fts_read
36633         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
36634         unlink A, even though an FD open on A remained.  This is suboptimal
36635         (holding a file descriptor open longer than needed), but otherwise not
36636         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
36637         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
36638         that represents a real problem: it causes the removal of A to fail
36639         with e.g., "rm: cannot remove `A': Device or resource busy"
36641         fts visits each directory twice and keeps a cache (fts_fd_ring) of
36642         directory file descriptors.  After completing the final, FTS_DP,
36643         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
36644         cache, but then proceeded to add a new FD to it via the subsequent
36645         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
36646         final file descriptor would be closed only via fts_close's call to
36647         fd_ring_clear.  Now, it is usually closed earlier, via the final
36648         FTS_DP-returning fts_read call.
36649         * lib/fts.c (restore_initial_cwd): New function, converted from
36650         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
36651         Update callers.
36652         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
36653         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
36655 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
36656             Bruno Haible  <bruno@clisp.org>
36657             Jim Meyering  <jim@meyering.net>
36659         readme-release: improve safety of release prep instructions.
36660         * README-release: Don't git pull all branches when only master
36661         is needed for the release process.
36662         Run make maintainer-clean before changing trees and merging.
36663         Don't try to run ./configure right after git pull in case files
36664         that influence the bootstrap process have changed, move the
36665         ./configure step to after running ./bootstrap.
36666         Don't bootstrap "one last time"... it's the first time!
36668 2011-10-22  Bruno Haible  <bruno@clisp.org>
36670         errno, strerror-override: Support for MSVC 10.
36671         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
36672         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
36673         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
36674         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
36675         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
36676         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
36677         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
36678         Assign values compatible with MSVC 10.
36679         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
36680         New macros.
36681         (GNULIB_defined_EWINSOCK): New macro.
36682         * lib/strerror-override.c (strerror_override): Update accordingly.
36683         * lib/strerror-override.h: Likewise.
36684         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
36685         longer equal to the corresponding errno value.
36686         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
36688 2011-10-22  Bruno Haible  <bruno@clisp.org>
36690         perror: Recognize when test program crashes.
36691         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
36692         strerror, set gl_cv_func_perror_works to no.
36693         Reported by Daniel Richard G. <skunk@iskunk.org>.
36695         perror: Fix indentation.
36696         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
36698 2011-10-22  Bruno Haible  <bruno@clisp.org>
36700         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
36701         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
36702         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
36703         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
36704         functions, not as a macro.
36705         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
36706         macros.
36707         (isfinite, isinf, isnan, signbit): Check overloaded functions and
36708         absence of macro.
36709         Suggested by Eric Blake.
36710         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
36712 2011-10-21  Bruno Haible  <bruno@clisp.org>
36714         relocatable-prog-wrapper: Don't leave object files behind.
36715         * build-aux/install-reloc: Re-synchronize list of .o files to be
36716         removed with list of compilation units.
36718 2011-10-20  Bruno Haible  <bruno@clisp.org>
36720         openpty, posix_openpt: Remove code duplication.
36721         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
36722         * lib/openpty.c: Include <stdlib.h>.
36723         (openpty): Use posix_openpt on all platforms except IRIX.
36724         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
36726 2011-10-20  Bruno Haible  <bruno@clisp.org>
36728         unlockpt: Detect invalid argument.
36729         * lib/unlockpt.c: Include <fcntl.h>.
36730         (unlockpt): Check whether fd is valid, using fcntl().
36731         * modules/unlockpt (Depends-on): Add fcntl-h.
36733 2011-10-20  Bruno Haible  <bruno@clisp.org>
36735         openpty: Avoid compilation error on AIX 6.1.
36736         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
36738 2011-10-20  Bruno Haible  <bruno@clisp.org>
36740         posix_openpt: Support for OpenBSD.
36741         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
36742         (posix_openpt) [OpenBSD]: New code.
36743         * lib/grantpt.c: Include <fcntl.h>.
36744         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
36745         * modules/grantpt (Depends-on): Add fcntl-h.
36747 2011-10-20  Bruno Haible  <bruno@clisp.org>
36749         posix_openpt test: Coding style.
36750         * tests/test-posix_openpt.c: Use GNU coding style.
36752 2011-10-20  Bruno Haible  <bruno@clisp.org>
36754         grantpt: Support --avoid=pt_chown.
36755         * modules/grantpt (Files): Add lib/pty-private.h.
36757 2011-10-20  Bruno Haible  <bruno@clisp.org>
36759         posix_openpt: Fix autoconf macro.
36760         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
36761         unneeded check for _getpty.
36763 2011-10-20  Bruno Haible  <bruno@clisp.org>
36765         openpty: Update comments.
36766         * lib/openpty.c: Add comments about Minix.
36768 2011-10-19  Eric Blake  <eblake@redhat.com>
36770         openpty: relax license
36771         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
36773         pt_chown: use configmake to simplify build
36774         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
36776         ptsname and others: relax license
36777         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
36778         * modules/unlockpt (License): Likewise.
36779         * modules/pt_chown (License): Likewise.
36780         * modules/ptsname (License): Likewise.
36781         * modules/ttyname_r (License): Likewise.
36783 2011-10-19  Jim Meyering  <meyering@redhat.com>
36785         posix_openpt: remove spurious #endif
36786         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
36788 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
36790         maint.mk: Respect $(build_aux) in web-manual rule.
36791         * top/maint.mk (web-manual): Find gen-announce script in user's
36792         $(build_aux) directory instead of hard-coding 'build-aux'.
36794 2011-10-19  Bruno Haible  <bruno@clisp.org>
36796         posix_openpt: Fix compilation error.
36797         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
36798         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
36799         Mention the openpty module as an alternative.
36801 2011-10-19  Bruno Haible  <bruno@clisp.org>
36803         Support for old NeXTstep 3.3 frexp().
36804         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
36805         execution time of the test to 5 seconds.
36806         Reported by Daniel Richard G. <skunk@iskunk.org>.
36808 2011-10-19  Bruno Haible  <bruno@clisp.org>
36810         Support for old NeXTstep 3.3 sed.
36811         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
36812         part, use /.../, not \|...|. Escape periods in the header file name.
36813         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
36814         Reported by Daniel Richard G. <skunk@iskunk.org>.
36816 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
36818         Support for old NeXTstep 3.3 gcc.
36819         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
36820         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
36821         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
36822         * lib/spawn.in.h (_Restrict_arr_): Likewise.
36823         * lib/regex.h (_Restrict_arr_): Likewise.
36824         * lib/regex_internal.h (re_token_t): Likewise.
36825         * lib/regexec.c (check_node_accept_bytes): Likewise.
36826         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
36828 2011-10-18  Eric Blake  <eblake@redhat.com>
36830         posix_openpt: new module
36831         * modules/posix_openpt: New module.
36832         * m4/posix_openpt.m4: New file.
36833         * lib/posix_openpt.c: Likewise.
36834         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
36835         (gl_STDLIB_H_DEFAULTS): Set defaults.
36836         * modules/stdlib (Makefile.am): Substitute macros.
36837         * lib/stdlib.in.h (posix_openpt): Declare.
36838         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
36839         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
36840         * modules/posix_openpt-tests: New test module.
36841         * tests/test-posix_openpt.c: New test.
36843 2011-10-15  Bruno Haible  <bruno@clisp.org>
36845         xstrtoll: Fix compilation failure.
36846         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
36847         from lib/strtol.c.
36848         * doc/posix-headers/limits.texi: Mention missing numerical limits on
36849         some platforms.
36850         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36852 2011-10-15  Bruno Haible  <bruno@clisp.org>
36854         vasnprintf: Optimize bit search operation.
36855         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
36856         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
36857         gl_DOUBLE_EXPONENT_LOCATION.
36858         * modules/vasnprintf (Files): Add m4/exponentd.m4.
36859         * modules/unistdio/u8-vasnprintf (Files): Likewise.
36860         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
36861         * modules/unistdio/u16-vasnprintf (Files): Likewise.
36862         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
36863         * modules/unistdio/u32-vasnprintf (Files): Likewise.
36864         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
36865         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
36866         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
36868 2011-10-15  Bruno Haible  <bruno@clisp.org>
36870         vasnprintf: Fix comments.
36871         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
36873 2011-10-14  Bruno Haible  <bruno@clisp.org>
36875         Tests for module 'integer_length_ll'.
36876         * modules/integer_length_ll-tests: New file.
36877         * tests/test-integer_length_ll.c: New file.
36879         New module 'integer_length_ll'.
36880         * lib/integer_length_ll.c: New file.
36881         * modules/integer_length_ll: New file.
36883 2011-10-14  Bruno Haible  <bruno@clisp.org>
36885         Tests for module 'integer_length_l'.
36886         * modules/integer_length_l-tests: New file.
36887         * tests/test-integer_length_l.c: New file.
36889         New module 'integer_length_l'.
36890         * lib/integer_length_l.c: New file.
36891         * modules/integer_length_l: New file.
36893 2011-10-14  Bruno Haible  <bruno@clisp.org>
36895         Tests for module 'integer_length'.
36896         * modules/integer_length-tests: New file.
36897         * tests/test-integer_length.c: New file.
36899         New module 'integer_length'.
36900         * lib/integer_length.h: New file.
36901         * lib/integer_length.c: New file.
36902         * modules/integer_length: New file.
36904 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
36906         popen: Fix dependency conditions.
36907         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
36909 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
36911         perror: Fix autoconf test.
36912         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
36913         <stdlib.h> and <string.h>.
36915 2011-10-14  Bruno Haible  <bruno@clisp.org>
36917         ffsl: Optimize on 64-bit platforms.
36918         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
36919         unrolling.
36921 2011-10-13  Bruno Haible  <bruno@clisp.org>
36923         ffsl: Optimize on 32-bit platforms.
36924         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
36925         use ffs() without a loop.
36927         ffsl, ffsll: Optimize for GCC.
36928         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
36929         * lib/ffsl.c (GCC_BUILTIN): New macro.
36930         * lib/ffsll.c (GCC_BUILTIN): Likewise.
36932 2011-10-13  Bruno Haible  <bruno@clisp.org>
36934         ffs, bcopy, memset: Support symbol renaming via config.h.
36935         * lib/ffs.c: Include <config.h>.
36936         * lib/bcopy.c: Likewise.
36937         * lib/memset.c: Likewise.
36939 2011-10-10  Bruno Haible  <bruno@clisp.org>
36941         atanl: Simplify for platforms where 'long double' == 'double'.
36942         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
36943         alternative implementation.
36944         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
36945         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
36946         * modules/atanl (Depends-on): Add atan. Update conditions.
36948 2011-10-10  Bruno Haible  <bruno@clisp.org>
36950         acosl: Simplify for platforms where 'long double' == 'double'.
36951         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
36952         alternative implementation.
36953         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
36954         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
36955         * modules/acosl (Depends-on): Add acos. Update conditions.
36957 2011-10-10  Bruno Haible  <bruno@clisp.org>
36959         asinl: Simplify for platforms where 'long double' == 'double'.
36960         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
36961         alternative implementation.
36962         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
36963         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
36964         * modules/asinl (Depends-on): Add asin. Update conditions.
36966 2011-10-10  Bruno Haible  <bruno@clisp.org>
36968         tanl: Simplify for platforms where 'long double' == 'double'.
36969         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
36970         implementation.
36971         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
36972         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
36973         * modules/tanl (Depends-on): Add tan. Update conditions.
36974         (configure.ac): Don't compile trigl.c if
36975         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
36977 2011-10-10  Bruno Haible  <bruno@clisp.org>
36979         cosl: Simplify for platforms where 'long double' == 'double'.
36980         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
36981         implementation.
36982         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
36983         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
36984         * modules/cosl (Depends-on): Add cos. Update conditions.
36985         (configure.ac): Don't compile sincosl.c and trigl.c if
36986         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
36988 2011-10-10  Bruno Haible  <bruno@clisp.org>
36990         sinl: Simplify for platforms where 'long double' == 'double'.
36991         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
36992         implementation.
36993         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
36994         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
36995         * modules/sinl (Depends-on): Add sin. Update conditions.
36996         (configure.ac): Don't compile sincosl.c and trigl.c if
36997         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
36999 2011-10-10  Bruno Haible  <bruno@clisp.org>
37001         logl: Simplify for platforms where 'long double' == 'double'.
37002         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
37003         implementation.
37004         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37005         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37006         * modules/logl (Depends-on): Add log. Update conditions.
37008 2011-10-10  Bruno Haible  <bruno@clisp.org>
37010         expl: Simplify for platforms where 'long double' == 'double'.
37011         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
37012         implementation.
37013         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37014         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37015         * modules/expl (Depends-on): Add exp. Update conditions.
37017 2011-10-10  Bruno Haible  <bruno@clisp.org>
37019         sqrtl: Simplify for platforms where 'long double' == 'double'.
37020         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
37021         alternative implementation.
37022         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37023         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37024         * modules/sqrtl (Depends-on): Update conditions.
37026 2011-10-10  Bruno Haible  <bruno@clisp.org>
37028         ldexpl: Simplify for platforms where 'long double' == 'double'.
37029         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
37030         alternative implementation.
37031         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37032         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37033         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
37035 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
37037         ffsll: set correct witness
37038         * modules/ffsll (configure.ac): Fix typo.
37040 2011-10-10  Bruno Haible  <bruno@clisp.org>
37042         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
37043         * lib/printf-frexpl.c: Include <config.h>.
37044         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
37045         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
37046         second time.
37047         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
37048         gl_LONG_DOUBLE_VS_DOUBLE.
37049         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
37050         conditions.
37052 2011-10-10  Bruno Haible  <bruno@clisp.org>
37054         frexpl: Simplify for platforms where 'long double' == 'double'.
37055         * lib/frexpl.c: Include <config.h>.
37056         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
37057         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
37058         time.
37059         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37060         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37061         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
37062         * modules/frexpl (Depends-on): Add frexp. Update conditions.
37063         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
37064         conditions.
37066 2011-10-10  Jim Meyering  <meyering@redhat.com>
37068         test-renameat: don't leave behind a temporary file
37069         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
37070           ERROR: files left in build directory after distclean:
37071           ./gltests/test-renameat.too
37072           make[1]: *** [distcleancheck] Error 1
37073         Reported by Tom G. Christensen.
37075 2011-10-09  Bruno Haible  <bruno@clisp.org>
37077         rint: Determine RINT_LIBM correctly on AIX 7.
37078         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
37079         directly, not only through a function pointer. Also accept an optional
37080         4th argument with extra code.
37081         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
37082         rintf() call by gcc when optimizing.
37084         mathfunc.m4: Refactor.
37085         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
37086         m4 variable.
37088 2011-10-09  Bruno Haible  <bruno@clisp.org>
37090         rintl: Simplify for platforms where 'long double' == 'double'.
37091         * lib/rintl.c: Include <config.h>.
37092         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
37093         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
37094         time.
37095         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37096         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37097         * modules/rintl (Depends-on): Add rint. Update conditions.
37099 2011-10-09  Bruno Haible  <bruno@clisp.org>
37101         roundl: Simplify for platforms where 'long double' == 'double'.
37102         * lib/roundl.c: Include <config.h>.
37103         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
37104         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
37105         time.
37106         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37107         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37108         * modules/roundl (Depends-on): Add round. Update conditions.
37110 2011-10-09  Bruno Haible  <bruno@clisp.org>
37112         truncl: Simplify for platforms where 'long double' == 'double'.
37113         * lib/truncl.c: Include <config.h>.
37114         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
37115         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
37116         time.
37117         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37118         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37119         * modules/truncl (Depends-on): Add trunc. Update conditions.
37121 2011-10-09  Bruno Haible  <bruno@clisp.org>
37123         ceill: Simplify for platforms where 'long double' == 'double'.
37124         * lib/ceill.c: Include <config.h>.
37125         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
37126         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
37127         time.
37128         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37129         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37130         * modules/ceill (Depends-on): Add ceil. Update conditions.
37132 2011-10-09  Bruno Haible  <bruno@clisp.org>
37134         floorl: Simplify for platforms where 'long double' == 'double'.
37135         * lib/floorl.c: Include <config.h>.
37136         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
37137         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
37138         time.
37139         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37140         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37141         * modules/floorl (Depends-on): Add floor. Update conditions.
37143 2011-10-09  Bruno Haible  <bruno@clisp.org>
37145         rint: Fix ordering constraints.
37146         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
37147         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
37148         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
37150 2011-10-09  Bruno Haible  <bruno@clisp.org>
37152         copysignl: Simplify for platforms where 'long double' == 'double'.
37153         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
37154         alternative.
37155         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37156         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
37157         * modules/copysignl (Depends-on): Add copysign. Update conditions.
37159 2011-10-09  Bruno Haible  <bruno@clisp.org>
37161         Tests for module 'rintl'.
37162         * modules/rintl-tests: New file.
37163         * tests/test-rintl.c: New file.
37165         New module 'rintl'.
37166         * lib/math.in.h (rintl): New declaration.
37167         * lib/rintl.c: New file.
37168         * m4/rintl.m4: New file.
37169         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
37170         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
37171         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
37172         * modules/rintl: New file.
37173         * tests/test-math-c++.cc: Check the declaration of rintl.
37174         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
37175         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
37176         * doc/posix-functions/rintl.texi: Mention the new module.
37178 2011-10-09  Bruno Haible  <bruno@clisp.org>
37180         Tests for module 'rintf'.
37181         * modules/rintf-tests: New file.
37182         * tests/test-rintf.c: New file.
37184         New module 'rintf'.
37185         * lib/math.in.h (rintf): New declaration.
37186         * lib/rintf.c: New file.
37187         * m4/rintf.m4: New file.
37188         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
37189         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
37190         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
37191         * modules/rintf: New file.
37192         * tests/test-math-c++.cc: Check the declaration of rintf.
37193         * doc/posix-functions/rintf.texi: Mention the new module.
37195 2011-10-09  Bruno Haible  <bruno@clisp.org>
37197         rint: Support for MSVC.
37198         * lib/math.in.h (rint): New declaration.
37199         * lib/rint.c: New file.
37200         * m4/rint.m4: New file.
37201         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
37202         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
37203         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
37204         * modules/rint (Description): Fix.
37205         (Files): Add lib/rint.c, m4/rint.m4.
37206         (Depends-on): Add math.
37207         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
37208         gl_MATH_MODULE_INDICATOR.
37209         * tests/test-math-c++.cc: Check the declaration of rint.
37210         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
37211         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
37212         * doc/posix-functions/rint.texi: Mention the replacement provided by
37213         the module.
37215         rint tests: More tests.
37216         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
37217         minus-zero.h, infinity.h, nan.h.
37218         (main): Skip the test if the current rounding mode is not standard. Add
37219         tests for negative numbers, minus zero, infinity, NaN.
37220         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
37221         tests/nan.h.
37222         (Depends-on): Add isnand-nolibm.
37224 2011-10-09  Bruno Haible  <bruno@clisp.org>
37226         Tests for module 'copysignl'.
37227         * modules/copysignl-tests: New file.
37228         * tests/test-copysignl.c: New file.
37230         New module 'copysignl'.
37231         * lib/math.in.h (copysignl): New declaration.
37232         * lib/copysignl.c: New file.
37233         * m4/copysignl.m4: New file.
37234         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
37235         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
37236         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
37237         HAVE_COPYSIGNL.
37238         * modules/copysignl: New file.
37239         * tests/test-math-c++.cc: Check the declaration of copysignl.
37240         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
37241         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
37242         * doc/posix-functions/copysignl.texi: Mention the new module.
37244 2011-10-09  Bruno Haible  <bruno@clisp.org>
37246         Tests for module 'copysignf'.
37247         * modules/copysignf-tests: New file.
37248         * tests/test-copysignf.c: New file.
37250         New module 'copysignf'.
37251         * lib/math.in.h (copysignf): New declaration.
37252         * lib/copysignf.c: New file.
37253         * m4/copysignf.m4: New file.
37254         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
37255         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
37256         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
37257         HAVE_COPYSIGNF.
37258         * modules/copysignf: New file.
37259         * tests/test-math-c++.cc: Check the declaration of copysignf.
37260         * doc/posix-functions/copysignf.texi: Mention the new module.
37262 2011-10-09  Bruno Haible  <bruno@clisp.org>
37264         Ensure that HAVE_* variables are set to 1 before they are set to 0.
37265         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
37266         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
37267         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
37268         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
37269         gl_SIGNAL_H_DEFAULTS.
37271 2011-10-09  Bruno Haible  <bruno@clisp.org>
37273         poll: Make macro safer.
37274         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
37275         ac_cv_header_poll_h is not set.
37277 2011-10-09  Bruno Haible  <bruno@clisp.org>
37279         copysign: Provide replacement.
37280         * lib/math.in.h (copysign): New declaration.
37281         * lib/copysign.c: New file.
37282         * m4/copysign.m4: New file.
37283         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
37284         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
37285         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
37286         HAVE_COPYSIGN.
37287         * modules/copysign (Description): Clarify.
37288         (Files): Add lib/copysign.c, m4/copysign.m4.
37289         (Depends-on): Add math, signbit.
37290         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
37291         gl_MATH_MODULE_INDICATOR.
37292         * tests/test-math-c++.cc: Check the declaration of copysign.
37293         * doc/posix-functions/copysign.texi: Mention the effects of the module
37294         on Minix and MSVC.
37296 2011-10-09  Bruno Haible  <bruno@clisp.org>
37298         isinf: Ensure macro on AIX 5.1.
37299         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
37300         macro.
37301         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
37303 2011-10-09  Bruno Haible  <bruno@clisp.org>
37305         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
37306         * modules/snprintf-posix-tests (configure.ac): Require
37307         gl_LONG_DOUBLE_VS_DOUBLE.
37308         * modules/sprintf-posix-tests (configure.ac): Likewise.
37309         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
37310         * modules/vasprintf-posix-tests (configure.ac): Likewise.
37311         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
37312         * modules/vsprintf-posix-tests (configure.ac): Likewise.
37313         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
37314         tests on platforms where 'long double' is the same as 'double'.
37315         * tests/test-sprintf-posix.h (test_function): Likewise.
37316         * tests/test-vasnprintf-posix.c (test_function): Likewise.
37317         * tests/test-vasprintf-posix.c (test_function): Likewise.
37319         *printf: Fix for platforms where 'long double' == 'double'.
37320         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
37321         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
37322         * modules/dprintf-posix (Files): Add m4/math_h.m4.
37323         * modules/fprintf-posix (Files): Likewise.
37324         * modules/obstack-printf-posix (Files): Likewise.
37325         * modules/snprintf-posix (Files): Likewise.
37326         * modules/sprintf-posix (Files): Likewise.
37327         * modules/vasnprintf (Files): Likewise.
37328         * modules/vasnprintf-posix (Files): Likewise.
37329         * modules/vasprintf-posix (Files): Likewise.
37330         * modules/vdprintf-posix (Files): Likewise.
37331         * modules/vfprintf-posix (Files): Likewise.
37332         * modules/vsnprintf-posix (Files): Likewise.
37333         * modules/vsprintf-posix (Files): Likewise.
37334         * modules/unistdio/u8-vasnprintf (Files): Likewise.
37335         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
37336         * modules/unistdio/u16-vasnprintf (Files): Likewise.
37337         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
37338         * modules/unistdio/u32-vasnprintf (Files): Likewise.
37339         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
37340         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
37342         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
37343         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
37344         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
37345         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
37346         'long double'.
37347         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
37349         isinf: Fix for platforms where 'long double' == 'double'.
37350         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
37351         Don't blindly assume 80-bit 'long double'.
37353         isfinite: Fix for platforms where 'long double' == 'double'.
37354         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
37355         Don't blindly assume 80-bit 'long double'.
37357         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
37358         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
37359         * modules/isfinite-tests (configure.ac): Require
37360         gl_LONG_DOUBLE_VS_DOUBLE.
37361         * modules/isinf-tests (configure.ac): Likewise.
37362         * modules/isnan-tests (configure.ac): Likewise.
37363         * modules/isnanl-tests (configure.ac): Likewise.
37364         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
37365         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
37366         tests on platforms where 'long double' is the same as 'double'.
37367         * tests/test-isinf.c (test_isinfl): Likewise.
37368         * tests/test-isnan.c (test_long_double): Likewise.
37369         * tests/test-isnanl.h (main): Likewise.
37371 2011-10-08  Bruno Haible  <bruno@clisp.org>
37373         Tests for module 'tanhf'.
37374         * modules/tanhf-tests: New file.
37375         * tests/test-tanhf.c: New file.
37377         New module 'tanhf'.
37378         * lib/math.in.h (tanhf): New declaration.
37379         * lib/tanhf.c: New file.
37380         * m4/tanhf.m4: New file.
37381         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
37382         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
37383         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
37384         * modules/tanhf: New file.
37385         * tests/test-math-c++.cc: Check the declaration of tanhf.
37386         * doc/posix-functions/tanhf.texi: Mention the new module.
37388         tanh: Use a .m4 file.
37389         * m4/tanh.m4: New file.
37390         * modules/tanh (Files): Add it.
37391         (configure.ac): Just invoke gl_FUNC_TANH.
37393 2011-10-08  Bruno Haible  <bruno@clisp.org>
37395         Tests for module 'coshf'.
37396         * modules/coshf-tests: New file.
37397         * tests/test-coshf.c: New file.
37399         New module 'coshf'.
37400         * lib/math.in.h (coshf): New declaration.
37401         * lib/coshf.c: New file.
37402         * m4/coshf.m4: New file.
37403         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
37404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
37405         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
37406         * modules/coshf: New file.
37407         * tests/test-math-c++.cc: Check the declaration of coshf.
37408         * doc/posix-functions/coshf.texi: Mention the new module.
37410         cosh: Use a .m4 file.
37411         * m4/cosh.m4: New file.
37412         * modules/cosh (Files): Add it.
37413         (configure.ac): Just invoke gl_FUNC_COSH.
37415 2011-10-08  Bruno Haible  <bruno@clisp.org>
37417         Tests for module 'sinhf'.
37418         * modules/sinhf-tests: New file.
37419         * tests/test-sinhf.c: New file.
37421         New module 'sinhf'.
37422         * lib/math.in.h (sinhf): New declaration.
37423         * lib/sinhf.c: New file.
37424         * m4/sinhf.m4: New file.
37425         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
37426         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
37427         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
37428         * modules/sinhf: New file.
37429         * tests/test-math-c++.cc: Check the declaration of sinhf.
37430         * doc/posix-functions/sinhf.texi: Mention the new module.
37432         sinh: Use a .m4 file.
37433         * m4/sinh.m4: New file.
37434         * modules/sinh (Files): Add it.
37435         (configure.ac): Just invoke gl_FUNC_SINH.
37437 2011-10-08  Bruno Haible  <bruno@clisp.org>
37439         Tests for module 'atan2f'.
37440         * modules/atan2f-tests: New file.
37441         * tests/test-atan2f.c: New file.
37443         New module 'atan2f'.
37444         * lib/math.in.h (atan2f): New declaration.
37445         * lib/atan2f.c: New file.
37446         * m4/atan2f.m4: New file.
37447         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
37448         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
37449         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
37450         * modules/atan2f: New file.
37451         * tests/test-math-c++.cc: Check the declaration of atan2f.
37452         * doc/posix-functions/atan2f.texi: Mention the new module.
37454         atan2: Use a .m4 file.
37455         * m4/atan2.m4: New file.
37456         * modules/atan2 (Files): Add it.
37457         (configure.ac): Just invoke gl_FUNC_ATAN2.
37459 2011-10-08  Bruno Haible  <bruno@clisp.org>
37461         Tests for module 'atanf'.
37462         * modules/atanf-tests: New file.
37463         * tests/test-atanf.c: New file.
37465         New module 'atanf'.
37466         * lib/math.in.h (atanf): New declaration.
37467         * lib/atanf.c: New file.
37468         * m4/atanf.m4: New file.
37469         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
37470         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
37471         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
37472         * modules/atanf: New file.
37473         * tests/test-math-c++.cc: Check the declaration of atanf.
37474         * doc/posix-functions/atanf.texi: Mention the new module.
37476         atan: Use a .m4 file.
37477         * m4/atan.m4: New file.
37478         * modules/atan (Files): Add it.
37479         (configure.ac): Just invoke gl_FUNC_ATAN.
37481 2011-10-08  Bruno Haible  <bruno@clisp.org>
37483         Tests for module 'acosf'.
37484         * modules/acosf-tests: New file.
37485         * tests/test-acosf.c: New file.
37487         New module 'acosf'.
37488         * lib/math.in.h (acosf): New declaration.
37489         * lib/acosf.c: New file.
37490         * m4/acosf.m4: New file.
37491         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
37492         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
37493         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
37494         * modules/acosf: New file.
37495         * tests/test-math-c++.cc: Check the declaration of acosf.
37496         * doc/posix-functions/acosf.texi: Mention the new module.
37498         acos: Use a .m4 file.
37499         * m4/acos.m4: New file.
37500         * modules/acos (Files): Add it.
37501         (configure.ac): Just invoke gl_FUNC_ACOS.
37503 2011-10-08  Bruno Haible  <bruno@clisp.org>
37505         Tests for module 'asinf'.
37506         * modules/asinf-tests: New file.
37507         * tests/test-asinf.c: New file.
37509         New module 'asinf'.
37510         * lib/math.in.h (asinf): New declaration.
37511         * lib/asinf.c: New file.
37512         * m4/asinf.m4: New file.
37513         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
37514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
37515         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
37516         * modules/asinf: New file.
37517         * tests/test-math-c++.cc: Check the declaration of asinf.
37518         * doc/posix-functions/asinf.texi: Mention the new module.
37520         asin: Use a .m4 file.
37521         * m4/asin.m4: New file.
37522         * modules/asin (Files): Add it.
37523         (configure.ac): Just invoke gl_FUNC_ASIN.
37525 2011-10-08  Bruno Haible  <bruno@clisp.org>
37527         Tests for module 'tanf'.
37528         * modules/tanf-tests: New file.
37529         * tests/test-tanf.c: New file.
37531         New module 'tanf'.
37532         * lib/math.in.h (tanf): New declaration.
37533         * lib/tanf.c: New file.
37534         * m4/tanf.m4: New file.
37535         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
37536         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
37537         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
37538         * modules/tanf: New file.
37539         * tests/test-math-c++.cc: Check the declaration of tanf.
37540         * doc/posix-functions/tanf.texi: Mention the new module.
37542         tan: Use a .m4 file.
37543         * m4/tan.m4: New file.
37544         * modules/tan (Files): Add it.
37545         (configure.ac): Just invoke gl_FUNC_TAN.
37547 2011-10-08  Bruno Haible  <bruno@clisp.org>
37549         Tests for module 'cosf'.
37550         * modules/cosf-tests: New file.
37551         * tests/test-cosf.c: New file.
37553         New module 'cosf'.
37554         * lib/math.in.h (cosf): New declaration.
37555         * lib/cosf.c: New file.
37556         * m4/cosf.m4: New file.
37557         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
37558         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
37559         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
37560         * modules/cosf: New file.
37561         * tests/test-math-c++.cc: Check the declaration of cosf.
37562         * doc/posix-functions/cosf.texi: Mention the new module.
37564         cos: Use a .m4 file.
37565         * m4/cos.m4: New file.
37566         * modules/cos (Files): Add it.
37567         (configure.ac): Just invoke gl_FUNC_COS.
37569 2011-10-08  Bruno Haible  <bruno@clisp.org>
37571         Tests for module 'sinf'.
37572         * modules/sinf-tests: New file.
37573         * tests/test-sinf.c: New file.
37575         New module 'sinf'.
37576         * lib/math.in.h (sinf): New declaration.
37577         * lib/sinf.c: New file.
37578         * m4/sinf.m4: New file.
37579         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
37580         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
37581         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
37582         * modules/sinf: New file.
37583         * tests/test-math-c++.cc: Check the declaration of sinf.
37584         * doc/posix-functions/sinf.texi: Mention the new module.
37586         sin: Use a .m4 file.
37587         * m4/sin.m4: New file.
37588         * modules/sin (Files): Add it.
37589         (configure.ac): Just invoke gl_FUNC_SIN.
37591 2011-10-08  Bruno Haible  <bruno@clisp.org>
37593         Tests for module 'powf'.
37594         * modules/powf-tests: New file.
37595         * tests/test-powf.c: New file.
37597         New module 'powf'.
37598         * lib/math.in.h (powf): New declaration.
37599         * lib/powf.c: New file.
37600         * m4/powf.m4: New file.
37601         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
37602         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
37603         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
37604         * modules/powf: New file.
37605         * tests/test-math-c++.cc: Check the declaration of powf.
37606         * doc/posix-functions/powf.texi: Mention the new module.
37608         pow: Use a .m4 file.
37609         * m4/pow.m4: New file.
37610         * modules/pow (Files): Add it.
37611         (configure.ac): Just invoke gl_FUNC_POW.
37613 2011-10-08  Bruno Haible  <bruno@clisp.org>
37615         Tests for module 'log10f'.
37616         * modules/log10f-tests: New file.
37617         * tests/test-log10f.c: New file.
37619         New module 'log10f'.
37620         * lib/math.in.h (log10f): New declaration.
37621         * lib/log10f.c: New file.
37622         * m4/log10f.m4: New file.
37623         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
37624         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
37625         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
37626         * modules/log10f: New file.
37627         * tests/test-math-c++.cc: Check the declaration of log10f.
37628         * doc/posix-functions/log10f.texi: Mention the new module.
37630         log10: Use a .m4 file.
37631         * m4/log10.m4: New file.
37632         * modules/log10 (Files): Add it.
37633         (configure.ac): Just invoke gl_FUNC_LOG10.
37635 2011-10-08  Bruno Haible  <bruno@clisp.org>
37637         Tests for module 'logf'.
37638         * modules/logf-tests: New file.
37639         * tests/test-logf.c: New file.
37641         New module 'logf'.
37642         * lib/math.in.h (logf): New declaration.
37643         * lib/logf.c: New file.
37644         * m4/logf.m4: New file.
37645         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
37646         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
37647         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
37648         * modules/logf: New file.
37649         * tests/test-math-c++.cc: Check the declaration of logf.
37650         * doc/posix-functions/logf.texi: Mention the new module.
37652         log: Use a .m4 file.
37653         * m4/log.m4: New file.
37654         * modules/log (Files): Add it.
37655         (configure.ac): Just invoke gl_FUNC_LOG.
37657 2011-10-08  Bruno Haible  <bruno@clisp.org>
37659         Tests for module 'expf'.
37660         * modules/expf-tests: New file.
37661         * tests/test-expf.c: New file.
37663         New module 'expf'.
37664         * lib/math.in.h (expf): New declaration.
37665         * lib/expf.c: New file.
37666         * m4/expf.m4: New file.
37667         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
37668         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
37669         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
37670         * modules/expf: New file.
37671         * tests/test-math-c++.cc: Check the declaration of expf.
37672         * doc/posix-functions/expf.texi: Mention the new module.
37674         exp: Use a .m4 file.
37675         * m4/exp.m4: New file.
37676         * modules/exp (Files): Add it.
37677         (configure.ac): Just invoke gl_FUNC_EXP.
37679 2011-10-08  Bruno Haible  <bruno@clisp.org>
37681         Tests for module 'sqrtf'.
37682         * modules/sqrtf-tests: New file.
37683         * tests/test-sqrtf.c: New file.
37685         New module 'sqrtf'.
37686         * lib/math.in.h (sqrtf): New declaration.
37687         * lib/sqrtf.c: New file.
37688         * m4/sqrtf.m4: New file.
37689         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
37690         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
37691         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
37692         * modules/sqrtf: New file.
37693         * tests/test-math-c++.cc: Check the declaration of sqrtf.
37694         * doc/posix-functions/sqrtf.texi: Mention the new module.
37696 2011-10-08  Bruno Haible  <bruno@clisp.org>
37698         Tests: Avoid link failures w.r.t. libintl.
37699         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
37700         $(LIBINTL).
37701         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
37702         $(LIBINTL).
37703         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
37704         against $(LIBINTL).
37705         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
37706         $(LIBINTL).
37707         * modules/openat-tests (Makefile.am): Link test-fchmodat against
37708         $(LIBINTL).
37709         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
37711 2011-10-08  Bruno Haible  <bruno@clisp.org>
37713         pow tests: Defeat compiler optimizations.
37714         * tests/test-pow.c (main): Assign arguments to x and y before use.
37716 2011-10-08  Bruno Haible  <bruno@clisp.org>
37718         gnulib-tool: Improve last commit.
37719         * gnulib-tool (func_modules_transitive_closure): Simplify code.
37720         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
37721         ignore dependencies that are not among the modules list.
37723 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
37725         gnulib-tool: don't follow dependencies to avoided modules
37726         This fixes a bug that is related to the previous one.
37727         * gnulib-tool (func_modules_transitive_closure)
37728         (func_emit_autoconf_snippets):
37729         Check whether a dependency is acceptable before using it.
37730         (--extract-dependencies): Report an error if --avoid is also used,
37731         since this combination of options is not yet supported.
37733         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
37734         Problem reported by Peter Dyballa in
37735         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
37736         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
37737         when echoing "$condition".
37739 2011-10-07  Bruno Haible  <bruno@clisp.org>
37741         Fix documentation about math functions on MacOS X.
37742         * doc/posix-functions/exp2.texi: Don't say the function is missing on
37743         MacOS X 10.5.
37744         * doc/posix-functions/fdim.texi: Likewise.
37745         * doc/posix-functions/feclearexcept.texi: Likewise.
37746         * doc/posix-functions/fegetenv.texi: Likewise.
37747         * doc/posix-functions/fegetround.texi: Likewise.
37748         * doc/posix-functions/feholdexcept.texi: Likewise.
37749         * doc/posix-functions/feraiseexcept.texi: Likewise.
37750         * doc/posix-functions/fesetenv.texi: Likewise.
37751         * doc/posix-functions/fesetround.texi: Likewise.
37752         * doc/posix-functions/fetestexcept.texi: Likewise.
37753         * doc/posix-functions/feupdateenv.texi: Likewise.
37754         * doc/posix-functions/fmax.texi: Likewise.
37755         * doc/posix-functions/fmin.texi: Likewise.
37756         * doc/posix-functions/log2.texi: Likewise.
37757         * doc/posix-functions/modff.texi: Likewise.
37758         * doc/posix-functions/nan.texi: Likewise.
37759         * doc/posix-functions/nanf.texi: Likewise.
37760         * doc/posix-functions/nextafterf.texi: Likewise.
37761         * doc/posix-functions/remquo.texi: Likewise.
37763 2011-10-07  Bruno Haible  <bruno@clisp.org>
37765         modff: Drop assumption about library that defines modff.
37766         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
37767         AC_CHECK_FUNCS.
37768         * modules/modff (Files): Add m4/mathfunc.m4.
37770 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
37772         raise tests: Avoid a GCC warning.
37773         * tests/test-raise.c (handler): Use _Noreturn.
37775 2011-10-07  Bruno Haible  <bruno@clisp.org>
37777         Tests for module 'ldexpf'.
37778         * modules/ldexpf-tests: New file.
37779         * tests/test-ldexpf.c: New file.
37781         New module 'ldexpf'.
37782         * lib/math.in.h (ldexpf): New declaration.
37783         * lib/ldexpf.c: New file.
37784         * m4/ldexpf.m4: New file.
37785         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
37786         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
37787         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
37788         * modules/ldexpf: New file.
37789         * tests/test-math-c++.cc: Check the declaration of ldexpf.
37790         * doc/posix-functions/ldexpf.texi: Mention the new module.
37792 2011-10-06  Bruno Haible  <bruno@clisp.org>
37794         frexpf: Work around problems on IRIX and mingw.
37795         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
37796         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
37797         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
37798         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
37799         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
37800         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
37801         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
37803 2011-10-06  Bruno Haible  <bruno@clisp.org>
37805         fabsf: Drop assumption about library that defines fabsf.
37806         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
37807         AC_CHECK_FUNCS.
37808         * modules/fabsf (Files): Add m4/mathfunc.m4.
37810 2011-10-06  Bruno Haible  <bruno@clisp.org>
37812         frexpf: Drop assumption about library that defines frexpf.
37813         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
37814         'int *', 'float *', 'long double *', 'float', 'long double'.
37815         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
37816         AC_CHECK_FUNCS.
37817         * modules/frexpf (Files): Add m4/mathfunc.m4.
37819         Tests for module 'frexpf'.
37820         * modules/frexpf-tests: New file.
37821         * tests/test-frexpf.c: New file.
37823         New module 'frexpf'.
37824         * lib/math.in.h (frexpf): New declaration.
37825         * lib/frexpf.c: New file.
37826         * m4/frexpf.m4: New file.
37827         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
37828         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
37829         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
37830         * modules/frexpf: New file.
37831         * tests/test-math-c++.cc: Check the declaration of frexpf.
37832         * doc/posix-functions/frexpf.texi: Mention the new module.
37834 2011-10-06  Bruno Haible  <bruno@clisp.org>
37836         math: Sort function declarations of math.in.h.
37837         * lib/math.in.h (frexp, logb): Move declarations.
37839 2011-10-05  Bruno Haible  <bruno@clisp.org>
37841         Tests for module 'modff'.
37842         * modules/modff-tests: New file.
37843         * tests/test-modff.c: New file.
37845         New module 'modff'.
37846         * lib/math.in.h (modff): New declaration.
37847         * lib/modff.c: New file.
37848         * m4/modff.m4: New file.
37849         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
37850         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
37851         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
37852         * modules/modff: New file.
37853         * tests/test-math-c++.cc: Check the declaration of modff.
37854         * doc/posix-functions/modff.texi: Mention the new module.
37856         modf tests: Make test sharper.
37857         * tests/test-modf.c (main): Strengthen upper bound.
37859         modf: Use a .m4 file.
37860         * m4/modf.m4: New file.
37861         * modules/modf (Files): Add it.
37862         (configure.ac): Just invoke gl_FUNC_MODF.
37864 2011-10-05  Bruno Haible  <bruno@clisp.org>
37866         Tests for module 'fmodf'.
37867         * modules/fmodf-tests: New file.
37868         * tests/test-fmodf.c: New file.
37870         New module 'fmodf'.
37871         * lib/math.in.h (fmodf): New declaration.
37872         * lib/fmodf.c: New file.
37873         * m4/fmodf.m4: New file.
37874         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
37875         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
37876         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
37877         * modules/fmodf: New file.
37878         * tests/test-math-c++.cc: Check the declaration of fmodf.
37879         * doc/posix-functions/fmodf.texi: Mention the new module.
37881         fmod: Use a .m4 file.
37882         * m4/fmod.m4: New file.
37883         * modules/fmod (Files): Add it.
37884         (configure.ac): Just invoke gl_FUNC_FMOD.
37886 2011-10-05  Bruno Haible  <bruno@clisp.org>
37888         Tests for module 'fabsf'.
37889         * modules/fabsf-tests: New file.
37890         * tests/test-fabsf.c: New file.
37892         New module 'fabsf'.
37893         * lib/math.in.h (fabsf): New declaration.
37894         * lib/fabsf.c: New file.
37895         * m4/fabsf.m4: New file.
37896         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
37897         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
37898         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
37899         * modules/fabsf: New file.
37900         * tests/test-math-c++.cc: Check the declaration of fabsf.
37901         * doc/posix-functions/fabsf.texi: Mention the new module.
37903         fabs: Use a .m4 file.
37904         * m4/fabs.m4: New file.
37905         * modules/fabs (Files): Add it.
37906         (configure.ac): Just invoke gl_FUNC_FABS.
37908 2011-10-05  Jim Meyering  <meyering@redhat.com>
37910         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
37911         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
37912         ls -lL regression introduced in coreutils-8.12, it does so at the
37913         cost of an additional stat call in the common case.  Besides, now
37914         that the kernel change that prompted commit 95f7c57f has been reverted
37915         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
37916         we have no use for commit 95f7c57f, "file-has-acl: use
37917         acl_extended_file_nofollow if available".
37919 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
37921         file-has-acl: revert unintended change in behavior of ls -L
37922         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
37923         derived from...
37924         (file_has_acl): ...code here.  Call it.
37925         This problem was introduced with 2011-07-22 commit 95f7c57f,
37926         "file-has-acl: use acl_extended_file_nofollow if available".
37927         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
37929 2011-10-03  Bruno Haible  <bruno@clisp.org>
37931         poll: Avoid link errors on MSVC.
37932         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
37933         * modules/poll (Depends-on): Add sockets.
37934         (Link): New section.
37935         * NEWS: Mention the change.
37936         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
37937         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
37938         $(LIB_POLL) instead of $(LIBSOCKET).
37940 2011-10-03  Bruno Haible  <bruno@clisp.org>
37942         sys_select tests: Fix link error on MSVC 9.
37943         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
37944         with $(LIB_SELECT) instead of $(LIBSOCKET).
37946 2011-10-03  Bruno Haible  <bruno@clisp.org>
37948         sys_select: Fix compilation error on mingw.
37949         * lib/sys_select.in.h: On native Windows, include <io.h>.
37951 2011-10-03  Bruno Haible  <bruno@clisp.org>
37953         wmemset: Support for MSVC.
37954         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
37955         whether wmemset() exists.
37957 2011-10-03  Bruno Haible  <bruno@clisp.org>
37959         wmemmove: Support for MSVC.
37960         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
37961         whether wmemmove() exists.
37963 2011-10-03  Bruno Haible  <bruno@clisp.org>
37965         wmemcpy: Support for MSVC.
37966         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
37967         whether wmemcpy() exists.
37969 2011-10-03  Bruno Haible  <bruno@clisp.org>
37971         wmemcmp: Support for MSVC.
37972         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
37973         whether wmemcmp() exists.
37975 2011-10-03  Bruno Haible  <bruno@clisp.org>
37977         wmemchr: Support for MSVC.
37978         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
37979         whether wmemchr() exists.
37981 2011-10-03  Bruno Haible  <bruno@clisp.org>
37983         glthread/*, strsignal: Support for MSVC.
37984         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
37985         including <winsock.h> on MSVC 9.
37986         * lib/glthread/lock.h: Likewise.
37987         * lib/glthread/thread.h: Likewise.
37988         * lib/glthread/tls.h: Likewise.
37989         * lib/glthread/yield.h: Likewise.
37990         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
37991         if HAVE_UNISTD_H is false.
37992         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
37994 2011-10-03  Bruno Haible  <bruno@clisp.org>
37996         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
37997         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
37998         Set to 100000.
38000 2011-10-03  Bruno Haible  <bruno@clisp.org>
38002         acl: Fix specification.
38003         * lib/file-has-acl.c (file_has_acl): Fix specification.
38005 2011-10-03  Bruno Haible  <bruno@clisp.org>
38007         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
38008         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
38009         (compute_curr_prefix, shared_library_fullname,
38010         find_shared_library_fullname, get_shared_library_fullname, relocate):
38011         Use it together with PIC && INSTALLDIR.
38012         Reported by <jojelino@gmail.com>
38013         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
38015 2011-10-01  Jim Meyering  <meyering@redhat.com>
38017         maint.mk: adjust a release-related rule not to require use of gzip
38018         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
38019         Instead, check each file in $(DIST_ARCHIVES).  This is better for
38020         projects that build only .tar.xz files.  Also fix an erroneous test.
38022         test-linkat: don't leave behind a temporary file
38023         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
38024         Otherwise, coreutils' "make distcheck" would fail with this:
38025           Only in /c/cu/tests/torture/coreutils/test/\
38026             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
38027           make[2]: *** [my-distcheck] Error 1
38029         float, math: add omitted file
38030         * lib/itold.c: Add file, required for yesterday's float change.
38032 2011-10-01  Bruno Haible  <bruno@clisp.org>
38034         isinf: Fix for OpenBSD/x86.
38035         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
38036         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
38037         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
38039 2011-10-01  Bruno Haible  <bruno@clisp.org>
38041         isfinite: Fix syntax error in configure test.
38042         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
38044         isfinite: Fix typo.
38045         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
38046         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
38048 2011-10-01  Bruno Haible  <bruno@clisp.org>
38050         nonblocking tests: Fix test failure on Linux/IA-64.
38051         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
38052         Set to 270000.
38054 2011-10-01  Bruno Haible  <bruno@clisp.org>
38056         mkfifoat tests: Fix a test failure on mingw.
38057         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
38058         with error ENOSYS.
38060 2011-09-30  Bruno Haible  <bruno@clisp.org>
38062         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
38063         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
38064         'long double'. Set REPLACE_ITOLD.
38065         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
38066         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
38067         * lib/itold.c: New file.
38068         * modules/float (Files): Add lib/itold.c.
38069         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
38070         (Makefile.am): Substitute REPLACE_ITOLD.
38071         * modules/math (Depends-on): Add float.
38072         (Makefile.am): Substitute REPLACE_ITOLD.
38073         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
38074         * doc/posix-headers/math.texi: Likewise.
38075         * doc/posix-functions/logl.texi: Likewise.
38077 2011-09-30  Bruno Haible  <bruno@clisp.org>
38079         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
38080         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
38081         Set to 140000.
38083 2011-09-30  Bruno Haible  <bruno@clisp.org>
38085         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
38086         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
38087         invocation, say "right after AC_PROG_CC_STDC", not "right after
38088         AC_PROG_CC".
38089         Reported by Gary V. Vaughan <gary@gnu.org>.
38091 2011-09-30  Bruno Haible  <bruno@clisp.org>
38093         Centralize C99 requirement.
38094         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
38095         * modules/stdarg (configure.ac-early): Invoke it instead of
38096         AC_PROG_CC_STDC.
38097         Reported by Gary V. Vaughan and Paul Eggert.
38099 2011-09-29  Bruno Haible  <bruno@clisp.org>
38101         float: Fix LDBL_MAX value on Linux/PowerPC.
38102         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
38103         on Linux/PowerPC.
38104         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
38105         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
38106         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
38107         platform.
38108         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
38110 2011-09-29  Bruno Haible  <bruno@clisp.org>
38112         doc: Improve doc about gl_EARLY.
38113         * doc/gnulib-tool.texi (Initial import): Mention where to place an
38114         AC_PROG_CC_STDC invocation.
38115         Reported by Gary V. Vaughan <gary@gnu.org>.
38117 2011-09-28  Bruno Haible  <bruno@clisp.org>
38119         fgetc, fputc, fread, fwrite tests: Fix link error.
38120         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
38121         on non-MSVC platforms.
38122         * tests/test-fputc.c (main): Likewise.
38123         * tests/test-fread.c (main): Likewise.
38124         * tests/test-fwrite.c (main): Likewise.
38125         Reported by Jim Meyering.
38127 2011-09-27  Bruno Haible  <bruno@clisp.org>
38129         fputc, fwrite tests: Avoid test failure on MSVC.
38130         * tests/test-fgetc.c: Include msvc-inval.h.
38131         (main): Invoke gl_msvc_inval_ensure_handler.
38132         * tests/test-fputc.c: Include msvc-inval.h.
38133         (main): Invoke gl_msvc_inval_ensure_handler.
38134         * tests/test-fread.c: Include msvc-inval.h.
38135         (main): Invoke gl_msvc_inval_ensure_handler.
38136         * tests/test-fwrite.c: Include msvc-inval.h.
38137         (main): Invoke gl_msvc_inval_ensure_handler.
38138         * modules/fgetc-tests (Depends-on): Add msvc-inval.
38139         * modules/fputc-tests (Depends-on): Likewise.
38140         * modules/fread-tests (Depends-on): Likewise.
38141         * modules/fwrite-tests (Depends-on): Likewise.
38143 2011-09-27  Bruno Haible  <bruno@clisp.org>
38145         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
38146         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
38147         (raise): Remove older, duplicated declaration.
38148         (_gl_raise_SIGPIPE): New declaration.
38149         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
38150         (rpl_raise): Remove function.
38151         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
38152         a gnulib-defined SIGPIPE here.
38153         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
38154         'sigprocmask' has detected missing signal-blocking and the module
38155         'sigpipe' is enabled.
38156         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
38158 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
38160         base64-tests: avoid memory leak
38161         * tests/test-base64.c (main): Plug memory leak.
38163         base32: new module
38164         * modules/base32: New module.
38165         * lib/base32.c: New file.
38166         * lib/base32.h: Likewise.
38167         * m4/base32.m4: Likewise.
38168         * modules/base32-tests: New test.
38169         * tests/test-base32.c: Likewise.
38170         * MODULES.html.sh (Misc): Mention it.
38172 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
38174         gnulib: use more-standard license notice wording
38175         * gnulib-tool (func_emit_copyright_notice): When emitting a
38176         license notice into a file, use the standard wording as suggested
38177         by the current information for GNU maintainers, except say "file"
38178         rather than "program".  The new wording gives a license version
38179         number, which addresses an issue raised by Glenn Morris in
38180         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
38181         * m4/onceonly.m4: Use that same wording here, too.
38183         dup2: minor simplification
38184         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
38185         as lib/dup2.c no longer uses 'inline'.
38187 2011-09-25  Bruno Haible  <bruno@clisp.org>
38189         strings: Fix compilation error on MSVC.
38190         * lib/strings.in.h: Include <stddef.h> for size_t.
38192 2011-09-25  Bruno Haible  <bruno@clisp.org>
38194         fflush et al.: Document limitation on MSVC.
38195         * doc/posix-functions/fflush.texi: Document possible crash in handling
38196         mode other than DEFAULT_HANDLING.
38197         * doc/posix-functions/fgetc.texi: Likewise.
38198         * doc/posix-functions/fputc.texi: Likewise.
38199         * doc/posix-functions/fread.texi: Likewise.
38200         * doc/posix-functions/fwrite.texi: Likewise.
38202 2011-09-25  Bruno Haible  <bruno@clisp.org>
38204         msvc-inval: Allow three invalid parameter handling modes.
38205         * lib/msvc-inval.h: Don't include <stdlib.h> here.
38206         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
38207         macros.
38208         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
38209         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
38210         SANE_LIBRARY_HANDLING as a no-op.
38211         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
38212         <stdlib.h>.
38213         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
38215 2011-09-25  Bruno Haible  <bruno@clisp.org>
38217         msvc-inval: Make handler multithread-safe.
38218         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
38219         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
38220         declarations.
38221         (gl_msvc_inval_current): New declaration.
38222         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
38223         Operate on the structure returned by gl_msvc_inval_current().
38224         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
38225         Remove varaiables.
38226         (tls_index, tls_initialized): New variables.
38227         (not_per_thread): New variable.
38228         (gl_msvc_inval_current): New function.
38229         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
38230         returned by gl_msvc_inval_current().
38232 2011-09-25  Bruno Haible  <bruno@clisp.org>
38234         msvc-inval: Install handler globally.
38235         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
38236         !_MSC_VER.
38237         (gl_msvc_invalid_parameter_handler): Remove declaration.
38238         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
38239         declarations.
38240         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
38241         Install the handler globally, don't uninstall it.
38242         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
38243         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
38244         currently valid, call RaiseException instead.
38245         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
38246         for !_MSC_VER.
38248 2011-09-25  Bruno Haible  <bruno@clisp.org>
38250         strerror_r-posix: Fix for MSVC 9.
38251         * lib/strerror_r.c (local_snprintf): New function.
38252         (snprintf): Define to local_snprintf, not to _snprintf.
38254 2011-09-25  Bruno Haible  <bruno@clisp.org>
38256         ftruncate: Support for MSVC 9.
38257         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
38258         (chsize_nothrow): New function.
38259         (chsize): Redefine as a macro.
38260         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
38261         * modules/ftruncate (Depends-on): Add msvc-inval.
38263 2011-09-25  Bruno Haible  <bruno@clisp.org>
38265         New module 'fstat'.
38266         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
38267         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
38268         * lib/fchdir.c (rpl_fstat): Remove function.
38269         * m4/fstat.m4: New file.
38270         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
38271         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
38272         declared.
38273         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
38274         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
38275         * modules/fstat: New file.
38276         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
38277         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
38278         is set.
38279         * doc/posix-functions/fstat.texi: Mention the new module and the
38280         problem on MSVC.
38281         * NEWS: Mention the change.
38282         * modules/acl (Depends-on): Add fstat.
38283         * modules/chdir-safer (Depends-on): Likewise.
38284         * modules/chown (Depends-on): Likewise.
38285         * modules/copy-file (Depends-on): Likewise.
38286         * modules/fchdir (Depends-on): Likewise.
38287         * modules/fdopendir (Depends-on): Likewise.
38288         * modules/fopen (Depends-on): Likewise.
38289         * modules/fts (Depends-on): Likewise.
38290         * modules/getcwd (Depends-on): Likewise.
38291         * modules/isapipe (Depends-on): Likewise.
38292         * modules/linkat (Depends-on): Likewise.
38293         * modules/lseek (Depends-on): Likewise.
38294         * modules/mkdir-p (Depends-on): Likewise.
38295         * modules/open (Depends-on): Likewise.
38296         * modules/openat (Depends-on): Likewise.
38297         * modules/read-file (Depends-on): Likewise.
38298         * modules/renameat (Depends-on): Likewise.
38299         * modules/utimens (Depends-on): Likewise.
38301 2011-09-25  Bruno Haible  <bruno@clisp.org>
38303         linkat: Fix compilation on MSVC 9.
38304         * lib/linkat.c: Don't include <stdint.h>.
38306 2011-09-25  Bruno Haible  <bruno@clisp.org>
38308         fclose: Support for MSVC 9.
38309         * lib/fclose.c: Include msvc-inval.h.
38310         (fclose_nothrow): New function.
38311         (rpl_fclose): Use it.
38312         * modules/fclose (Depends-on): Add msvc-inval.
38313         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
38315 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
38317         dup2: minor simplifications
38318         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
38319         that it's a performance win.
38320         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
38321         ! defined __CYGWIN__)" to "ifdef F_GETFL".
38323 2011-09-24  Jim Meyering  <meyering@redhat.com>
38325         test-futimens: avoid a warning from gcc -Wshadow
38326         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
38327         to avoid a shadowing warning.
38329 2011-09-24  Bruno Haible  <bruno@clisp.org>
38331         fdopen: Support for MSVC 9.
38332         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
38333         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
38334         * lib/fdopen.c: Include msvc-inval.h.
38335         (fdopen_nothrow): New function.
38336         (rpl_fdopen): Use it.
38337         * modules/fdopen (Depends-on): Add msvc-inval.
38338         * modules/fclose-tests (Depends-on): Add fdopen.
38339         * modules/fflush-tests (Depends-on): Likewise.
38340         * modules/fgetc-tests (Depends-on): Likewise.
38341         * modules/fputc-tests (Depends-on): Likewise.
38342         * modules/fread-tests (Depends-on): Likewise.
38343         * modules/freopen-tests (Depends-on): Likewise.
38344         * modules/fseeko-tests (Depends-on): Likewise.
38345         * modules/ftello-tests (Depends-on): Likewise.
38346         * modules/fwrite-tests  (Depends-on): Likewise.
38347         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
38349 2011-09-24  Bruno Haible  <bruno@clisp.org>
38351         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
38352         * modules/fgetc-tests (Depends-on): Add unistd.
38353         * modules/fputc-tests (Depends-on): Likewise.
38354         * modules/fread-tests (Depends-on): Likewise.
38355         * modules/fwrite-tests (Depends-on): Likewise.
38357 2011-09-24  Bruno Haible  <bruno@clisp.org>
38359         dup: Simplify autoconf test.
38360         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
38361         on gl_MSVC_INVAL's result.
38363 2011-09-24  Bruno Haible  <bruno@clisp.org>
38365         Tests for function fwrite().
38366         * modules/fwrite-tests: New file.
38367         * tests/test-fwrite.c: New file.
38368         * modules/stdio-tests (Depends-on): Add fwrite-tests.
38370         Tests for function fread().
38371         * modules/fread-tests: New file.
38372         * tests/test-fread.c: New file.
38373         * modules/stdio-tests (Depends-on): Add fread-tests.
38375         Activate fputc tests.
38376         * modules/stdio-tests (Depends-on): Add fputc-tests.
38378         Enhance fgetc, fputc tests.
38379         * tests/test-fgetc.c (main): Also test the stream's error indicator.
38380         * tests/test-fputc.c (main): Likewise.
38382 2011-09-24  Bruno Haible  <bruno@clisp.org>
38384         write: Support for MSVC 9.
38385         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
38386         is not 1.
38387         * lib/write.c (write_nothrow): New function.
38388         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
38389         not 1. Use write_nothrow.
38390         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
38391         invalid parameter handler.
38392         (gl_PREREQ_WRITE): New macro.
38393         * modules/write (Depends-on): Add msvc-inval.
38394         (configure.ac): Invoke gl_PREREQ_WRITE.
38395         * doc/posix-functions/write.texi: Mention the problem on MSVC.
38397 2011-09-24  Bruno Haible  <bruno@clisp.org>
38399         read: Fix last commit.
38400         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
38402 2011-09-24  Bruno Haible  <bruno@clisp.org>
38404         dup2: Fix last commit.
38405         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
38406         (rpl_dup2): Disable fcntl workaround on native Windows.
38408         sigprocmask: Make code safer.
38409         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
38410         section that changes macro definitions for this compilation unit.
38412 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
38414         dup2: clarify by coalescing Windows-specific material
38415         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
38416         "msvc-nothrow.h"' to the Windows-specific section, so that the
38417         Emacs source need not contain these include files.
38418         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
38419         Windows-specific fixes into this function rather than just the
38420         nothrow fix, as this shortens and clarifies the code.  Always
38421         define as a function, as that's a bit cleaner than having it be
38422         sometimes a function and sometimes a macro.
38423         (rpl_dup2): Move the Windows-specific stuff out of here and into
38424         ms_windows_dup2.  Don't protect the Haiku-related fix with
38425         "#if !defined __linux__", as the same code also works around
38426         a Linux kernel bug, and it doesn't add any system calls on any
38427         platform.  Add comment about FreeBSD 6.1.
38429         sigprocmask: move #include directive
38430         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
38431         Windows-specific section, so that the Emacs source need not
38432         contain msvc-inval.h.
38434 2011-09-23  Bruno Haible  <bruno@clisp.org>
38436         read: Support for MSVC 9.
38437         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
38438         is not 1.
38439         * lib/read.c (read_nothrow): New function.
38440         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
38441         read_nothrow.
38442         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
38443         invalid parameter handler.
38444         (gl_PREREQ_READ): New macro.
38445         * modules/read (Depends-on): Add msvc-inval.
38446         (configure.ac): Invoke gl_PREREQ_READ.
38447         * doc/posix-functions/read.texi: Mention the problem on MSVC.
38449 2011-09-23  Bruno Haible  <bruno@clisp.org>
38451         close: Support for MSVC 9.
38452         * lib/close.c: Include <errno.h>, msvc-inval.h.
38453         (close_nothrow): New function.
38454         (rpl_close): Use it.
38455         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
38456         invalid parameter handler.
38457         * modules/close (Depends-on): Add msvc-inval.
38458         * modules/dup2-tests (Depends-on): Add close.
38459         * modules/dup3-tests (Depends-on): Likewise.
38460         * modules/fcntl-tests (Depends-on): Likewise.
38461         * modules/spawn-pipe-tests (Depends-on): Likewise.
38462         * modules/unistd-safer-tests (Depends-on): Likewise.
38463         * doc/posix-functions/close.texi: Mention the problem on MSVC.
38465 2011-09-23  Bruno Haible  <bruno@clisp.org>
38467         New module 'dup'.
38468         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
38469         Allow replacement.
38470         * lib/dup.c: New file.
38471         * lib/fchdir.c (rpl_dup): Remove function.
38472         * m4/dup.m4: New file.
38473         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
38474         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
38475         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
38476         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
38477         * modules/dup: New file.
38478         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
38479         'dup' module is in use.
38480         * modules/fdopendir (Depends-on): Add dup.
38481         * modules/fdutimensat-tests (Depends-on): Likewise.
38482         * modules/fts (Depends-on): Likewise.
38483         * modules/futimens-tests (Depends-on): Likewise.
38484         * modules/posix_spawnp-tests (Depends-on): Likewise.
38485         * modules/unistd-safer-tests (Depends-on): Likewise.
38486         * modules/utimens-tests (Depends-on): Likewise.
38487         * doc/posix-functions/dup.texi: Mention the new module and the problem
38488         on MSVC.
38490 2011-09-23  Bruno Haible  <bruno@clisp.org>
38492         getdtablesize: Support for MSVC 9.
38493         * lib/getdtablesize.c: Include msvc-inval.h.
38494         (_setmaxstdio_nothrow): New function.
38495         (_setmaxstdio): Redefine it.
38496         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
38497         * modules/getdtablesize (Depends-on): Add msvc-inval.
38498         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
38500 2011-09-23  Bruno Haible  <bruno@clisp.org>
38502         signal-h: Rename from signal.
38503         * modules/signal-h: Renamed from modules/signal.
38504         * modules/pthread_sigmask (Depends-on): Update.
38505         * modules/raise (Depends-on): Likewise.
38506         * modules/sigaction (Depends-on): Likewise.
38507         * modules/sigpipe (Depends-on): Likewise.
38508         * modules/sigprocmask (Depends-on): Likewise.
38509         * modules/sys_select (Depends-on): Likewise.
38510         * modules/signal-h-tests: Renamed from modules/signal-tests.
38511         (Files, Depends-on, Makefile.am): Update.
38512         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
38513         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
38514         (Files, Makefile.am): Update.
38515         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
38516         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
38517         * modules/signal: New placeholder file.
38518         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
38519         * doc/posix-headers/signal.texi: Update.
38520         * NEWS: Mention the change.
38522 2011-09-23  Bruno Haible  <bruno@clisp.org>
38524         sigprocmask: Avoid crashes through signal() on MSVC 9.
38525         * lib/sigprocmask.c: Include msvc-inval.h.
38526         (signal_nothrow): New function.
38527         (signal): Redefine it.
38528         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
38529         * modules/sigprocmask (Depends-on): Add msvc-inval.
38530         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
38532 2011-09-23  Bruno Haible  <bruno@clisp.org>
38534         Tests for module 'raise'.
38535         * modules/raise-tests: New file.
38536         * tests/test-raise.c: New file.
38538         raise: Support for MSVC.
38539         * lib/signal.in.h (raise): New declaration.
38540         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
38541         for native Windows platforms.
38542         * m4/raise.m4: New file.
38543         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
38544         HAVE_RAISE, REPLACE_RAISE.
38545         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
38546         REPLACE_RAISE.
38547         * modules/raise (Status, Notice): Remove fields.
38548         (Files): Add m4/raise.m4.
38549         (Depends-on): Add signal, msvc-inval.
38550         (configure.ac): Use the common idioms.
38551         (Maintainer): Add me.
38552         * tests/test-signal-c++.cc: Check the signature of raise.
38553         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
38555 2011-09-23  Bruno Haible  <bruno@clisp.org>
38557         pipe2: Fix compilation on pre-C99 compilers.
38558         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
38560 2011-09-23  Bruno Haible  <bruno@clisp.org>
38562         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
38563         * lib/msvc-nothrow.h: New file.
38564         * lib/msvc-nothrow.c: New file.
38565         * m4/msvc-nothrow.m4: New file.
38566         * modules/msvc-nothrow: New file.
38567         * lib/dup2.c: Include msvc-nothrow.h.
38568         (rpl_dup2): No need to protect _get_osfhandle call here.
38569         * lib/accept4.c: Include msvc-nothrow.h.
38570         * lib/error.c: Likewise.
38571         * lib/fcntl.c: Likewise.
38572         * lib/lseek.c: Likewise.
38573         * lib/nonblocking.c: Likewise.
38574         * lib/poll.c: Likewise.
38575         * lib/read.c: Likewise.
38576         * lib/select.c: Likewise.
38577         * lib/sockets.h: Likewise.
38578         * lib/sockets.c: Likewise.
38579         * lib/stdio-read.c: Likewise.
38580         * lib/stdio-write.c: Likewise.
38581         * lib/write.c: Likewise.
38582         * lib/w32sock.h: Likewise.
38583         * lib/w32spawn.h: Likewise.
38584         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
38585         * lib/fsync.c: Likewise.
38586         * lib/isapipe.c: Likewise.
38587         * modules/dup2 (Depends-on): Add msvc-nothrow.
38588         * modules/accept4 (Depends-on): Likewise.
38589         * modules/error (Depends-on): Likewise.
38590         * modules/fcntl (Depends-on): Likewise.
38591         * modules/lseek (Depends-on): Likewise.
38592         * modules/nonblocking (Depends-on): Likewise.
38593         * modules/poll (Depends-on): Likewise.
38594         * modules/read (Depends-on): Likewise.
38595         * modules/select (Depends-on): Likewise.
38596         * modules/sockets (Depends-on): Likewise.
38597         * modules/sigpipe (Depends-on): Likewise.
38598         * modules/write (Depends-on): Likewise.
38599         * modules/accept (Depends-on): Likewise.
38600         * modules/bind (Depends-on): Likewise.
38601         * modules/connect (Depends-on): Likewise.
38602         * modules/gethostname (Depends-on): Likewise.
38603         * modules/getpeername (Depends-on): Likewise.
38604         * modules/getsockname (Depends-on): Likewise.
38605         * modules/getsockopt (Depends-on): Likewise.
38606         * modules/ioctl (Depends-on): Likewise.
38607         * modules/listen (Depends-on): Likewise.
38608         * modules/recv (Depends-on): Likewise.
38609         * modules/recvfrom (Depends-on): Likewise.
38610         * modules/send (Depends-on): Likewise.
38611         * modules/sendto (Depends-on): Likewise.
38612         * modules/setsockopt (Depends-on): Likewise.
38613         * modules/shutdown (Depends-on): Likewise.
38614         * modules/socket (Depends-on): Likewise.
38615         * modules/execute (Depends-on): Likewise.
38616         * modules/spawn-pipe (Depends-on): Likewise.
38617         * modules/flock (Depends-on): Likewise.
38618         * modules/fsync (Depends-on): Likewise.
38619         * modules/isapipe (Depends-on): Likewise.
38620         * tests/test-cloexec.c: Include msvc-nothrow.h.
38621         * tests/test-dup-safer.c: Likewise.
38622         * tests/test-dup2.c: Likewise.
38623         * tests/test-dup3.c: Likewise.
38624         * tests/test-fcntl.c: Likewise.
38625         * tests/test-pipe.c: Likewise.
38626         * tests/test-pipe2.c: Likewise.
38627         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
38628         * modules/unistd-safer-tests (Depends-on): Likewise.
38629         * modules/dup2-tests (Depends-on): Likewise.
38630         * modules/dup3-tests (Depends-on): Likewise.
38631         * modules/fcntl-tests (Depends-on): Likewise.
38632         * modules/pipe-posix-tests (Depends-on): Likewise.
38633         * modules/pipe2-tests (Depends-on): Likewise.
38635 2011-09-23  Bruno Haible  <bruno@clisp.org>
38637         dup2: Make code more maintainable.
38638         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
38639         (rpl_dup2): Use it.
38640         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
38641         * modules/dup2 (configure.ac): Invoke it.
38642         Reported by Paul Eggert.
38644 2011-09-23  Bruno Haible  <bruno@clisp.org>
38646         msvc-inval: Fix compilation error.
38647         * lib/msvc-inval.h: Include <excpt.h>.
38649 2011-09-23  Bruno Haible  <bruno@clisp.org>
38651         mkdir: Tweak for MSVC 9.
38652         * lib/sys_stat.in.h: Update comments.
38653         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
38655         Tests for module 'chdir'.
38656         * modules/chdir-tests: New file.
38657         * tests/test-chdir.c: New file.
38659         New module 'chdir'.
38660         * modules/chdir: New file.
38661         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
38662         (chdir): New declaration.
38663         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
38664         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
38665         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
38666         * tests/test-unistd-c++.cc: Check signature of chdir.
38667         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
38668         * modules/chdir-long (Depends-on): Add chdir.
38669         * modules/fchdir (Depends-on): Likewise.
38670         * modules/rename (Depends-on): Likewise.
38671         * modules/savewd (Depends-on): Likewise.
38673         rmdir: Support for mingw, MSVC 9.
38674         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
38675         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
38677         getcwd: Tweak for MSVC 9.
38678         * lib/unistd.in.h: Update comments.
38679         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
38681 2011-09-22  Bruno Haible  <bruno@clisp.org>
38683         strerror_r-posix: Avoid a link error on MSVC.
38684         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
38685         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
38687 2011-09-22  Bruno Haible  <bruno@clisp.org>
38689         select: Avoid link errors on MSVC.
38690         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
38691         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
38692         * modules/pselect (Link): Likewise.
38693         * NEWS: Mention the change.
38694         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
38695         test-select-stdin against $(LIB_SELECT).
38696         * modules/pselect-tests (Makefile.am): Link test-pselect against
38697         $(LIB_SELECT).
38699 2011-09-22  Bruno Haible  <bruno@clisp.org>
38701         select: Avoid compilation error on MSVC.
38702         * lib/select.c: Don't include <stdbool.h>.
38704 2011-09-21  Bruno Haible  <bruno@clisp.org>
38706         Consolidate all uses of PATH_MAX in *.m4 files.
38707         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
38708         macros.
38709         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
38710         and gl_PATHMAX_SNIPPET.
38711         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
38712         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
38713         * modules/chdir-long (Files): Add m4/pathmax.m4.
38714         * modules/getcwd (Files): Likewise.
38716 2011-09-21  Bruno Haible  <bruno@clisp.org>
38718         ftruncate: Un-deprecate, concentrate on Win32 support.
38719         * modules/ftruncate (Status, Notice): Remove sections.
38720         (Depends-on): Add largefile.
38721         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
38722         non-mingw platforms.
38723         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
38724         include <io.h>.
38725         * modules/perror-tests (Depends-on): Add ftruncate.
38726         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
38727         'ftruncate' module.
38729 2011-09-21  Bruno Haible  <bruno@clisp.org>
38731         Add dependencies to new dirent related modules.
38732         * modules/opendir (Depends-on): Add closedir.
38733         * modules/getcwd (Depends-on): Add opendir, closedir.
38734         * modules/dirent-safer-tests (Depends-on): Likewise.
38735         * modules/fdopendir-tests (Depends-on): Likewise.
38736         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
38737         * modules/renameat-tests (Depends-on): Likewise.
38739 2011-09-21  Bruno Haible  <bruno@clisp.org>
38741         opendir: Avoid compilation error on mingw.
38742         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
38743         * modules/opendir (Depends-on): Add unistd.
38745 2011-09-21  Bruno Haible  <bruno@clisp.org>
38747         ftruncate tests: Avoid a test failure on mingw.
38748         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
38750 2011-09-21  Bruno Haible  <bruno@clisp.org>
38752         select tests: Avoid test failures on OSF/1 5.1 and mingw.
38753         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
38754         native Windows.
38756 2011-09-21  Bruno Haible  <bruno@clisp.org>
38758         New module 'fdopen'.
38759         * lib/stdio.in.h (fdopen): New declaration.
38760         * lib/fdopen.c: New file.
38761         * m4/fdopen.m4: New file.
38762         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
38763         REPLACE_FDOPEN.
38764         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
38765         REPLACE_FDOPEN.
38766         * modules/fdopen: New file.
38767         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
38768         * tests/test-stdio-c++.cc: Check signature of fdopen.
38769         * doc/posix-functions/fdopen.texi: Mention the new module.
38771 2011-09-21  Bruno Haible  <bruno@clisp.org>
38773         unlockpt tests: Avoid test failure on NetBSD 5.1.
38774         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
38775         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
38777 2011-09-21  Bruno Haible  <bruno@clisp.org>
38779         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
38780         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
38781         * tests/test-getlogin_r.c (main): Likewise.
38783 2011-09-20  Bruno Haible  <bruno@clisp.org>
38785         time tests: Don't require pid_t.
38786         * doc/posix-headers/time.texi: Revert last change.
38787         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
38788         * tests/test-time.c: Comment out the check for pid_t.
38790 2011-09-20  Bruno Haible  <bruno@clisp.org>
38792         fsync tests: Avoid a test failure on mingw.
38793         * tests/test-fsync.c (main): Allow a failure with EIO.
38795 2011-09-20  Bruno Haible  <bruno@clisp.org>
38797         euidaccess: Update comments.
38798         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
38800 2011-09-20  Bruno Haible  <bruno@clisp.org>
38802         Ensure EBADF returns for socket functions on mingw.
38803         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
38804         descriptor is invalid.
38805         * lib/bind.c (rpl_bind): Likewise.
38806         * lib/connect.c (rpl_connect): Likewise.
38807         * lib/getpeername.c (rpl_getpeername): Likewise.
38808         * lib/getsockname.c (rpl_getsockname): Likewise.
38809         * lib/getsockopt.c (rpl_getsockopt): Likewise.
38810         * lib/listen.c (rpl_listen): Likewise.
38811         * lib/recv.c (rpl_recv): Likewise.
38812         * lib/recvfrom.c (rpl_recvfrom): Likewise.
38813         * lib/send.c (rpl_send): Likewise.
38814         * lib/sendto.c (rpl_sendto): Likewise.
38815         * lib/setsockopt.c (rpl_setsockopt): Likewise.
38816         * lib/shutdown.c (rpl_shutdown): Likewise.
38818 2011-09-20  Bruno Haible  <bruno@clisp.org>
38820         select tests: EBADF tests.
38821         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
38822         test_bad_fd): New functions.
38823         (test_function): Invoke also test_bad_fd.
38825 2011-09-20  Bruno Haible  <bruno@clisp.org>
38827         Tests for module 'posix_spawn_file_actions_addopen.
38828         * modules/posix_spawn_file_actions_addopen-tests: New file.
38829         * tests/test-posix_spawn_file_actions_addopen.c: New file.
38831         Tests for module 'posix_spawn_file_actions_adddup2'.
38832         * modules/posix_spawn_file_actions_adddup2-tests: New file.
38833         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
38835         Tests for module 'posix_spawn_file_actions_addclose'.
38836         * modules/posix_spawn_file_actions_addclose-tests: New file.
38837         * tests/test-posix_spawn_file_actions_addclose.c: New file.
38839 2011-09-20  Bruno Haible  <bruno@clisp.org>
38841         Tests for module 'unlockpt'.
38842         * modules/unlockpt-tests: New file.
38843         * tests/test-unlockpt.c: New file.
38844         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
38846         Tests for module 'grantpt'.
38847         * modules/grantpt-tests: New file.
38848         * tests/test-grantpt.c: New file.
38849         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
38851 2011-09-20  Bruno Haible  <bruno@clisp.org>
38853         freopen tests: EBADF tests.
38854         * tests/test-freopen.c: Include errno.h, unistd.h.
38855         (main): Add tests for EBADF, commented out for the moment.
38857         fclose tests: EBADF tests.
38858         * tests/test-fclose.c (main): Add tests for EBADF.
38860         fflush tests: EBADF tests.
38861         * tests/test-fflush.c: Include errno.h, macros.h.
38862         (main): Add tests for EBADF.
38864         ftello tests: EBADF tests.
38865         * tests/test-ftello4.sh: New file.
38866         * tests/test-ftello4.c: New file.
38867         * modules/ftello-tests (Files): Add them.
38868         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
38870         fseeko tests: EBADF tests.
38871         * tests/test-fseeko4.sh: New file.
38872         * tests/test-fseeko4.c: New file.
38873         * modules/fseeko-tests (Files): Add them.
38874         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
38876         Tests for function fputc().
38877         * modules/fputc-tests: New file.
38878         * tests/test-fputc.c: New file.
38879         * modules/stdio-tests (Depends-on): Add fputc-tests.
38881         Tests for function fgetc().
38882         * modules/fgetc-tests: New file.
38883         * tests/test-fgetc.c: New file.
38884         * modules/stdio-tests (Depends-on): Add fgetc-tests.
38886         Tests for function fdopen().
38887         * modules/fdopen-tests: New file.
38888         * tests/test-fdopen.c: New file.
38889         * modules/stdio-tests (Depends-on): Add fdopen-tests.
38891         Tests for module 'vdprintf'.
38892         * modules/vdprintf-tests: New file.
38893         * tests/test-vdprintf.c: New file.
38895         Tests for module 'dprintf'.
38896         * modules/dprintf-tests: New file.
38897         * tests/test-dprintf.c: New file.
38899 2011-09-20  Bruno Haible  <bruno@clisp.org>
38901         Tests for module 'ioctl'.
38902         * modules/ioctl-tests: New file.
38903         * tests/test-ioctl.c: New file.
38905 2011-09-20  Bruno Haible  <bruno@clisp.org>
38907         fcntl tests: EBADF tests.
38908         * tests/test-fcntl.c (main): Add more tests for EBADF.
38910 2011-09-20  Bruno Haible  <bruno@clisp.org>
38912         utimensat tests: EBADF tests.
38913         * tests/test-utimensat.c (main): Add tests for EBADF.
38915         renameat tests: EBADF tests.
38916         * tests/test-renameat.c (main): Add tests for EBADF.
38918         mkfifoat tests: EBADF tests.
38919         * tests/test-mkfifoat.c (main): Add tests for EBADF.
38921         readlinkat tests: EBADF tests.
38922         * tests/test-readlinkat.c (main): Add tests for EBADF.
38924         symlinkat tests: EBADF tests.
38925         * tests/test-symlinkat.c (main): Add tests for EBADF.
38927         linkat tests: EBADF tests.
38928         * tests/test-linkat.c (main): Add tests for EBADF.
38930         Tests for module 'faccessat'.
38931         * modules/faccessat-tests: New file.
38932         * tests/test-faccessat.c: New file.
38934         fdopendir tests: EBADF tests.
38935         * tests/test-fdopendir.c (main): Add more tests for EBADF.
38937         openat tests: EBADF tests.
38938         * tests/test-fchownat.c (main): Add tests for EBADF.
38939         * tests/test-fstatat.c (main): Likewise.
38940         * tests/test-mkdirat.c (main): Likewise.
38941         * tests/test-openat.c (main): Likewise.
38942         * tests/test-unlinkat.c (main): Likewise.
38943         * tests/test-fchmodat.c: New file.
38944         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
38945         (Makefile.am): Also run 'test-fchmodat'.
38947 2011-09-20  Bruno Haible  <bruno@clisp.org>
38949         utimens, futimens, fdutimensat tests: EBADF tests.
38950         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
38952         Tests for function fstat().
38953         * modules/fstat-tests: New file.
38954         * tests/test-fstat.c: New file.
38955         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
38957 2011-09-20  Bruno Haible  <bruno@clisp.org>
38959         test-ttyname_r tests: EBADF tests.
38960         * tests/test-ttyname_r.c (main): Add tests for EBADF.
38962         Tests for module 'isatty'.
38963         * modules/isatty-tests: New file.
38964         * tests/test-isatty.c: New file.
38966         Tests for module 'write'.
38967         * modules/write-tests: New file.
38968         * tests/test-write.c: New file.
38970         Tests for module 'read'.
38971         * modules/read-tests: New file.
38972         * tests/test-read.c: New file.
38974         pwrite tests: EBADF tests.
38975         * tests/test-pwrite.c (main): Add tests for EBADF.
38977         pread tests: EBADF tests.
38978         * tests/test-pread.c (main): Add tests for EBADF.
38980         lseek tests: EBADF tests.
38981         * tests/test-lseek.c (main): Add more tests for EBADF.
38983         Tests for module 'ftruncate'.
38984         * modules/ftruncate-tests: New file.
38985         * tests/test-ftruncate.sh: New file.
38986         * tests/test-ftruncate.c: New file.
38988         fsync tests: EBADF tests.
38989         * tests/test-fsync.c (main): Add more tests for EBADF.
38991         fdatasync tests: EBADF tests.
38992         * tests/test-fdatasync.c (main): Add more tests for EBADF.
38994         Tests for module 'fchown'.
38995         * modules/fchown-tests: New file.
38996         * tests/test-fchown.c: New file.
38998         Tests for module 'fchmod'.
38999         * modules/fchmod-tests: New file.
39000         * tests/test-fchmod.c: New file.
39002         fchdir tests: EBADF tests.
39003         * tests/test-fchdir.c (main): Add more tests for EBADF.
39005         dup2 tests: EBADF tests.
39006         * tests/test-dup2.c (main): Add more tests for EBADF.
39008         Tests for module 'dup'.
39009         * modules/dup-tests: New file.
39010         * tests/test-dup.c: New file.
39012         Tests for module 'close'.
39013         * modules/close-tests: New file.
39014         * tests/test-close.c: New file.
39016 2011-09-20  Bruno Haible  <bruno@clisp.org>
39018         Tests for module 'shutdown'.
39019         * modules/shutdown-tests: New file.
39020         * tests/test-shutdown.c: New file.
39022         Tests for module 'setsockopt'.
39023         * modules/setsockopt-tests: New file.
39024         * tests/test-setsockopt.c: New file.
39026         Tests for module 'sendto'.
39027         * modules/sendto-tests: New file.
39028         * tests/test-sendto.c: New file.
39030         Tests for module 'send'.
39031         * modules/send-tests: New file.
39032         * tests/test-send.c: New file.
39034         Tests for module 'recvfrom'.
39035         * modules/recvfrom-tests: New file.
39036         * tests/test-recvfrom.c: New file.
39038         Tests for module 'recv'.
39039         * modules/recv-tests: New file.
39040         * tests/test-recv.c: New file.
39042         Tests for module 'listen'.
39043         * modules/listen-tests: New file.
39044         * tests/test-listen.c: New file.
39046         Tests for module 'getsockopt'.
39047         * modules/getsockopt-tests: New file.
39048         * tests/test-getsockopt.c: New file.
39050         Tests for module 'getsockname'.
39051         * modules/getsockname-tests: New file.
39052         * tests/test-getsockname.c: New file.
39054         Tests for module 'getpeername'.
39055         * modules/getpeername-tests: New file.
39056         * tests/test-getpeername.c: New file.
39058         Tests for module 'connect'.
39059         * modules/connect-tests: New file.
39060         * tests/test-connect.c: New file.
39062         Tests for module 'bind'.
39063         * modules/bind-tests: New file.
39064         * tests/test-bind.c: New file.
39066         accept4 tests: Fix for native Windows.
39067         * tests/test-accept4.c: Include sockets.h.
39068         (main): Invoke gl_sockets_startup.
39069         * modules/accept4-tests (Depends-on): Add sockets.
39071         accept tests: Fix for native Windows.
39072         * tests/test-accept.c: Include sockets.h.
39073         (main): Invoke gl_sockets_startup.
39074         * modules/accept-tests (Depends-on): Add sockets.
39076 2011-09-19  Bruno Haible  <bruno@clisp.org>
39078         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
39079         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
39080         do...while(0).
39081         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
39082         Suggested by Paul Eggert.
39084 2011-09-19  Bruno Haible  <bruno@clisp.org>
39086         sched: Ensure pid_t is defined.
39087         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
39088         not define pid_t.
39089         * lib/sched.in.h: Include <sys/types.h>.
39090         * doc/posix-headers/sched.texi: Mention the pid_t problem.
39091         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39093 2011-09-19  Bruno Haible  <bruno@clisp.org>
39095         msvc-inval: Ensure the entire expansion is a single statement.
39096         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
39097         of braces.
39099 2011-09-19  Jim Meyering  <meyering@redhat.com>
39101         tests: use printf, not echo in init.sh's warn_ function
39102         * tests/init.sh (warn_): Use printf, not echo.  The latter would
39103         misbehave when given strings containing a backslash or starting
39104         with e.g., -n.  James Youngman suggested setting IFS.
39106 2011-09-19  Eric Blake  <eblake@redhat.com>
39108         futimens: enhance test
39109         * tests/test-futimens.h (test_futimens): Also check for EBADF on
39110         closed non-negative fd.
39112         date: accept 'hence' as opposite of 'ago'
39113         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
39114         * tests/test-parse-datetime.c (main): Enhance test.
39115         Suggested by Jesse Wilson.
39117 2011-09-19  Jim Meyering  <meyering@redhat.com>
39119         getcwd: don't fail in a deep directory on a system without openat
39120         Before this change, getcwd would fail when called from a directory
39121         of depth PATH_MAX / 3 or greater.  That was due to the fact that
39122         the non-openat implementation used "..", "../..", "../../..", etc.
39123         to access ancestor directories.  With too many, that string would
39124         be longer than PATH_MAX.
39125         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
39126         using gnulib's openat replacement.
39127         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
39128         we're using the replacement function.
39130 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
39132         maint.mk: avoid warnings from perl about missing files
39133         * top/maint.mk (def_sym_regex): Ignore files listed in
39134         $(gl_other_headers_) that do not exist, say because a project
39135         does not use a corresponding module.
39137 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
39139         stat: use pathmax.h only if needed
39140         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
39141         This is better for Emacs, which does not have a mingw port and
39142         therefore can avoid the pathmax module.
39144         utimens: remove dependency on dup2
39145         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
39146         to work around the Linux kernel bug.
39147         * modules/utimens (Depends-on): Remove dup2.
39149 2011-09-18  Bruno Haible  <bruno@clisp.org>
39151         inet_ntop, inet_pton: Look for it also in libresolv.
39152         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
39153         libnsl, search for it in libresolv.
39154         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
39155         Needed on Solaris 7.
39157 2011-09-18  Bruno Haible  <bruno@clisp.org>
39159         accept, accept4 tests: Avoid link error on Solaris.
39160         * modules/accept-tests (Makefile.am): Link test-accept against
39161         $(LIBSOCKET).
39162         * modules/accept4-tests (Makefile.am): Link test-accept4 against
39163         $(LIBSOCKET).
39165         accept4: Avoid link error on Solaris.
39166         * modules/accept4 (Link): New section.
39168         socket functions: Avoid link errors on Solaris.
39169         * modules/accept (Depends-on): Add socketlib.
39170         (Link): New section.
39171         * modules/bind (Depends-on): Add socketlib.
39172         (Link): New section.
39173         * modules/connect (Depends-on): Add socketlib.
39174         (Link): New section.
39175         * modules/getpeername (Depends-on): Add socketlib.
39176         (Link): New section.
39177         * modules/getsockname (Depends-on): Add socketlib.
39178         (Link): New section.
39179         * modules/getsockopt (Depends-on): Add socketlib.
39180         (Link): New section.
39181         * modules/listen (Depends-on): Add socketlib.
39182         (Link): New section.
39183         * modules/recv (Depends-on): Add socketlib.
39184         (Link): New section.
39185         * modules/recvfrom (Depends-on): Add socketlib.
39186         (Link): New section.
39187         * modules/send (Depends-on): Add socketlib.
39188         (Link): New section.
39189         * modules/sendto (Depends-on): Add socketlib.
39190         (Link): New section.
39191         * modules/setsockopt (Depends-on): Add socketlib.
39192         (Link): New section.
39193         * modules/shutdown (Depends-on): Add socketlib.
39194         (Link): New section.
39195         * modules/socket (Depends-on): Add socketlib.
39196         (Link): New section.
39198 2011-09-18  Bruno Haible  <bruno@clisp.org>
39200         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
39201         * tests/test-ptsname.c (main): Terminate the test if it takes longer
39202         than 5 seconds.
39203         * modules/ptsname-tests (configure.ac): Test for alarm.
39205 2011-09-18  Bruno Haible  <bruno@clisp.org>
39207         posix_spawn_file_actions_add*: Fix module dependencies.
39208         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
39209         posix_spawn_file_actions_init.
39210         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
39211         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
39213 2011-09-18  Bruno Haible  <bruno@clisp.org>
39215         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
39216         * tests/test-rename.h (test_rename): Allow error code EEXIST.
39217         * tests/test-renameat.c (main): Likewise.
39219 2011-09-18  Bruno Haible  <bruno@clisp.org>
39221         Tests for module 'accept4'.
39222         * modules/accept4-tests: New file.
39223         * tests/test-accept4.c: New file.
39225 2011-09-18  Bruno Haible  <bruno@clisp.org>
39227         Tests for module 'accept'.
39228         * modules/accept-tests: New file.
39229         * tests/test-accept.c: New file.
39231 2011-09-18  Bruno Haible  <bruno@clisp.org>
39233         dup2: Support for MSVC.
39234         * lib/dup2.c: Include msvc-inval.h.
39235         (rpl_dup2): Handle invalid parameter notifications during dup2 and
39236         _get_osfhandle calls.
39237         * modules/dup2 (Depends-on): Add msvc-inval.
39238         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
39240         New module 'msvc-inval'.
39241         * lib/msvc-inval.h: New file.
39242         * lib/msvc-inval.c: New file.
39243         * m4/msvc-inval.m4: New file.
39244         * modules/msvc-inval: New file.
39246 2011-09-17  Bruno Haible  <bruno@clisp.org>
39248         Tests for module 'pclose'.
39249         * modules/pclose-tests: New file.
39251         New module 'pclose'.
39252         * lib/stdio.in.h (pclose): New declaration.
39253         * lib/pclose.c: New file.
39254         * m4/pclose.m4: New file.
39255         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
39256         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
39257         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
39258         * modules/pclose: New file.
39259         * modules/popen-tests (Depends-on): Add pclose.
39260         * modules/popen-safer-tests (Depends-on): Likewise.
39261         * doc/posix-functions/pclose.texi: Mention the new module.
39263 2011-09-17  Bruno Haible  <bruno@clisp.org>
39265         popen: Support for MSVC.
39266         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
39267         * lib/popen.c (popen): Provide alternate definition for native Windows.
39268         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
39269         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
39270         * modules/popen (Depends-on, configure.ac): Update condition.
39271         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
39272         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
39273         fixed.
39275 2011-09-17  Bruno Haible  <bruno@clisp.org>
39277         isnanl, isnand, isnanf: Work around MSVC bug.
39278         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
39280 2011-09-17  Bruno Haible  <bruno@clisp.org>
39282         sys_socket tests: Fix recent mistake.
39283         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
39285 2011-09-17  Bruno Haible  <bruno@clisp.org>
39287         putenv: Support for MSVC.
39288         * modules/putenv (Depends-on): Add environ.
39289         * lib/putenv.c (environ): Disable declaration.
39290         * lib/unistd.in.h: Update comment.
39292 2011-09-17  Bruno Haible  <bruno@clisp.org>
39294         math: Avoid macro redefinition warnings on MSVC.
39295         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
39296         Undefine before redefining.
39298 2011-09-17  Bruno Haible  <bruno@clisp.org>
39300         doc: Mention functions which are declared as macros.
39301         * doc/posix-functions/*[fl].texi: Mention that some functions are
39302         defined as macros with arguments only.
39304 2011-09-17  Bruno Haible  <bruno@clisp.org>
39306         Add dependencies to new dirent related modules.
39307         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
39308         * modules/fts (Depends-on): Likewise.
39309         * modules/glob (Depends-on): Likewise.
39310         * modules/savedir (Depends-on): Likewise.
39311         * modules/scandir (Depends-on): Likewise.
39312         * modules/dirent-safer (Depends-on): Add opendir, closedir.
39313         * modules/fdopendir (Depends-on): Add opendir.
39315 2011-09-17  Bruno Haible  <bruno@clisp.org>
39317         inet_pton: Support for MSVC on Windows Vista or newer.
39318         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
39319         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
39320         HAVE_DECL_INET_PTON is defined.
39321         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
39322         On platforms with <winsock2.h>, test whether inet_pton is declared in
39323         <ws2tcpip.h>. If so, arrange to replace it.
39324         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
39325         REPLACE_INET_PTON.
39326         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
39327         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
39328         (Depends-on, configure.ac): Update condition.
39329         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
39331 2011-09-17  Bruno Haible  <bruno@clisp.org>
39333         inet_ntop: Support for MSVC on Windows Vista or newer.
39334         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
39335         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
39336         HAVE_DECL_INET_NTOP is defined.
39337         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
39338         On platforms with <winsock2.h>, test whether inet_ntop is declared in
39339         <ws2tcpip.h>. If so, arrange to replace it.
39340         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
39341         REPLACE_INET_NTOP.
39342         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
39343         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
39344         (Depends-on, configure.ac): Update condition.
39345         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
39347 2011-09-16  Eric Blake  <eblake@redhat.com>
39349         test-fsync: yet another enhancement
39350         * tests/test-fsync.c (main): Also test behavior on read-only text
39351         file.
39353 2011-09-16  Bruno Haible  <bruno@clisp.org>
39355         Enhance fsync, fdatasync tests.
39356         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
39357         * tests/test-fdatasync.c (main): Likewise.
39359 2011-09-16  Bruno Haible  <bruno@clisp.org>
39361         Support for MSVC compiler: Ensure mode_t gets defined.
39362         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
39363         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
39364         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
39365         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
39366         * tests/test-fcntl-h.c: Check that mode_t is defined.
39367         * tests/test-sys_stat.c: Likewise.
39368         * tests/test-sys_types.c: Likewise.
39369         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
39370         * doc/posix-headers/sys_stat.texi: Likewise.
39371         * doc/posix-headers/sys_types.texi: Likewise.
39373 2011-09-16  Bruno Haible  <bruno@clisp.org>
39375         sys_stat: Support for MSVC.
39376         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
39377         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
39378         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
39379         MSVC.
39381 2011-09-16  Bruno Haible  <bruno@clisp.org>
39383         Support for MSVC compiler: Ensure off_t gets defined.
39384         * lib/unistd.in.h: Include <sys/types.h>.
39385         * tests/test-fcntl-h.c: Check that off_t is defined.
39386         * tests/test-sys_stat.c: Likewise.
39387         * tests/test-sys_types.c: Likewise.
39389 2011-09-16  Eric Blake  <eblake@redhat.com>
39391         fdatasync: port to Solaris
39392         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
39393         * modules/fdatasync (Link): Document it.
39394         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
39396         fdatasync: port to MacOS X 10.7
39397         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
39398         declared.
39399         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
39400         * modules/unistd (Makefile.am): Substitute it.
39401         * lib/unistd.in.h (fdatasync): Declare on MacOS.
39402         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
39404         fdatasync: minor improvements
39405         * modules/fdatasync (Depends-on): Add condition for fsync.
39406         * lib/fdatasync.c (fdatasync): Add comment.
39407         * tests/test-unistd-c++.cc: Test fdatasync.
39409         unistd: update refs to newer POSIX
39410         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
39411         Suggested by Bruno Haible.
39413         fdatasync: new module
39414         * modules/fsync (Description): Document difference to fdatasync.
39415         * modules/fdatasync: New module.
39416         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
39417         * lib/fdatasync.c (fdatasync): Likewise.
39418         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
39419         defaults.
39420         * modules/unistd (Makefile.am): Set witnesses.
39421         * lib/unistd.in.h (fdatasync): Declare.
39422         * MODULES.html.sh: Document it.
39423         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
39424         * modules/fdatasync-tests: New test.
39425         * tests/test-fdatasync.c: Likewise.
39427 2011-09-16  Eric Blake  <eblake@redhat.com>
39429         test-fsync: enhance tests
39430         * modules/fsync-tests (Depends-on): Add errno, for mingw.
39431         * tests/test-fsync.c (main): Enhance test.
39433 2011-09-15  Bruno Haible  <bruno@clisp.org>
39435         Support for MSVC compiler: Ensure ssize_t gets defined.
39436         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
39437         * doc/posix-headers/stdio.texi: Likewise.
39438         * modules/stdio (Depends-on): Add ssize_t.
39439         * modules/sys_socket (Depends-on): Likewise.
39440         * modules/sys_types (Depends-on): Likewise.
39441         * modules/sys_uio (Depends-on): Likewise.
39442         * modules/unistd (Depends-on): Likewise.
39443         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
39444         * tests/test-sys_types.c: Check that ssize_t is defined.
39446 2011-09-14  Bruno Haible  <bruno@clisp.org>
39448         Avoid using #, the m4 comment starter character, near brackets.
39449         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
39450         delimiter character in sed expressions.
39451         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
39452         Suggested by Eric Blake.
39454         Properly quote AC_CHECK_DECLS' 4th argument.
39455         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
39456         argument.
39457         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
39458         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
39459         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
39460         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
39461         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
39462         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
39463         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
39464         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
39465         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
39466         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
39467         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
39468         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
39469         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
39470         * m4/isinf.m4 (gl_ISINF): Likewise.
39471         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
39472         * m4/readutmp.m4 (gl_READUTMP): Likewise.
39473         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39474         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39475         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39476         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
39477         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
39478         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
39479         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
39480         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
39481         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
39482         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
39483         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
39484         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
39485         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
39486         Reported by Eric Blake.
39488         Properly quote AC_CHECK_DECL's 4th argument.
39489         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
39490         argument.
39491         * m4/argp.m4 (gl_ARGP): Likewise.
39492         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
39493         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
39494         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
39495         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
39496         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
39497         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
39498         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
39499         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
39500         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
39501         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
39502         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
39503         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
39504         Reported by Eric Blake.
39506 2011-09-14  Eric Blake  <eblake@redhat.com>
39508         opendir: avoid compile warning
39509         * lib/opendir.c (includes): Always include errno.h.
39510         Reported by Tatsuro MATSUOKA.
39512 2011-09-14  Jim Meyering  <meyering@redhat.com>
39514         maint.mk: sc_tight_scope: propagate failure from sub-make
39515         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
39516         Reported by Martin von Gagern.
39518 2011-09-13  Bruno Haible  <bruno@clisp.org>
39520         tempname: Support for MSVC.
39521         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
39522         MSVC.
39523         * modules/tempname (Depends-on): Add fcntl-h.
39525 2011-09-13  Bruno Haible  <bruno@clisp.org>
39527         sys_time: Support for MSVC.
39528         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
39529         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
39530         include <winsock2.h>.
39531         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
39532         function declarations that collide with POSIX.
39533         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
39534         (Makefile.am): Substitute HAVE_WINSOCK2_H.
39536 2011-09-13  Bruno Haible  <bruno@clisp.org>
39538         stat: Support for MSVC.
39539         * lib/stat.c: Include pathmax.h.
39540         * modules/stat (Depends-on): Add pathmax.
39542         pathmax: Support for native Windows.
39543         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
39545 2011-09-12  Bruno Haible  <bruno@clisp.org>
39547         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
39548         * lib/dirent.in.h (struct dirent): New type.
39549         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
39550         DT_WHT): New macros.
39551         (DIR): New type.
39552         (opendir, closedir): Declare only if the module 'opendir' is enabled.
39553         (readdir, rewinddir): New declarations.
39554         * lib/dirent-private.h: New file.
39555         * lib/opendir.c: New file.
39556         * lib/readdir.c: New file.
39557         * lib/rewinddir.c: New file.
39558         * lib/closedir.c: New file.
39559         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
39560         * m4/opendir.m4: New file.
39561         * m4/readdir.m4: New file.
39562         * m4/rewinddir.m4: New file.
39563         * m4/closedir.m4: New file.
39564         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
39565         REPLACE_CLOSEDIR here.
39566         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
39567         readdir, rewinddir are declared.
39568         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
39569         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
39570         HAVE_REWINDDIR, HAVE_CLOSEDIR.
39571         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
39572         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
39573         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
39574         * modules/opendir: New file.
39575         * modules/readdir: New file.
39576         * modules/rewinddir: New file.
39577         * modules/closedir: New file.
39578         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
39579         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
39580         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
39581         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
39582         * NEWS: Mention the 'fchdir' change.
39584 2011-09-11  Bruno Haible  <bruno@clisp.org>
39586         asm-underscore.m4: Support for MSVC.
39587         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
39588         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
39590 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
39592         Doc about crypt functions.
39593         * doc/posix-functions/crypt.texi: Expand range of glibc versions
39594         needing for _GNU_SOURCE to get crypt.
39595         * doc/posix-functions/encrypt.texi: Likewise.
39596         * doc/posix-functions/setkey.texi: Likewise.
39598 2011-09-11  Bruno Haible  <bruno@clisp.org>
39600         doc: Update regarding MSVC 9.
39601         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
39602         tested".
39603         * doc/posix-functions/*.texi: Update with info about MSVC 9.
39604         * doc/posix-headers/*.texi: Likewise.
39605         * doc/pastposix-functions/*.texi: Likewise.
39606         * doc/glibc-functions/*.texi: Likewise.
39607         * doc/glibc-headers/*.texi: Likewise.
39609 2011-09-11  Bruno Haible  <bruno@clisp.org>
39611         unistd et al.: Don't assume <unistd.h> exists.
39612         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
39613         does not exist.
39614         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
39615         exist. But include <stdlib.h>.
39616         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
39617         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
39618         symlink() does not exist.
39619         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
39620         include <io.h> instead.
39621         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
39622         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
39623         include <direct.h> instead.
39624         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
39625         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
39626         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
39627         <io.h> instead.
39628         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
39629         correctly if the system does not have hard links.
39630         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
39631         <direct.h> instead.
39632         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
39633         it when looking for function declarations.
39634         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
39635         <direct.h> and <io.h> instead.
39636         * doc/posix-headers/unistd.texi: More details about MSVC problem.
39638 2011-09-11  Bruno Haible  <bruno@clisp.org>
39640         strcase: Support for MSVC.
39641         * modules/strcase (Status, Notice): Remove obsoletion mark.
39642         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
39643         * doc/posix-functions/strncasecmp.texi: Likewise.
39645         strings: Don't assume <strings.h> exists.
39646         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
39647         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
39648         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
39649         * doc/posix-headers/strings.texi: Mention the MSVC problem.
39651 2011-09-11  Bruno Haible  <bruno@clisp.org>
39653         dirent: Don't assume <dirent.h> exists.
39654         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
39655         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
39656         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
39657         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
39659 2011-09-11  Bruno Haible  <bruno@clisp.org>
39661         Fix wint_t on MSVC.
39662         * lib/wchar.in.h (wint_t): On MSVC, override it.
39663         * lib/wctype.in.h (wint_t): Likewise.
39664         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
39665         MSVC.
39666         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
39667         * doc/posix-headers/wctype.texi: Likewise.
39669 2011-09-11  Bruno Haible  <bruno@clisp.org>
39671         sys_types: Fix typo.
39672         * lib/sys_types.in.h: Fix typo in comment.
39673         Reported by Paul Eggert.
39675         Support for MSVC compiler: Ensure size_t gets defined.
39676         * modules/strings (Depends-on): Add 'sys_types'.
39677         * modules/sys_uio (Depends-on): Likewise.
39678         * lib/sys_uio.in.h: Update comment.
39680         C++ tests for module 'sys_types'.
39681         * modules/sys_types-c++-tests: New file.
39682         * tests/test-sys_types-c++.cc: New file.
39684         Tests for module 'sys_types'.
39685         * modules/sys_types-tests: New file.
39686         * tests/test-sys_types.c: New file.
39688         New module 'sys_types'.
39689         * lib/sys_types.in.h: New file.
39690         * m4/sys_types_h.m4: New file.
39691         * modules/sys_types: New file.
39692         * doc/posix-headers/sys_types.texi: Mention the new module and the
39693         size_t problem on MSVC 9.
39695 2011-09-11  Bruno Haible  <bruno@clisp.org>
39697         Support for MSVC compiler: Avoid division by a literal 0.
39698         * lib/math.in.h (NAN): Define through a function call also on MSVC.
39699         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
39700         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
39701         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
39702         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
39703         * tests/infinity.h: New file.
39704         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
39705         on MSVC.
39706         * tests/test-ceilf1.c: Include infinity.h.
39707         (main): Use Infinityf.
39708         * tests/test-ceil1.c: Include infinity.h.
39709         (main): Use Infinityd.
39710         * tests/test-ceill.c: Include infinity.h.
39711         (main): Use Infinityl.
39712         * tests/test-dprintf-posix.c: Include infinity.h.
39713         (test_function): Use Infinityd.
39714         * tests/test-floorf1.c: Include infinity.h.
39715         (main): Use Infinityf.
39716         * tests/test-floor1.c: Include infinity.h.
39717         (main): Use Infinityd.
39718         * tests/test-floorl.c: Include infinity.h.
39719         (main): Use Infinityl.
39720         * tests/test-fprintf-posix.c: Include infinity.h.
39721         (test_function): Use Infinityd.
39722         * tests/test-frexp.c: Include infinity.h.
39723         (main): Use Infinityd.
39724         * tests/test-frexpl.c: Include infinity.h.
39725         (main): Use Infinityl.
39726         * tests/test-isfinite.c: Include infinity.h.
39727         (test_isfinitef): Use Infinityf.
39728         (test_isfinited): Use Infinityd.
39729         (test_isfinitel): Use Infinityl.
39730         * tests/test-isinf.c: Include infinity.h.
39731         (test_isinff): Use Infinityf.
39732         (test_isinfd): Use Infinityd.
39733         (test_isinfl): Use Infinityl.
39734         * tests/test-isnan.c: Include infinity.h.
39735         (test_float): Use Infinityf.
39736         (test_double): Use Infinityd.
39737         (test_long_double): Use Infinityl.
39738         * tests/test-isnanf.h: Include infinity.h.
39739         (main): Use Infinityf.
39740         * tests/test-isnand.h: Include infinity.h.
39741         (main): Use Infinityd.
39742         * tests/test-isnanl.h: Include infinity.h.
39743         (main): Use Infinityl.
39744         * tests/test-ldexpl.c: Include infinity.h.
39745         (main): Use Infinityl.
39746         * tests/test-printf-posix.h: Include infinity.h.
39747         (test_function): Use Infinityd.
39748         * tests/test-roundf1.c: Include infinity.h.
39749         (main): Use Infinityf.
39750         * tests/test-round1.c: Include infinity.h.
39751         (main): Use Infinityd.
39752         * tests/test-roundl.c: Include infinity.h.
39753         (main): Use Infinityl.
39754         * tests/test-signbit.c: Include infinity.h.
39755         (test_signbitf): Use Infinityf.
39756         (test_signbitd): Use Infinityd.
39757         (test_signbitl): Use Infinityl.
39758         * tests/test-snprintf-posix.h: Include infinity.h.
39759         (test_function): Use Infinityd, Infinityl.
39760         * tests/test-sprintf-posix.h: Include infinity.h.
39761         (test_function): Use Infinityd, Infinityl.
39762         * tests/test-truncf1.c: Include infinity.h.
39763         (main): Use Infinityf.
39764         * tests/test-trunc1.c: Include infinity.h.
39765         (main): Use Infinityd.
39766         * tests/test-truncl.c: Include infinity.h.
39767         (main): Use Infinityl.
39768         * tests/test-vasnprintf-posix.c: Include infinity.h.
39769         (test_function): Use Infinityd, Infinityl.
39770         * tests/test-vasprintf-posix.c: Include infinity.h.
39771         (test_function): Use Infinityd, Infinityl.
39772         * modules/ceilf-tests (Files): Add tests/infinity.h.
39773         * modules/ceil-tests (Files): Likewise.
39774         * modules/ceill-tests (Files): Likewise.
39775         * modules/dprintf-posix-tests (Files): Likewise.
39776         * modules/floorf-tests (Files): Likewise.
39777         * modules/floor-tests (Files): Likewise.
39778         * modules/floorl-tests (Files): Likewise.
39779         * modules/fprintf-posix-tests (Files): Likewise.
39780         * modules/frexp-tests (Files): Likewise.
39781         * modules/frexp-nolibm-tests (Files): Likewise.
39782         * modules/frexpl-tests (Files): Likewise.
39783         * modules/frexpl-nolibm-tests (Files): Likewise.
39784         * modules/isfinite-tests (Files): Likewise.
39785         * modules/isinf-tests (Files): Likewise.
39786         * modules/isnan-tests (Files): Likewise.
39787         * modules/isnanf-tests (Files): Likewise.
39788         * modules/isnanf-nolibm-tests (Files): Likewise.
39789         * modules/isnand-tests (Files): Likewise.
39790         * modules/isnand-nolibm-tests (Files): Likewise.
39791         * modules/isnanl-tests (Files): Likewise.
39792         * modules/isnanl-nolibm-tests (Files): Likewise.
39793         * modules/ldexpl-tests (Files): Likewise.
39794         * modules/printf-posix-tests (Files): Likewise.
39795         * modules/roundf-tests (Files): Likewise.
39796         * modules/round-tests (Files): Likewise.
39797         * modules/roundl-tests (Files): Likewise.
39798         * modules/signbit-tests (Files): Likewise.
39799         * modules/snprintf-posix-tests (Files): Likewise.
39800         * modules/sprintf-posix-tests (Files): Likewise.
39801         * modules/truncf-tests (Files): Likewise.
39802         * modules/trunc-tests (Files): Likewise.
39803         * modules/truncl-tests (Files): Likewise.
39804         * modules/vasnprintf-posix-tests (Files): Likewise.
39805         * modules/vasprintf-posix-tests (Files): Likewise.
39806         * modules/vdprintf-posix-tests (Files): Likewise.
39807         * modules/vfprintf-posix-tests (Files): Likewise.
39808         * modules/vprintf-posix-tests (Files): Likewise.
39809         * modules/vsnprintf-posix-tests (Files): Likewise.
39810         * modules/vsprintf-posix-tests (Files): Likewise.
39811         * modules/xprintf-posix-tests (Files): Likewise.
39813 2011-09-11  Bruno Haible  <bruno@clisp.org>
39815         Ensure pid_t gets defined.
39816         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
39817         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
39818         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
39819         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
39820         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
39821         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
39822         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
39823         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
39824         * tests/test-fcntl-h.c: Check that pid_t is defined.
39825         * tests/test-sched.c: Likewise.
39826         * tests/test-termios.c: Likewise.
39827         * tests/test-time.c: Likewise.
39828         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
39829         * doc/posix-headers/signal.texi: Likewise.
39830         * doc/posix-headers/sys_types.texi: Likewise.
39831         * doc/posix-headers/time.texi: Likewise.
39833 2011-09-11  Bruno Haible  <bruno@clisp.org>
39835         acl: Fix compilation on Solaris 10 (older version).
39836         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
39837         of ACE_EVERYONE.
39838         * lib/set-mode-acl.c (qset_acl): Likewise.
39839         Reported by Christian Jullien <eligis@orange.fr>.
39841 2011-09-10  Bruno Haible  <bruno@clisp.org>
39843         iconv, unsetenv: Add support for MSVC compiler.
39844         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
39845         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
39847 2011-09-10  Bruno Haible  <bruno@clisp.org>
39849         *printf: Add support for MSVC compiler.
39850         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
39851         handles the exception caused by the %n directive. When cross-compiling,
39852         guess no on native Windows.
39853         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
39854         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
39855         emulate it through vsnprintf.
39856         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
39857         * doc/posix-functions/dprintf.texi: Update documentation regarding
39858         MSVC 9.
39859         * doc/posix-functions/fprintf.texi: Likewise.
39860         * doc/posix-functions/printf.texi: Likewise.
39861         * doc/posix-functions/snprintf.texi: Likewise.
39862         * doc/posix-functions/sprintf.texi: Likewise.
39863         * doc/posix-functions/swprintf.texi: Likewise.
39864         * doc/posix-functions/vdprintf.texi: Likewise.
39865         * doc/posix-functions/vfprintf.texi: Likewise.
39866         * doc/posix-functions/vprintf.texi: Likewise.
39867         * doc/posix-functions/vsnprintf.texi: Likewise.
39868         * doc/posix-functions/vsprintf.texi: Likewise.
39869         * doc/glibc-functions/asprintf.texi: Likewise.
39870         * doc/glibc-functions/obstack_printf.texi: Likewise.
39871         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
39872         * doc/glibc-functions/vasprintf.texi: Likewise.
39874 2011-09-10  Bruno Haible  <bruno@clisp.org>
39876         nocrash: Add support for native Windows.
39877         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
39879 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
39880             Bruno Haible  <bruno@clisp.org>
39882         absolute-header, include-next: Add support for MSVC compiler.
39883         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
39884         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
39885         directory separator in #line directives.
39886         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
39887         recognize also backslash as directory separator in #line directives.
39889 2011-09-08  Jim Meyering  <meyering@redhat.com>
39891         maint.mk: mark the post-release commit log with "maint: " prefix
39892         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
39893         one-line commit-log summary.
39895 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
39896             Bruno Haible  <bruno@clisp.org>
39898         Doc about crypt functions.
39899         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
39900         systems.
39901         * doc/posix-functions/encrypt.texi: Likewise.
39902         * doc/posix-functions/setkey.texi: Likewise.
39904 2011-09-08  Simon Josefsson  <simon@josefsson.org>
39906         * lib/gc.h: Fix copyright header.
39908 2011-09-07  Bruno Haible  <bruno@clisp.org>
39910         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
39911         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
39912         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
39914 2011-09-07  Bruno Haible  <bruno@clisp.org>
39916         openat: Work around compilation error with OSF/1 5.1 DTK cc.
39917         * lib/fopen.c: Use different syntax for include of <stdio.h>.
39918         * lib/freopen.c: Likewise.
39919         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
39920         * lib/lstat.c: Likewise.
39921         * lib/stat.c: Likewise.
39922         * lib/open.c: Use different syntax for include of <fcntl.h>.
39923         * lib/openat.c: Include fcntl.h again, explicitly.
39925 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
39927         parse-datetime: document the newly accepted format
39928         * doc/parse-datetime.texi (Combined date and time of day items):
39929         New section.
39931 2011-09-06  Bruno Haible  <bruno@clisp.org>
39933         acl: Fix a test failure on newer Solaris 10 with ZFS.
39934         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
39935         ENOSYS as no ACL.
39936         Reported by Jim Meyering.
39938 2011-09-06  Bruno Haible  <bruno@clisp.org>
39940         acl: Update for AIX >= 5.3 with NFS.
39941         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
39942         ENOSYS as no ACL.
39944         acl: Fix a test failure on AIX >= 5.3 with NFS.
39945         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
39946         as no ACL.
39948 2011-09-06  Bruno Haible  <bruno@clisp.org>
39950         acl: Fix a test failure on IRIX 6.5 with NFS.
39951         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
39952         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
39953         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
39954         * lib/copy-acl.c (qcopy_acl): Likewise.
39956 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
39958         openat: port to AIX 7.1 with large files
39959         AIX 7.1 does a "#define openat open64at" if large files are in use,
39960         so we can't simply #undef openat.  Use the orig_openat trick (similar
39961         to orig_open in lib/open.c) to work around the problem.  Problem
39962         reported by Kevin Brott for GNU tar, in the thread containing
39963         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
39964         * lib/openat.c (__need_system_fcntl_h): Define first.
39965         Include <fcntl.h> and <sys/types.h> before undefining.
39966         (orig_openat) [HAVE_OPENAT]: New inline function.
39967         (openat) [HAVE_OPENAT]: Do not undef.
39968         (rpl_openat): Use orig_openat, not openat.
39970 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
39971             Bruno Haible  <bruno@clisp.org>
39973         acl: Avoid errors on NonStop Kernel.
39974         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
39975         ENOTSUP errors.
39977 2011-09-05  Bruno Haible  <bruno@clisp.org>
39979         acl: Clean up Solaris code.
39980         * lib/acl-internal.h: Remove no-op #if.
39981         * lib/file-has-acl.c: Likewise.
39982         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
39983         * lib/copy-acl.c (qcopy_acl): Likewise.
39985 2011-09-05  Bruno Haible  <bruno@clisp.org>
39987         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
39988         binaries built on the original Solaris 10.
39989         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
39990         trivial.
39992 2011-09-05  Bruno Haible  <bruno@clisp.org>
39994         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
39995         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
39996         10.
39997         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
39998         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
39999         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
40000         instead of acl_get, facl_get, acl_set, facl_set.
40002 2011-09-05  Bruno Haible  <bruno@clisp.org>
40004         copy-file: Try unit tests on more file systems.
40005         * tests/test-copy-file-1.sh: New file.
40006         * tests/test-copy-file-2.sh: New file.
40007         * modules/copy-file-tests (Files): Add them.
40008         (Makefile.am): Add them to TESTS.
40010         acl: Try unit tests on more file systems.
40011         * tests/test-file-has-acl-1.sh: New file.
40012         * tests/test-file-has-acl-2.sh: New file.
40013         * tests/test-set-mode-acl-1.sh: New file.
40014         * tests/test-set-mode-acl-2.sh: New file.
40015         * tests/test-copy-acl-1.sh: New file.
40016         * tests/test-copy-acl-2.sh: New file.
40017         * modules/acl-tests (Files): Add them.
40018         (Makefile.am): Add them to TESTS.
40020 2011-09-04  Bruno Haible  <bruno@clisp.org>
40022         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
40023         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
40024         10.
40025         (OLD_ALLOW, OLD_DENY): New macros.
40026         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
40027         ACE_ACCESS_ALLOWED_ACE_TYPE.
40028         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
40029         ACE_ACCESS_DENIED_ACE_TYPE.
40030         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
40031         (NEW_ACE_EXECUTE): Fix value.
40032         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
40033         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
40034         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
40035         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
40036         NEW_ACE_SYNCHRONIZE): New macros.
40037         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
40038         instead of acl_fromtext, acl_set, facl_set.
40039         Fixes a coreutils/tests/cp/perm failure.
40041 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
40043         openat: test for fstatat (..., 0) bug
40044         Further testing with tar suggests that fstatat (..., 0)
40045         does not work in general, on AIX 7.1; see
40046         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
40047         So, give up entirely on AIX 7.1's fstatat, and fall back on our
40048         replacement fstatat (which is what older AIX releases were using
40049         anyway).
40050         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
40051         use is now changed to orig_fstatat.  This was probably the right
40052         thing to do anyway.
40053         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
40054         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
40055         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
40056         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
40057         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
40058         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
40059         if the bug is found.
40061         openat: test for fstatat (AT_FDCWD, ..., 0) bug
40062         This tests for another fstatat bug on AIX 7.1:
40063         fstatat (AT_FDCWD, ..., 0) does not work.  See
40064         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
40065         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
40066         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
40067         (rpl_fstatat): Adjust so that it works around either (or both)
40068         bugs if present.
40069         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
40071 2011-09-03  Karl Berry  <karl@gnu.org>
40073         * doc/regex.texi (Character Class Operators): Avoid literal ":"
40074         in index entries.
40076 2011-09-02  Bruno Haible  <bruno@clisp.org>
40078         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
40079         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
40080         values of AR, ARFLAGS, RANLIB.
40081         Reported by John W. Eaton <jwe@gnu.org> for Octave.
40083 2011-09-02  Bruno Haible  <bruno@clisp.org>
40085         Find 'ar' program that fits with --host argument.
40086         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
40088 2011-09-02  Bruno Haible  <bruno@clisp.org>
40090         tests: init.sh: Support any non-GNU diff.
40091         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
40092         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
40093         Solaris 8.
40095 2011-09-02  Bruno Haible  <bruno@clisp.org>
40097         tests: init.sh: work also with any non-GNU diff that supports -u
40098         * tests/init.sh: Relax check for diff -u support.
40099         Rather than checking for GNU diff via --version, simply check
40100         for support for -u itself.  Useful at least on OpenBSD 4.9,
40101         AIX 7.1, IRIX 6.5, and Solaris 10.
40103 2011-09-01  Bruno Haible  <bruno@clisp.org>
40105         strtoimax, strtoumax: Document problem on HP-UX 11.
40106         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
40107         * doc/posix-functions/strtoumax.texi: Likewise.
40109 2011-09-01  Bruno Haible  <bruno@clisp.org>
40111         strtoumax: Avoid link error on OSF/1 with DTK cc.
40112         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
40113         defined as a function.
40114         * modules/strtoumax (Depends-on, configure.ac): Test only whether
40115         strtoumax is defined, not whether it is declared.
40117 2011-09-01  Bruno Haible  <bruno@clisp.org>
40119         strtoimax: Avoid link error on OSF/1 with DTK cc.
40120         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
40121         defined as a function.
40122         * modules/strtoimax (Depends-on, configure.ac): Test only whether
40123         strtoimax is defined, not whether it is declared.
40125 2011-09-01  Bruno Haible  <bruno@clisp.org>
40127         imaxdiv: Avoid link error on OSF/1 with DTK cc.
40128         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
40129         as a function.
40130         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
40131         whether it is declared.
40133 2011-09-01  Bruno Haible  <bruno@clisp.org>
40135         imaxabs: Avoid link error on OSF/1 with DTK cc.
40136         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
40137         as a function.
40138         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
40139         whether it is declared.
40141 2011-09-01  Bruno Haible  <bruno@clisp.org>
40143         Tests for module 'strtoumax'.
40144         * modules/strtoumax-tests: New file.
40145         * tests/test-strtoumax.c: New file.
40147         Tests for module 'strtoimax'.
40148         * modules/strtoimax-tests: New file.
40149         * tests/test-strtoimax.c: New file.
40151         Tests for module 'imaxdiv'.
40152         * modules/imaxdiv-tests: New file.
40153         * tests/test-imaxdiv.c: New file.
40155         Tests for module 'imaxabs'.
40156         * modules/imaxabs-tests: New file.
40157         * tests/test-imaxabs.c: New file.
40159 2011-09-01  Bruno Haible  <bruno@clisp.org>
40161         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
40162         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
40163         pthread_create.
40165 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40167         openat: work around AIX 7.1 fstatat issue
40168         This should fix the problem that was not properly fixed
40169         in the previous change, dated 2011-08-30.
40170         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
40171         __need_system_stat_h defined.
40172         (orig_fstatat) [HAVE_FSTATAT]: New function.
40173         (rpl_fstatat): Go back to the old way of doing things,
40174         except call orig_fstatat instead of fstatat.
40175         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
40176         Remove unnecessary check whether fstatat fills in st_size etc.
40178 2011-09-01  Bruno Haible  <bruno@clisp.org>
40180         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
40181         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
40182         just include the system's header.
40184 2011-08-31  Jim Meyering  <meyering@redhat.com>
40186         tests: avoid spurious assertion failure in test-float.c on ppc64
40187         * tests/test-float.c (test_long_double): Comment out an assertion,
40188         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
40189         with gcc-4.4.4.
40191         maint: indent with spaces, not TABs
40192         I need to get in the habit of running gnulib's "make check".
40193         Both of these would have been caught.
40194         * m4/largefile.m4: Indent with spaces, not TABs.
40195         * lib/parse-datetime.y (iso_8601_time): Likewise.
40196         Spotted by Pádraig Brady.
40198         test-parse-datetime.c: accommodate a relatively strict gcc warning
40199         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
40200         to avoid a warning from gcc's -Werror=missing-declarations.
40201         Insert a few spaces-before-funcall-parenthesis.
40203 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
40205         parse-datetime: accept ISO 8601 date and time rep with "T" separator
40206         The parser now accepts ISO 8601 date-time strings with "T" as the
40207         separator.  It has long parsed dates like "2004-02-29 16:21:42"
40208         with a space between the date and time strings.  Now it also parses
40209         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
40210         variants like "2004-02-29T16:21:42.333-07:00"
40211         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
40212         of day representation using the 'T' separator character.
40213         * doc/parse-datetime.texi (General date syntax): replace use of
40214         deprecated --iso-8601 option with --rfc-3339 in example of date
40215         command output formats that can be parsed.
40216         * tests/test-parse-datetime.c (tm_diff): New function, taken from
40217         lib/parse-datetime.y.
40218         (gmt_offset): New function.
40219         (main): Add additional test cases to validate ISO8601 extended
40220         date and time of day parsing.
40222 2011-08-31  Bruno Haible  <bruno@clisp.org>
40224         freopen: Documentation.
40225         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
40226         name.
40227         Reported by Claudio Bley <claudio.bley@gmail.com>.
40229 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
40231         freopen: Don't crash if the filename argument is NULL.
40232         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
40233         NULL.
40235 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
40237         openat: work around AIX 7.1 fstatat bug
40238         Problem reported by Kevin Brott for GNU tar, in the thread containing
40239         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
40240         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
40241         FSTATAT_ST_SIZE_ETC_BROKEN.
40242         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
40243         rpl_fstatat.
40244         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
40245         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
40246         AC_CHECK_FUNCS_ONCE for fstatat.
40247         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
40248         fchmodat, mkdirat, openat and unlinkat.
40250 2011-08-30  Bruno Haible  <bruno@clisp.org>
40252         Avoid endless recursions if config.h includes some header files.
40253         * lib/fopen.c (__need_FILE): Define already before including config.h.
40254         * lib/freopen.c (__need_FILE): Likewise.
40255         * lib/open.c (__need_system_fcntl_h): Likewise.
40256         * lib/stat.c (__need_system_sys_stat_h): Likewise.
40257         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
40258         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
40260 2011-08-25  Karl Berry  <karl@gnu.org>
40262         * config/srclist.txt (ylwrap): new try.
40263         * build-aux/ylwrap: new file.
40265 2011-08-23  Bruno Haible  <bruno@clisp.org>
40267         tmpdir: Use a good default directory on native Windows.
40268         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
40269         (P_tmpdir): Default to _P_tmpdir on native Windows.
40270         (path_search): On native Windows, try the value returned by GetTempPath
40271         before trying P_tmpdir.
40272         * modules/tmpdir (Depends-on): Add pathmax.
40273         Suggested by John Darrington <john@darrington.wattle.id.au>.
40275 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
40277         doc: fix typo in README-release
40278         * top/README-release: Capitalize first word of a sentence.
40280 2011-08-19  Jim Meyering  <meyering@redhat.com>
40282         fts: do not exhaust memory when processing million-entry directories
40283         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
40284         directory would require about 256*N bytes of memory.  Thus, it was
40285         easy to construct a directory too large to be processed by any of
40286         those tools.  With this change, fts' maximum memory utilization is
40287         now limited to around 30MB.
40288         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
40289         (fts_read): When we've processed the final entry (i.e., when
40290         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
40291         using the parent entry to read any remaining entries.  Dispatch
40292         depending on what fts_build returns:
40293         - NULL+stop, aka failure: stop
40294         - NULL otherwise: move up in the dir hierarchy
40295         - non-NULL: handle this new entry
40296         (fts_build): Declare and use new local, continue_readdir.
40297         Prepare to be called from fts_read, when the entries
40298         from a partially-read directory have just been exhausted.
40299         In that case, we'll skip the opendir and instead use the parent's
40300         fts_dirp and derive dir_fd from that.
40301         Finally, in the readdir loop, if we read max_entries entries,
40302         exit the loop ensuring *not* to call closedir.  This is required
40303         so that fts_dirp can be reused on a subsequent call.
40304         Prompted by Ben England's report of memory exhaustion in find
40305         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
40307         maint: fts: move decl of `dp' down into while loop; split a long line
40308         * lib/fts.c (fts_build): No semantic change.
40310         fts: add/use new struct member, fts_dirp
40311         We are about to use this to manage any directory with
40312         too many entries to read all of them into memory at once.
40313         To do that, we'll need to save the DIR* pointer in each
40314         affected FTSENT struct.
40315         * lib/fts_.h: Include <dirent.h>.
40316         (struct FTSENT) [fts_dirp]: New member.
40317         * lib/fts.c (closedir_and_clear): Define.
40318         Use it in place of closedir so that we are sure to
40319         clear the new fts_dirp member when done with it.
40320         (fts_alloc): Initialize the new member.
40321         (fts_lfree): Free, if needed.
40323         maint: fts: give __opendir2 a new parameter and rename
40324         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
40325         than surreptitiously using sole caller's "dir_fd".
40326         (fts_opendir): Rename from __opendir2.
40328         maint: fts.c: remove __opendir2's now-unused parameter, oflag
40329         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
40331         maint: fts.c: correct off-by-one indentation
40332         * lib/fts.c (fts_build): Correct indentation, change style
40333         of a couple of block comments, and bracing style.
40335         maint: fts.c: move __opendir2 #define "up" out of function body
40336         * lib/fts.c (__opendir2): Move "up".  No semantic change.
40338         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
40339         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
40340         out for a long time and besides was useful only on BSD systems.
40342 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
40344         regex: port to Stratus OpenVOS
40345         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
40346         define to empty, rather than attempting nonportable optimizations.
40347         Problem reported by Paul Green in:
40348         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
40349         and fix suggested by Eric Blake in:
40350         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
40352 2011-08-17  Eric Blake  <eblake@redhat.com>
40354         getcwd: fix test failures on mingw
40355         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
40356         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
40357         test if long directory cannot be created, and allow mingw errno.
40359         getcwd-lgpl: fix m4 to match relaxed test for BSD
40360         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
40361         (gl_FUNC_GETCWD_SIGNATURE): New macro.
40362         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
40363         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
40364         signature problem.
40366         getcwd: fix compilation on mingw64
40367         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
40368         getcwd.
40369         Reported by Marc-André Lureau.
40371         pipe2: silence compiler warning
40372         * lib/pipe2.c (pipe2): Hide label if it is not used.
40374 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
40376         relocatable-prog: fix link error
40377         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
40378         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
40379         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
40380         into modules/relocatable-lib without noticing that
40381         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
40382         also needs to build relocatable.c.
40384 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
40386         getaddrinfo: fix sh typo in gai_strerrorA decl checking
40387         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
40388         shell code: it contained a 'break' that was not in a loop.
40389         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
40390         via a shell-language loop; this may have been true in old Autoconf
40391         versions, but it's not true in Autoconf 2.68.  I found this bug
40392         when testing coreutils git on Solaris 8, whose shell complains
40393         about the syntax error.
40395 2011-08-12  Simon Josefsson  <simon@josefsson.org>
40397         * lib/base64.c: Fix comment to reference RFC 4648.
40398         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
40399         <gvtulder@gmail.com>.
40401 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
40403         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
40405         po/Makefile.in.in: fix make -q problem
40406         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
40407         rule, since there's no file named 'check-macro-version' and its
40408         use as a file breaks make -q.
40409         (all): Don't depend on check-macro-version.
40410         (CHECK_MACRO_VERSION): New macro.
40411         (stamp-po): Use it.
40413         configmake: fix make -q problem
40414         * modules/configmake (configmake.h): Update configmake.h's time stamp
40415         even if the file does not change.  Otherwise, 'make -q' fails.
40416         Problem reported by Simon Josefsson in
40417         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
40419 2011-08-11  Jim Meyering  <meyering@redhat.com>
40421         git-version-gen: correct the advice in a comment
40422         * build-aux/git-version-gen: Correct comment.
40423         Don't recommend to list .tarball-version in .gitignore.
40425 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
40427         base64: fix off-by-one buffer size bug
40428         Problem and (trivial) fix reported by Gijs van Tulder in
40429         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
40430         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
40431         * tests/test-base64.c (main): Catch the bug.
40433 2011-08-10  Eric Blake  <eblake@redhat.com>
40435         closein: correct comments
40436         * lib/closein.c (close_stdin): Improve comments.
40438 2011-08-09  Bruno Haible  <bruno@clisp.org>
40440         More tests for 'fseeko'.
40441         * tests/test-fseeko3.c: New file, from Eric Blake.
40442         * tests/test-fseeko3.sh: New file.
40443         * modules/fseeko-tests (Files): Add them.
40444         (TESTS): Add test-fseeko3.sh.
40445         (check_PROGRAMS): Add test-fseeko3.
40447 2011-08-09  Eric Blake  <eblake@redhat.com>
40449         fseeko: remove unneeded hack
40450         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
40452         fseeko: fix bug on glibc
40453         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
40454         Reported by John W. Eaton.
40456 2011-08-08  Bruno Haible  <bruno@clisp.org>
40458         unictype/base: Fix interoperability with preinstalled libunistring.
40459         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
40460         Reported by Simon Josefsson.
40462 2011-08-08  Bruno Haible  <bruno@clisp.org>
40464         iswblank: Detect declaration correctly.
40465         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
40466         AC_CHECK_DECLS invocation.
40468 2011-08-08  Bruno Haible  <bruno@clisp.org>
40470         tcgetsid: Detect declaration correctly.
40471         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
40472         AC_CHECK_DECLS invocation.
40473         Reported by Simon Josefsson.
40475 2011-08-08  Eric Blake  <eblake@redhat.com>
40477         largefile: fix typo that regressed large file support
40478         * modules/largefile (configure.ac-early): Fix section name.
40480 2011-08-06  Karl Berry  <karl@gnu.org>
40482         * MODULES.html.sh (func_all_files): _Noreturn is no longer
40483         a separate module.
40485 2011-08-05  Simon Josefsson  <simon@josefsson.org>
40487         openat: Fix warnings and commens when building unlinkat.c on Hurd.
40488         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
40489         get prototype for free.
40491 2011-08-04  Bruno Haible  <bruno@clisp.org>
40493         Tests for module 'pathmax'.
40494         * modules/pathmax-tests: New file.
40495         * tests/test-pathmax.c: New file.
40497         canonicalize-lgpl: Support larger filenames on the Hurd.
40498         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
40499         Reported by Paul Eggert.
40501         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
40502         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
40503         * lib/chdir-long.h: Include pathmax.h.
40504         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
40505         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
40506         (PATH_MAX): Remove code that is done by pathmax.h.
40507         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
40508         * lib/tmpfile.c: Add a comment.
40509         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
40510         * modules/chdir-long (Depends-on): Add pathmax.
40511         * modules/getcwd (Depends-on): Add pathmax.
40512         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
40513         is not defined.
40514         * doc/posix-headers/limits.texi: Mention the pathmax module.
40515         * NEWS: Mention the change.
40517 2011-08-02  Bruno Haible  <bruno@clisp.org>
40519         pthread_sigmask: Actually use results of gl_THREADLIB.
40520         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
40521         gl_THREADLIB, not gl_[]THREADLIB.
40522         Reported by Eric Blake.
40524 2011-08-02  Jim Meyering  <meyering@redhat.com>
40526         maint.mk: relax the default _gl_TS_function_match regexp
40527         * top/maint.mk (_gl_TS_function_match): Don't require at least one
40528         space between function name and "(" in an "extern" declaration.
40529         That would fail to match a decl with no space there: extern void foo();
40531 2011-07-31  Iain Nicol  <iain@thenicols.net>
40533         git-version-gen: document that EXTRA_DIST must include .version
40534         * build-aux/git-version-gen: In the how-to-use comment, document
40535         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
40536         will fail when run from an unpacked distribution tarball.
40538 2011-08-01  Bruno Haible  <bruno@clisp.org>
40540         wctype-h: Fix last change.
40541         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
40542         REPLACE_TOWLOWER to 0.
40543         Reported by Sam Steingold <sds@gnu.org>.
40545 2011-07-31  Bruno Haible  <bruno@clisp.org>
40547         frexpl: Update autoconf test.
40548         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
40549         according to changes of 2011-06-20.
40551 2011-07-31  Bruno Haible  <bruno@clisp.org>
40553         sys_utsname: Add support for Minix.
40554         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
40555         <sys/utsname.h>.
40556         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
40557         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
40559 2011-07-31  Bruno Haible  <bruno@clisp.org>
40561         strings: Add support for Minix.
40562         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
40563         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
40564         * doc/posix-headers/strings.texi: Document the Minix problem.
40566 2011-07-31  Bruno Haible  <bruno@clisp.org>
40568         wctype-h: Add support for Minix.
40569         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
40570         REPLACE_TOWLOWER.
40571         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
40572         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
40573         REPLACE_ISWCNTRL.
40575 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
40577         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
40578         This is a performance improvement for 64-bit hosts: it causes the
40579         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
40581 2011-07-31  Bruno Haible  <bruno@clisp.org>
40583         stdioext: Add support for Minix.
40584         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
40585         * lib/fpurge.c (fpurge): Likewise.
40586         * lib/freadahead.c (freadahead): Likewise.
40587         * lib/freadable.c (freadable): Likewise.
40588         * lib/freading.c (freading): Likewise.
40589         * lib/freadptr.c (freadptr): Likewise.
40590         * lib/freadseek.c (freadptrinc): Likewise.
40591         * lib/fseeko.c (rpl_fseeko): Likewise.
40592         * lib/fseterr.c (fseterr): Likewise.
40593         * lib/fwritable.c (fwritable): Likewise.
40594         * lib/fwriting.c (fwriting): Likewise.
40595         * lib/fflush.c (clear_ungetc_buffer): Update comment.
40596         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
40598 2011-07-31  Bruno Haible  <bruno@clisp.org>
40600         errno: Port to Minix.
40601         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
40602         ECONNABORTED are defined.
40603         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
40604         GNULIB_defined_ECONNABORTED): New macros.
40605         * lib/strerror-override.h (strerror_override): Test also
40606         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
40607         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
40608         ECONNABORTED.
40609         * doc/posix-headers/errno.texi: Mention the Minix problem.
40611 2011-07-31  Bruno Haible  <bruno@clisp.org>
40613         Work around declaration collisions on Minix.
40614         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
40615         defined, set REPLACE_MBSINIT.
40616         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
40617         defined, set REPLACE_MBRTOWC.
40618         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
40619         set REPLACE_MBRLEN.
40620         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
40621         defined, set REPLACE_MBSRTOWCS.
40622         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
40623         defined, set REPLACE_WCRTOMB.
40624         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
40625         defined, set REPLACE_WCSRTOMBS.
40627 2011-07-31  Bruno Haible  <bruno@clisp.org>
40629         Add support for Minix with ACK compiler.
40630         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
40631         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
40632         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
40634 2011-07-31  Bruno Haible  <bruno@clisp.org>
40636         Documentation about Minix.
40637         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
40638         * doc/glibc-headers/*.texi: Likewise.
40639         * doc/posix-functions/*.texi: Likewise.
40640         * doc/glibc-functions/*.texi: Likewise.
40642 2011-07-31  Bruno Haible  <bruno@clisp.org>
40644         snippet/warn-on-use: Fix indentation.
40645         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
40647 2011-07-25  Jim Meyering  <meyering@redhat.com>
40649         tests: test-update-copyright.sh: remove unnecessary "rm" commands
40650         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
40651         commands.
40653 2011-07-27  Jim Meyering  <meyering@redhat.com>
40655         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
40656         * top/maint.mk (gl_extract_significant_defines_): Now that
40657         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
40658         gnulib/lib/signal.in.h, and now that we recommend to
40659         define-if-undefined those two symbols in application code,
40660         we must filter them out of the "significant" list.
40661         This avoids a "make syntax-check" failure in coreutils.
40663 2011-07-26  Eric Blake  <eblake@redhat.com>
40665         warnings: add comments about previous patch
40666         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
40667         * m4/include_next.m4: Likewise.
40668         * m4/warn-on-use.m4: Likewise.
40669         * m4/warnings.m4: Likewise, and simplify use.
40670         Suggested by Stefano Lattarini.
40672         include-next, warnings: support older autoconf
40673         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
40674         AS_VAR_PUSHDEF in a way that works with older autoconf.
40675         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
40676         Reported by Daniel P. Berrange.
40678 2011-07-25  Bruno Haible  <bruno@clisp.org>
40680         fseek, ftell: Fix doc.
40681         * doc/posix-functions/fseek.texi: Reword statement about
40682         AC_SYS_LARGEFILE.
40683         * doc/posix-functions/ftell.texi: Likewise.
40685 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
40686             Bruno Haible  <bruno@clisp.org>
40688         Add dependencies to the 'largefile' module.
40689         * modules/fopen (Depends-on): Add 'largefile'.
40690         * modules/freopen (Depends-on): Likewise.
40691         * modules/fseeko (Depends-on): Likewise.
40692         * modules/ftello (Depends-on): Likewise.
40693         * modules/glob (Depends-on): Likewise.
40694         * modules/lseek (Depends-on): Likewise.
40695         * modules/lstat (Depends-on): Likewise.
40696         * modules/mkostemp (Depends-on): Likewise.
40697         * modules/mkostemps (Depends-on): Likewise.
40698         * modules/mkstemp (Depends-on): Likewise.
40699         * modules/mkstemps (Depends-on): Likewise.
40700         * modules/open (Depends-on): Likewise.
40701         * modules/openat (Depends-on): Likewise.
40702         * modules/pread (Depends-on): Likewise.
40703         * modules/pwrite (Depends-on): Likewise.
40704         * modules/scandir (Depends-on): Likewise.
40705         * modules/stat (Depends-on): Likewise.
40706         * modules/tmpfile (Depends-on): Likewise.
40707         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
40708         since the containing module now depends on the largefile module.
40709         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
40710         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
40711         off_t is fixed by gnulib.
40712         * doc/posix-functions/freopen.texi: Likewise.
40713         * doc/posix-functions/fseeko.texi: Likewise.
40714         * doc/posix-functions/fstatat.texi: Likewise.
40715         * doc/posix-functions/ftello.texi: Likewise.
40716         * doc/posix-functions/glob.texi: Likewise.
40717         * doc/posix-functions/lseek.texi: Likewise.
40718         * doc/posix-functions/lstat.texi: Likewise.
40719         * doc/posix-functions/mkstemp.texi: Likewise.
40720         * doc/posix-functions/open.texi: Likewise.
40721         * doc/posix-functions/openat.texi: Likewise.
40722         * doc/posix-functions/pread.texi: Likewise.
40723         * doc/posix-functions/pwrite.texi: Likewise.
40724         * doc/posix-functions/scandir.texi: Likewise.
40725         * doc/posix-functions/stat.texi: Likewise.
40726         * doc/posix-functions/tmpfile.texi: Likewise.
40727         * doc/glibc-functions/mkostemp.texi: Likewise.
40728         * doc/glibc-functions/mkostemps.texi: Likewise.
40729         * doc/glibc-functions/mkstemps.texi: Likewise.
40731 2011-07-25  Bruno Haible  <bruno@clisp.org>
40733         fcntl: Move AC_LIBOBJ invocation to module description.
40734         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
40735         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
40737         fcntl: Remove call-in from fchdir.m4.
40738         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
40739         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
40741         dup3: Remove potential call-in from fchdir.m4.
40742         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
40743         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
40745         dup2: Move AC_LIBOBJ invocation to module description.
40746         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
40747         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
40748         Don't invoke AC_LIBOBJ.
40749         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
40751         dup2: Remove call-in from fchdir.m4.
40752         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
40753         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
40755         fclose: Move AC_LIBOBJ invocation to module description.
40756         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
40757         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
40758         to 1.
40759         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
40761         fclose: Remove call-in from close.m4.
40762         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
40763         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
40765         close: Move AC_LIBOBJ invocation to module description.
40766         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
40767         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
40768         1.
40769         * modules/close (configure.ac): Invoke AC_LIBOBJ.
40771         close: Remove call-in from fchdir.m4.
40772         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
40773         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
40775         open: Move AC_LIBOBJ invocation to module description.
40776         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
40777         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
40778         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
40780         open: Remove call-in from fchdir.m4.
40781         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
40782         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
40784         fchdir: Start to remove gl_REPLACE_* idiom.
40785         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
40786         (gl_FUNC_FCHDIR): Invoke it.
40788 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
40790         * lib/ftell.c (ftell): Comment out cast.
40792         close: use gl_REPLACE_FCLOSE only if defined
40793         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
40794         is defined.  The close module doesn't depend on the fclose module
40795         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
40796         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
40797         I reproduced the problem with "./gnulib-tool --test close sys_socket".
40799 2011-07-24  Jim Meyering  <meyering@redhat.com>
40801         test-select.h: avoid warning when using gcc's -Wmissing-declarations
40802         * tests/test-select.h (test_function): Declare as "static".
40804 2011-07-24  Bruno Haible  <bruno@clisp.org>
40806         doc: Mention the effects of AC_SYS_LARGEFILE.
40807         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
40808         on this function.
40809         * doc/posix-functions/aio_error.texi: Likewise.
40810         * doc/posix-functions/aio_fsync.texi: Likewise.
40811         * doc/posix-functions/aio_read.texi: Likewise.
40812         * doc/posix-functions/aio_return.texi: Likewise.
40813         * doc/posix-functions/aio_suspend.texi: Likewise.
40814         * doc/posix-functions/aio_write.texi: Likewise.
40815         * doc/posix-functions/fgetpos.texi: Likewise.
40816         * doc/posix-functions/fopen.texi: Likewise.
40817         * doc/posix-functions/freopen.texi: Likewise.
40818         * doc/posix-functions/fsetpos.texi: Likewise.
40819         * doc/posix-functions/fstatvfs.texi: Likewise.
40820         * doc/posix-functions/ftruncate.texi: Likewise.
40821         * doc/posix-functions/ftw.texi: Likewise.
40822         * doc/posix-functions/getrlimit.texi: Likewise.
40823         * doc/posix-functions/glob.texi: Likewise.
40824         * doc/posix-functions/lio_listio.texi: Likewise.
40825         * doc/posix-functions/lockf.texi: Likewise.
40826         * doc/posix-functions/mkstemp.texi: Likewise.
40827         * doc/posix-functions/mmap.texi: Likewise.
40828         * doc/posix-functions/nftw.texi: Likewise.
40829         * doc/posix-functions/openat.texi: Likewise.
40830         * doc/posix-functions/opendir.texi: Likewise.
40831         * doc/posix-functions/posix_fadvise.texi: Likewise.
40832         * doc/posix-functions/posix_fallocate.texi: Likewise.
40833         * doc/posix-functions/pread.texi: Likewise.
40834         * doc/posix-functions/pwrite.texi: Likewise.
40835         * doc/posix-functions/readdir.texi: Likewise.
40836         * doc/posix-functions/readdir_r.texi: Likewise.
40837         * doc/posix-functions/rewinddir.texi: Likewise.
40838         * doc/posix-functions/scandir.texi: Likewise.
40839         * doc/posix-functions/seekdir.texi: Likewise.
40840         * doc/posix-functions/setrlimit.texi: Likewise.
40841         * doc/posix-functions/statvfs.texi: Likewise.
40842         * doc/posix-functions/telldir.texi: Likewise.
40843         * doc/posix-functions/tmpfile.texi: Likewise.
40844         * doc/posix-functions/truncate.texi: Likewise.
40845         * doc/glibc-functions/fallocate.texi: Likewise.
40846         * doc/glibc-functions/fstatfs.texi: Likewise.
40847         * doc/glibc-functions/fts_children.texi: Likewise.
40848         * doc/glibc-functions/fts_read.texi: Likewise.
40849         * doc/glibc-functions/getdirentries.texi: Likewise.
40850         * doc/glibc-functions/mkostemp.texi: Likewise.
40851         * doc/glibc-functions/mkostemps.texi: Likewise.
40852         * doc/glibc-functions/mkstemps.texi: Likewise.
40853         * doc/glibc-functions/preadv.texi: Likewise.
40854         * doc/glibc-functions/pwritev.texi: Likewise.
40855         * doc/glibc-functions/sendfile.texi: Likewise.
40856         * doc/glibc-functions/statfs.texi: Likewise.
40858 2011-07-24  Bruno Haible  <bruno@clisp.org>
40860         doc: Fix typo.
40861         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
40863 2011-07-24  Bruno Haible  <bruno@clisp.org>
40865         doc: Mention fsusage.
40866         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
40868 2011-07-24  Bruno Haible  <bruno@clisp.org>
40870         doc: Mention new glibc headers and functions.
40871         * doc/glibc-headers/gshadow.texi: New file.
40872         * doc/glibc-functions/endsgent.texi: New file.
40873         * doc/glibc-functions/fgetsgent.texi: New file.
40874         * doc/glibc-functions/fgetsgent_r.texi: New file.
40875         * doc/glibc-functions/getsgent.texi: New file.
40876         * doc/glibc-functions/getsgent_r.texi: New file.
40877         * doc/glibc-functions/getsgnam.texi: New file.
40878         * doc/glibc-functions/getsgnam_r.texi: New file.
40879         * doc/glibc-functions/putsgent.texi: New file.
40880         * doc/glibc-functions/setsgent.texi: New file.
40881         * doc/glibc-functions/sgetsgent.texi: New file.
40882         * doc/glibc-functions/sgetsgent_r.texi: New file.
40883         * doc/glibc-functions/malloc_info.texi: New file.
40884         * doc/glibc-functions/preadv.texi: New file.
40885         * doc/glibc-functions/pwritev.texi: New file.
40886         * doc/glibc-functions/register_printf_modifier.texi: New file.
40887         * doc/glibc-functions/register_printf_specifier.texi: New file.
40888         * doc/glibc-functions/register_printf_type.texi: New file.
40889         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
40890         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
40891         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
40892         * doc/glibc-functions/pthread_getname_np.texi: New file.
40893         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
40894         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
40895         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
40896         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
40897         * doc/glibc-functions/pthread_setname_np.texi: New file.
40898         * doc/glibc-functions/pthread_sigqueue.texi: New file.
40899         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
40900         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
40901         * doc/glibc-functions/qsort_r.texi: New file.
40902         * doc/glibc-functions/quick_exit.texi: New file.
40903         * doc/glibc-functions/syncfs.texi: New file.
40904         * doc/gnulib.texi: Include them.
40905         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
40906         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
40907         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
40908         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
40909         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
40910         * doc/glibc-functions/execvpe.texi: Likewise.
40912 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40914         ftell: don't include <unistd.h>
40915         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
40916         guaranteed to define off_t, and the ftell module depends on the
40917         stdio module.
40919         ftell: do not assume wraparound signed arithmetic
40920         * lib/ftell.c: Include <limits.h>.
40921         (ftell): Don't assume wraparound signed arithmetic.
40923 2011-07-24  Bruno Haible  <bruno@clisp.org>
40925         close: No longer depend on module 'fclose'.
40926         * modules/close (Depends-on): Remove fclose.
40927         * NEWS: Mention the change.
40928         Suggested by Sam Steingold <sds@gnu.org>.
40930 2011-07-24  Bruno Haible  <bruno@clisp.org>
40932         fsusage: Enable large volume support on AIX >= 5.2.
40933         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
40934         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
40935         instead of STAT_STATVFS.
40936         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
40938         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
40939         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
40940         f_blocks field only on MacOS X.
40942         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
40943         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
40944         * modules/fsusage (Depends-on): Add largefile.
40946 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40948         * README: Modernize discussion of signed integers.
40949         Assuming overflow wraparound is no longer safe.
40950         Mention ones' complement and signed magnitude.
40952 2011-07-22  Bruno Haible  <bruno@clisp.org>
40954         select tests, pselect tests: Refactor.
40955         * tests/test-select.h: New file, extracted from tests/test-select.c.
40956         (select_fn): New type.
40957         (test, do_select, do_select_nowait, do_select_wait, test_tty,
40958         test_connect_first, test_accept_first, test_pair, test_socket_pair,
40959         test_pipe): Add my_select argument.
40960         (test_function): Renamed from main. Add my_select argument.
40961         * tests/test-select.c: Move most code to tests/test-select.h. Include
40962         test-select.h.
40963         * modules/select-tests (Files): Add tests/test-select.h.
40964         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
40965         (my_select, main): New functions.
40966         * modules/pselect-tests (Files): Add tests/test-select.h,
40967         tests/macros.h, tests/signature.h.
40968         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
40969         (configure.ac): Check for <sys/wait.h>.
40971 2011-07-22  Bruno Haible  <bruno@clisp.org>
40973         sys_select tests: Check the signature of FD_*.
40974         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
40975         signature tests from here...
40976         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
40977         here.
40978         * modules/sys_select-tests (Files): Add tests/signature.h.
40980 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
40982         largefile: new module, replacing large-inode
40983         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
40984         * MODULES.html.sh: Add largefile, remove large-inode.
40985         * modules/largefile, m4/largefile.m4: New files.
40986         * modules/large-inode, m4/large-inode.m4: Remove.
40988         fsusage: port to MacOS X 10.7 with 4 TiB file systems
40989         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
40990         implementations that use only 32 bits to count blocks.
40991         On typical hosts with 1024-byte blocks, this fails with file
40992         systems as small as 4 TiB.  Problem reported by Herb Wartens
40993         <http://debbugs.gnu.org/9140> and this should also fix a similar
40994         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
40996         large-inode: New module
40997         * MODULES.html.sh: Add it.
40998         * modules/large-inode, m4/large-inode.m4: New files.
41000         extensions: Enable extensions on MacOS X 10.5 and later.
41001         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
41003 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
41005         file-has-acl: use acl_extended_file_nofollow if available
41006         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
41007         (acl_extended_file): New macro.
41008         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
41009         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
41011 2011-07-21  Bruno Haible  <bruno@clisp.org>
41013         Declare system functions in a way that works with C++.
41014         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
41015         declare fdopendir as extern "C".
41016         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
41017         declare frexpl as extern "C".
41018         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
41019         declare gai_strerror as extern "C".
41020         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
41021         programs, declare gai_strerror as extern "C".
41022         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
41023         declare getlogin_r as extern "C".
41024         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
41025         as extern "C".
41026         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
41027         declare ldexpl as extern "C".
41028         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
41029         as extern "C".
41030         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
41031         program, declare getmntinfo as extern "C".
41032         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
41033         stpncpy as extern "C".
41034         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
41035         program, declare __xpg_strerror_r as extern "C".
41036         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
41037         strndup as extern "C".
41038         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
41039         declare memset and bzero as extern "C".
41040         Reported by Sam Steingold <sds@gnu.org>.
41042 2011-07-12  Jim Meyering  <meyering@redhat.com>
41044         maint.mk: prohibit inclusion of "verify.h" without use
41045         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
41047 2011-07-19  Pádraig Brady  <P@draigBrady.com>
41049         timer-time: A new module to check for timer_settime()
41050         * m4/timer_time.m4: Check for the posix function.
41051         * modules/timer-time: Add the new module.
41052         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
41053         Mention it.
41055 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
41056             Bruno Haible  <bruno@clisp.org>
41058         pthread_sigmask: assume POSIX threads if --avoid=threadlib
41059         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
41060         not defined, assume POSIX threads and look for pthread_sigmask in
41061         $LIBS, without changing $CPPFLAGS.
41063 2011-07-19  Bruno Haible  <bruno@clisp.org>
41065         strstr: Update cross-compilation guess.
41066         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
41067         CPUs, guess no, in view of glibc
41068         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
41069         Suggested by Eric Blake. Reported by Reuben Thomas.
41071 2011-07-19  Pádraig Brady  <P@draigBrady.com>
41073         getopt-gnu: suppress core dumps from detection code
41074         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
41075         to suppress core dumps that may well occur on glibc systems.
41076         * modules/getopt-gnu: Depend on nocrash.
41078 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
41080         pthread_sigmask: ensure usleep is declared
41081         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
41082         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
41084 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41086         doc: Document NonStop portability issues.
41087         * doc/posix-functions/sigaction.texi (sigaction):
41088         * doc/posix-headers/signal.texi (signal.h):
41089         Document NonStop.  See Joachim Schmitz in
41090         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
41092 2011-07-15  Bruno Haible  <bruno@clisp.org>
41094         ffsl, ffsll: Avoid unportable behaviour.
41095         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
41097 2011-07-15  Bruno Haible  <bruno@clisp.org>
41099         ffs: More tests.
41100         * tests/test-ffs.c (NBITS): New macro.
41101         (main): Add more tests.
41102         * tests/test-ffsl.c (NBITS): New macro.
41103         (main): Add more tests.
41104         * tests/test-ffsll.c (NBITS): New macro.
41105         (main): Add more tests.
41107 2011-07-15  Eric Blake  <eblake@redhat.com>
41109         ffsl, ffsll: new modules
41110         * modules/ffsl: New file.
41111         * modules/ffsll: Likewise.
41112         * m4/ffsl.m4: Likewise.
41113         * m4/ffsll.m4: Likewise.
41114         * lib/ffsl.c: Likewise.
41115         * lib/ffsl.h: Likewise.
41116         * lib/ffsll.c: Likewise.
41117         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
41118         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
41119         * modules/string (Makefile.am): Substitute witnesses.
41120         * lib/strings.in.h (ffsl, ffsll): Declare.
41121         * modules/ffsl-tests: New test file.
41122         * modules/ffsll-tests: Likewise.
41123         * tests/test-ffsl.c: Likewise.
41124         * tests/test-ffsll.c: Likewise.
41125         * MODULES.html.sh (Integer arithmetic functions): Mention it.
41126         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
41127         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
41129         ffs: fix m4 prerequisite
41130         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
41132         ffs: avoid undefined behavior
41133         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
41134         * tests/test-ffs.c (naive, main): Avoid signed shifts.
41135         Reported by Bruno Haible.
41137 2011-07-12  Bruno Haible  <bruno@clisp.org>
41139         pthread_sigmask: Rely on module 'threadlib'.
41140         * modules/pthread_sigmask (Depends-on): Add threadlib.
41141         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
41142         is defined.
41144 2011-07-12  Bruno Haible  <bruno@clisp.org>
41146         regex: Depend on module 'strcase'.
41147         * modules/regex (Depends-on): Add strcase, for strcasecmp().
41149 2011-07-12  Jim Meyering  <meyering@redhat.com>
41151         warn-on-use: fix typo in file name
41152         * modules/snippet/warn-on-use (Files): Correct file name:
41153         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
41155 2011-07-12  Bruno Haible  <bruno@clisp.org>
41157         strings: Document module.
41158         * doc/posix-headers/strings.texi: Mention module 'strings'.
41160 2011-07-12  Bruno Haible  <bruno@clisp.org>
41162         Rename module '_Noreturn' to 'snippet/_Noreturn'.
41163         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
41164         (Files, Makefile.am): Update.
41165         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
41166         * modules/stdlib (Depends-on): Update.
41168 2011-07-12  Bruno Haible  <bruno@clisp.org>
41170         * NEWS: Mention the changes.
41172         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
41173         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
41174         (Files, Makefile.am): Update.
41175         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
41176         * modules/arpa_inet (Depends-on): Update.
41177         * modules/ctype (Depends-on): Update.
41178         * modules/dirent (Depends-on): Update.
41179         * modules/fcntl-h (Depends-on): Update.
41180         * modules/glob (Depends-on): Update.
41181         * modules/iconv-h (Depends-on): Update.
41182         * modules/inttypes-incomplete (Depends-on): Update.
41183         * modules/langinfo (Depends-on): Update.
41184         * modules/locale (Depends-on): Update.
41185         * modules/math (Depends-on): Update.
41186         * modules/netdb (Depends-on): Update.
41187         * modules/poll-h (Depends-on): Update.
41188         * modules/pty (Depends-on): Update.
41189         * modules/search (Depends-on): Update.
41190         * modules/signal (Depends-on): Update.
41191         * modules/spawn (Depends-on): Update.
41192         * modules/stdio (Depends-on): Update.
41193         * modules/stdlib (Depends-on): Update.
41194         * modules/string (Depends-on): Update.
41195         * modules/strings (Depends-on): Update.
41196         * modules/sys_file (Depends-on): Update.
41197         * modules/sys_ioctl (Depends-on): Update.
41198         * modules/sys_select (Depends-on): Update.
41199         * modules/sys_socket (Depends-on): Update.
41200         * modules/sys_stat (Depends-on): Update.
41201         * modules/sys_time (Depends-on): Update.
41202         * modules/sys_times (Depends-on): Update.
41203         * modules/sys_utsname (Depends-on): Update.
41204         * modules/sys_wait (Depends-on): Update.
41205         * modules/termios (Depends-on): Update.
41206         * modules/time (Depends-on): Update.
41207         * modules/unistd (Depends-on): Update.
41208         * modules/wchar (Depends-on): Update.
41209         * modules/wctype-h (Depends-on): Update.
41210         * MODULES.html.sh (Support for building libraries and executables):
41211         Update.
41213         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
41214         * modules/snippet/unused-parameter: Renamed from
41215         modules/unused-parameter.
41216         (Files, Makefile.am): Update.
41217         * build-aux/snippet/unused-parameter.h: Renamed from
41218         build-aux/unused-parameter.h.
41219         * modules/selinux-h (Depends-on): Update.
41220         * modules/unistr/base (Depends-on): Update.
41221         * MODULES.html.sh (Core language properties): Update.
41223         Rename module 'link-warning' to 'snippet/link-warning'.
41224         * modules/snippet/link-warning: Renamed from modules/link-warning.
41225         (Files, Makefile.am): Update.
41226         * build-aux/snippet/link-warning.h: Renamed from
41227         build-aux/link-warning.h.
41228         * MODULES.html.sh (Support for building libraries and executables):
41229         Update.
41231         Rename module 'c++defs' to 'snippet/c++defs'.
41232         * modules/snippet/c++defs: Renamed from modules/c++defs.
41233         (Files, Makefile.am): Update.
41234         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
41235         * modules/arpa_inet (Depends-on): Update.
41236         * modules/ctype (Depends-on): Update.
41237         * modules/dirent (Depends-on): Update.
41238         * modules/fcntl-h (Depends-on): Update.
41239         * modules/glob (Depends-on): Update.
41240         * modules/iconv-h (Depends-on): Update.
41241         * modules/langinfo (Depends-on): Update.
41242         * modules/locale (Depends-on): Update.
41243         * modules/math (Depends-on): Update.
41244         * modules/netdb (Depends-on): Update.
41245         * modules/poll-h (Depends-on): Update.
41246         * modules/pty (Depends-on): Update.
41247         * modules/search (Depends-on): Update.
41248         * modules/signal (Depends-on): Update.
41249         * modules/spawn (Depends-on): Update.
41250         * modules/stdio (Depends-on): Update.
41251         * modules/stdlib (Depends-on): Update.
41252         * modules/string (Depends-on): Update.
41253         * modules/strings (Depends-on): Update.
41254         * modules/sys_ioctl (Depends-on): Update.
41255         * modules/sys_select (Depends-on): Update.
41256         * modules/sys_socket (Depends-on): Update.
41257         * modules/sys_stat (Depends-on): Update.
41258         * modules/sys_time (Depends-on): Update.
41259         * modules/sys_wait (Depends-on): Update.
41260         * modules/termios (Depends-on): Update.
41261         * modules/time (Depends-on): Update.
41262         * modules/unistd (Depends-on): Update.
41263         * modules/wchar (Depends-on): Update.
41264         * modules/wctype-h (Depends-on): Update.
41266         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
41267         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
41268         (Files, Makefile.am): Update.
41269         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
41270         * modules/argv-iter (Depends-on): Update.
41271         * modules/arpa_inet (Depends-on): Update.
41272         * modules/dirent (Depends-on): Update.
41273         * modules/fcntl-h (Depends-on): Update.
41274         * modules/fnmatch (Depends-on): Update.
41275         * modules/getopt-posix (Depends-on): Update.
41276         * modules/glob (Depends-on): Update.
41277         * modules/iconv-h (Depends-on): Update.
41278         * modules/inttypes-incomplete (Depends-on): Update.
41279         * modules/locale (Depends-on): Update.
41280         * modules/math (Depends-on): Update.
41281         * modules/netdb (Depends-on): Update.
41282         * modules/search (Depends-on): Update.
41283         * modules/signal (Depends-on): Update.
41284         * modules/spawn (Depends-on): Update.
41285         * modules/stdio (Depends-on): Update.
41286         * modules/stdlib (Depends-on): Update.
41287         * modules/string (Depends-on): Update.
41288         * modules/strings (Depends-on): Update.
41289         * modules/sys_socket (Depends-on): Update.
41290         * modules/sys_stat (Depends-on): Update.
41291         * modules/sys_time (Depends-on): Update.
41292         * modules/sys_times (Depends-on): Update.
41293         * modules/sys_utsname (Depends-on): Update.
41294         * modules/time (Depends-on): Update.
41295         * modules/unistd (Depends-on): Update.
41296         * modules/wchar (Depends-on): Update.
41297         * MODULES.html.sh (Support for building libraries and executables):
41298         Update.
41300 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
41302         Improvements on _Noreturn and related modules.
41304         modules/_Exit-tests: test _Noreturn too
41305         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
41306         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
41307         (main): Use them.
41309         stdnoreturn, stdnoreturn-tests: remove modules
41310         They're not needed here and a bit premature for use elsewhere.  See
41311         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
41312         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
41313         * tests/test-stdnoreturn.c: Remove files.
41314         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
41315         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
41316         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
41317         and using noreturn.
41318         * modules/openat, modules/sigpipe-die, modules/xalloc:
41319         * modules/xmemdup0, modules/xstrtol:
41320         Remove dependency on stdnoreturn.
41322         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
41323         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
41324         Reparenthesize to avoid GCC warning.
41325         Support Microsoft's syntax.
41326         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
41328         _Noreturn-tests: remove module
41329         * modules/_Noreturn-tests: Remove.
41330         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
41331         * tests/test-_Noreturn.c: Remove.
41332         * tests/test-stdnoreturn.c: Merge from the old
41333         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
41335 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
41337         _Noreturn, stdnoreturn, and related modules.
41339         * top/maint.mk: Adjust to new noreturn support.
41340         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
41341         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
41343         xalloc: use stdnoreturn.h
41344         * lib/xalloc.h: Include <stdnoreturn.h>.
41345         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
41346         * modules/xalloc (Depends-on): Add stdnoreturn.
41348         xstrtol: use stdnoreturn.h
41349         * lib/xstrtol.h: Include <stdnoreturn.h>.
41350         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
41351         * modules/xstrtol (Depends-on): Add stdnoreturn.
41353         xmemdup0: use stdnoreturn.h
41354         * lib/xmemdup0.h: Include <stdnoreturn.h>.
41355         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
41356         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
41358         sigpipe-die: use stdnoreturn.h
41359         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
41360         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
41361         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
41363         openat: use stdnoreturn.h
41364         * lib/openat.h: Include <stdnoreturn.h>.
41365         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
41366         * modules/openat (Depends-on): Add stdnoreturn.
41368         * lib/openat-die.c (openat_save_fail): Modernize comment.
41370         * lib/xalloc-die.c (xalloc_die): Modernize comment.
41372         * lib/glthread/thread.h: Modernize comment.
41374         obstack: use _Noreturn
41375         * lib/obstack.c (__attribute__): Remove macro.
41376         (print_and_abort): Use _Noreturn.
41378         c-stack: use _Noreturn
41379         * lib/c-stack.c (die, overflow_handler, segv_handler):
41380         Use _Noreturn rather than __attribute__((noreturn)).
41382         argmatch-tests, exclude_tests: use _Noreturn
41383         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
41384         Remove.
41385         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
41387         stdlib: use _Noreturn
41388         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
41389         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
41390         * modules/stdlib (Depends-on): Add _Noreturn.
41391         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
41393         stdnoreturn-tests: new module
41394         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
41396         stdnoreturn: new module
41397         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
41398         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
41400         _Noreturn-tests: new module
41401         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
41403         _Noreturn: new module
41404         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
41405         New section, mentioning it.
41406         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
41408         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
41410 2011-07-11  Eric Blake  <eblake@redhat.com>
41412         ffs: new module
41413         * modules/ffs: New file.
41414         * m4/ffs.m4: Likewise.
41415         * lib/ffs.c: Likewise.
41416         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
41417         * modules/strings (Makefile.am): Substitute witness.
41418         (Depends-on): Add c++defs.
41419         * lib/strings.in.h (ffs): Declare.
41420         * modules/ffs-tests: New test file.
41421         * tests/test-ffs.c: Test new module.
41422         * MODULES.html.sh (Integer arithmetic functions): Mention it.
41423         * doc/posix-functions/ffs.texi (ffs): Likewise.
41425         regex: avoid compiler warning
41426         * lib/regex.c (includes): Include <strings.h>, for use of
41427         strcasecmp in regcomp.c.
41428         Reported by Joachim Schmitz.
41430 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
41432         stdint: respect system's intmax_t if INTMAX_MAX
41433         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
41434         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
41435         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
41436         long but int64_t is long long, and where we will clash with the
41437         system intmax_t if we override it.  See
41438         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
41439         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
41440         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
41441         similarly for UINTMAX_C.
41443 2011-07-08  Bruno Haible  <bruno@clisp.org>
41445         pthread_sigmask tests: Avoid a compiler warning.
41446         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
41447         non-zero.
41449         sigprocmask tests: A better way to avoid a compiler warning.
41450         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
41451         (main): Complain if system() returns non-zero.
41452         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
41454 2011-07-08  Bruno Haible  <bruno@clisp.org>
41456         pthread_sigmask: Work around IRIX bug.
41457         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
41458         bug.
41459         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
41460         there may be unblocked pending signals.
41461         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
41463 2011-07-08  Bruno Haible  <bruno@clisp.org>
41465         pthread_sigmask: Work around Cygwin bug.
41466         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
41467         bug.
41468         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
41469         the system's pthread_sigmask function.
41470         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
41472 2011-07-08  Bruno Haible  <bruno@clisp.org>
41474         pthread_sigmask: Work around bug in single-threaded implementation.
41475         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
41476         FreeBSD, HP-UX, Solaris bug.
41477         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
41478         * lib/pthread_sigmask.c: Include <stddef.h>.
41479         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
41480         the system's pthread_sigmask function.
41481         * modules/pthread_sigmask (configure.ac): Invoke
41482         gl_PREREQ_PTHREAD_SIGMASK.
41483         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
41484         HP-UX, Solaris.
41486 2011-07-08  Eric Blake  <eblake@redhat.com>
41488         test-sigprocmask: avoid compiler warning
41489         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
41490         * tests/test-sigprocmask.c (main): Use it to silence warning.
41491         Reported by Jim Meyering.
41493         test-snprintf: avoid compiler warning
41494         * tests/test-snprintf.c (main): Avoid shadowed declaration.
41495         * tests/test-vsnprintf.c (main): Likewise.
41496         Reported by Jim Meyering.
41498 2011-07-08  Bruno Haible  <bruno@clisp.org>
41500         Tests for module 'pthread_sigmask'.
41501         * modules/pthread_sigmask-tests: New file.
41502         * tests/test-pthread_sigmask1.c: New file, based on
41503         tests/test-sigprocmask.c.
41504         * tests/test-pthread_sigmask2.c: New file.
41506 2011-07-08  Jim Meyering  <meyering@redhat.com>
41508         test-getopt.h: avoid warning about an unused variable
41509         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
41511 2011-07-07  Jim Meyering  <meyering@redhat.com>
41513         maint: reduce list of files exempt from sc_prohibit_leading_TABs
41514         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
41515         now that it no longer contains leading TABs.
41516         Remove unused "url=FIXME" statement.
41518 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
41520         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
41521         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
41522         When gl_THREADLIB is not in use, assume that the POSIX sematics
41523         are desired.  This is better for Emacs, which uses POSIX semantics
41524         on GNUish and/or POSIXish platforms, and does not use threads at
41525         all otherwise.
41527         pthread_sigmask: fix typo when testing for libraries
41528         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
41529         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
41531 2011-07-08  Eric Blake  <eblake@redhat.com>
41533         fts: introduce FTS_NOATIME
41534         * lib/fts_.h (FTS_NOATIME): New bit flag.
41535         (FTS_OPTIONMASK): Adjust.
41536         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
41537         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
41539 2011-07-08  Bruno Haible  <bruno@clisp.org>
41541         Tests for module 'thread'.
41542         * modules/thread-tests: New file.
41543         * tests/test-thread_self.c: New file.
41544         * tests/test-thread_create.cc: New file.
41546 2011-07-08  Bruno Haible  <bruno@clisp.org>
41548         thread: Avoid gcc warnings when using gl_thread_self().
41549         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
41550         'void *'.
41551         (gl_thread_self_pointer): Update.
41553 2011-07-07  Bruno Haible  <bruno@clisp.org>
41555         signal-c++-tests: Check declaration of pthread_sigmask.
41556         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
41557         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
41558         $(LIB_PTHREAD_SIGMASK).
41560 2011-07-07  Bruno Haible  <bruno@clisp.org>
41562         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
41563         * lib/signal.in.h (pthread_sigmask): Override if
41564         REPLACE_PTHREAD_SIGMASK is 1.
41565         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
41566         REPLACE_PTHREAD_SIGMASK.
41567         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
41568         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
41569         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
41570         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
41571         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
41573 2011-07-07  Bruno Haible  <bruno@clisp.org>
41575         pthread_sigmask: Ensure declaration in <signal.h>.
41576         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
41577         include <pthread.h>.
41578         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
41579         problem.
41581 2011-07-07  Bruno Haible  <bruno@clisp.org>
41583         pthread_sigmask: Document the module.
41584         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
41586 2011-07-07  Bruno Haible  <bruno@clisp.org>
41588         pthread_sigmask: Follow gnulib conventions.
41589         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
41590         gl_PTHREAD_SIGMASK.
41591         * modules/pthread_sigmask (configure.ac): Update.
41593 2011-07-07  Bruno Haible  <bruno@clisp.org>
41595         pthread_sigmask: Make declaration C++ safe.
41596         * lib/signal.in.h: In two special conditions, just do an #include_next.
41597         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
41598         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
41599         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
41600         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
41601         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
41602         not REPLACE_PTHREAD_MASK.
41603         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
41604         not REPLACE_PTHREAD_MASK.
41605         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
41607 2011-07-07  Bruno Haible  <bruno@clisp.org>
41609         pthread_sigmask: Fix return value.
41610         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
41611         * lib/pthread_sigmask.c: New file.
41612         * modules/pthread_sigmask (Files): Add it.
41613         (configure.ac): Invoke AC_LIBOBJ.
41615 2011-07-07  Eric Blake  <eblake@redhat.com>
41617         getopt: more portable argv creation
41618         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
41619         const, use char arrays rather than strings.
41620         Suggested by Paul Eggert.
41622 2011-07-07  Bruno Haible  <bruno@clisp.org>
41624         Tests for module 'sigprocmask'.
41625         * modules/sigprocmask-tests: New file.
41626         * tests/test-sigprocmask.c: New file.
41628 2011-07-07  Bruno Haible  <bruno@clisp.org>
41630         float tests: Tweak.
41631         * tests/test-float.c (main): Tweak skip message.
41633 2011-07-07  Eric Blake  <eblake@redhat.com>
41635         getopt: avoid compiler warning during configure
41636         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
41637         assigning string literals to non-const pointer.
41639         getopt-gnu: avoid crash in glibc getopt
41640         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
41641         * tests/test-getopt.h (test_getopt): Enhance test.
41642         * tests/test-getopt_long.h (test_getopt_long): Likewise.
41643         * doc/posix-functions/getopt.texi (getopt): Document it.
41644         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
41645         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41646         Likewise.
41648 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
41650         getopt: handle W; without long options in getopt [BZ #12922]
41651         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
41652         but no long options are defined, just return 'W'.
41654 2011-07-07  Bruno Haible  <bruno@clisp.org>
41656         Avoid literal tabs.
41657         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
41658         variable containing a tab instead of a literal tab.
41659         Reported by Jim Meyering.
41661 2011-07-07  Bruno Haible  <bruno@clisp.org>
41663         Comments.
41664         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
41666 2011-07-06  Bruno Haible  <bruno@clisp.org>
41668         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
41669         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
41670         <winsock2.h>.
41671         (rpl_fd_isset, FD_ISSET): New definitions, copied from
41672         lib/sys_socket.in.h.
41673         (close, gethostname): Hide declarations from <winsock2.h>.
41674         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
41675         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
41676         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
41677         (select): Don't override if gnulib's <sys/select.h> was already
41678         included.
41679         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
41680         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
41681         setsockopt, shutdown, select): Tweak indentation.
41683 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
41685         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
41686         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
41687         in an application that does not use the sys_select module.
41689 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
41691         poll: do not return 0 on timeout=-1
41692         * lib/poll.c: Loop with yield if no events occurred.
41694 2011-07-06  Eric Blake  <eblake@redhat.com>
41696         pthread_sigmask: always replace when not using pthread
41697         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
41698         replacement when using some threading other than pthread.  Fix
41699         logic bug.
41701 2011-07-06  Bruno Haible  <bruno@clisp.org>
41703         Comments.
41704         * m4/printf.m4: Update comments about mingw.
41706 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
41708         sys_select: define sigset_t more portably
41709         * lib/sys_select.in.h: Always include <sys/types.h>, since
41710         we now need sigset_t and mingw defines it there.
41711         Include <signal.h> before split inclusion guard, to avoid
41712         mishaps on Solaris, whose <signal.h> eventually includes us.
41713         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
41714         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
41715         which come from ...
41716         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
41717         gl_CHECK_TYPE_SIGSET_T.
41718         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
41719         does the real work.
41720         * modules/sys_select (Depends-on): Add 'signal'.
41722         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
41723         Suggested by Bruno Haible.
41725         pselect: Use pthread_sigmask, not sigprocmask.
41726         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
41727         multithreaded apps better than sigprocmask does.
41728         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
41729         sigprocmask directly.
41731 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
41733         * lib/pselect.c (pselect): Use plain name, without "rpl_".
41734         Don't #undef,  since we don't need any underlying pselect.
41735         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
41736         (Depends-on): Add select.
41737         (Link): Add $(LIBSOCKET).
41738         These changes suggested by Bruno Haible.
41740         pselect: document better
41741         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
41742         * doc/posix-functions/pselect.texi (pselect): Document new module.
41744         pthread_sigmask: new module
41745         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
41746         * doc/posix-functions/pthread_sigmask.texi: Document new module.
41747         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
41748         This is done only as a macro; I don't know how well that'll
41749         work for C++.  Move <sys/types.h> include before the include_next,
41750         to avoid mishap on Solaris.
41751         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
41752         * modules/signal (Makefile.am): Substitute the check's results.
41753         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
41755         test-pselect: new module
41756         * modules/pselect-tests, tests/test-pselect.c: New files.
41757         * tests/test-select.c, tests/test-sys_select-c++.cc:
41758         If TEST_PSELECT is defined, test pselect instead of testing select.
41760         * tests/test-sys_select.c (sigset_t): Test for it, too.
41761         Suggested by Bruno Haible.
41763 2011-07-05  Eric Blake  <eblake@redhat.com>
41765         snprintf: guarantee %1$d, for libintl
41766         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
41767         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
41768         * doc/posix-functions/snprintf.texi (snprintf): Update.
41769         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41770         * tests/test-snprintf.c (main): Enhance test.
41771         * tests/test-vsnprintf.c (main): Likewise.
41773 2011-07-05  Jim Meyering  <meyering@redhat.com>
41775         maint: exempt stdio-read.c and stdio-write.c from the cppi check
41776         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
41777         per Bruno's request, to accommodate this idiom (no space after "#")
41778         even when the function is inside an #if block:
41779         char *
41780         gets (char *s)
41781         #undef gets
41782         {
41783           ...
41784         }
41786 2011-07-04  Jim Meyering  <meyering@redhat.com>
41788         maint: indent with spaces, not TABs, and add a rule to check this
41789         * tests/test-userspec.c: Indent with spaces, not TABs.
41790         * tests/test-argp.c: Likewise.
41791         * tests/test-c-stack2.sh: Likewise.
41792         * tests/test-parse-duration.sh: Likewise
41793         * m4/strtod.m4: Likewise.
41794         * m4/alloca.m4: Likewise.
41795         * m4/pselect.m4: Likewise.
41796         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
41798 2011-07-03  Jim Meyering  <meyering@redhat.com>
41800         maint.mk: correct omissions in prohibit_argmatch_without_use check
41801         This rule would mistakenly report that argmatch.h is included without
41802         use even when both the argmatch and invalid_arg macro were used.
41803         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
41804         of argmatch and invalid_arg.
41806 2011-07-03  Bruno Haible  <bruno@clisp.org>
41808         Comments about EINTR.
41809         * lib/safe-read.h: Explain the purpose of this module.
41810         * lib/safe-write.h: Likewise.
41811         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
41812         module.
41813         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
41814         module.
41815         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41817 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
41819         xnanosleep: Rewrite to use new dtotimespec module.
41820         It has the conversion code that used to be in xnanosleep.
41821         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
41822         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
41823         (TIME_T_MAX): Remove.
41824         (xnanosleep): Rewrite in terms of dtotimespec.
41825         * modules/xnanosleep (Depends-on): Add dtotimespec.
41826         Remove intprops, stdbool.
41828         timespec-add, timespec-sub: new modules
41829         * lib/timespec.h (timespec_add, timespec_sub): New decls.
41830         * lib/timespec-add.c, lib/timespec-sub.c:
41831         * modules/timespec-add, modules/timespec-sub: New files.
41833         dtotimespec: new module
41834         * lib/timespec.h (dtotimespec): New decl.
41835         * lib/dtotimespec.c, modules/dtotimespec: New files.
41837         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
41839         pselect: new module
41840         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
41841         (pselect): New decls.
41842         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
41843         since the standard pselect decl uses 'restrict'.
41844         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
41845         HAVE_PSELECT, REPLACE_PSELECT.
41846         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
41847         HAVE_PSELECT, REPLACE_PSELECT.
41848         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
41850         sys_select: don't depend on sys_socket
41851         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
41852         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
41853         This fix works on GNU and GNU-like platforms, but has not been tested
41854         on native Windows.
41855         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
41856         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
41857         gl_HEADER_SYS_SOCKET.
41858         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
41859         gl_PREREQ_SYS_H_WINSOCK2.
41861 2011-06-29  Eric Blake  <eblake@redhat.com>
41863         pipe2: fix C89 compile problem
41864         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
41865         Reported by Bruno Haible.
41867         pipe, pipe2: don't corrupt fd on error
41868         * lib/pipe.c (pipe): Leave fd unchanged on error.
41869         * lib/pipe2.c (pipe2): Likewise.
41870         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
41871         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
41873 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
41875         mmap-anon: do not use regular expressions inadvertently
41876         * m4/mmap-anon.m4: Remove trailing period from strings sought
41877         in the output.
41879 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
41881         nanosleep: fix integer overflow problem
41882         * lib/nanosleep.c (my_usleep): Don't assume signed integer
41883         arithmetic wraps around on overflow.
41885         nanosleep: simplify carrying
41886         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
41887         first call to the underyling nanosleep, not for the last one.
41888         This doesn't fix any bugs, but it simplifies the computation of
41889         the remaining delay.  Found while auditing integer overflow issues.
41891         dup2: remove test for existence of fcntl
41892         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
41893         "#if HAVE_FCNTL", in the configure-time test program.
41894         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
41895         and therefore speeds up "configure" a bit.  Found while
41896         adding the dup2 module to Emacs.
41898 2011-06-24  Eric Blake  <eblake@redhat.com>
41900         maint.mk: enhance useless header checks
41901         * top/maint.mk (_sc_header_without_use): Check both include
41902         styles.
41903         (sc_prohibit_assert_without_use)
41904         (sc_prohibit_close_stream_without_use)
41905         (sc_prohibit_getopt_without_use)
41906         (sc_prohibit_quotearg_without_use)
41907         (sc_prohibit_quote_without_use)
41908         (sc_prohibit_long_options_without_use)
41909         (sc_prohibit_inttostr_without_use)
41910         (sc_prohibit_ignore_value_without_use)
41911         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
41912         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
41913         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
41914         (sc_prohibit_hash_pjw_without_use)
41915         (sc_prohibit_safe_read_without_use)
41916         (sc_prohibit_argmatch_without_use)
41917         (sc_prohibit_canonicalize_without_use)
41918         (sc_prohibit_root_dev_ino_without_use)
41919         (sc_prohibit_openat_without_use)
41920         (sc_prohibit_c_ctype_without_use)
41921         (sc_prohibit_signal_without_use)
41922         (sc_prohibit_stdio--_without_use)
41923         (sc_prohibit_stdio-safer_without_use)
41924         (sc_prohibit_strings_without_use)
41925         (sc_prohibit_intprops_without_use)
41926         (sc_prohibit_stddef_without_use)
41927         (sc_prohibit_xfreopen_without_use): Update clients.
41929 2011-06-24  Jim Meyering  <meyering@redhat.com>
41931         syntax-check: keep one maint.mk rule in sync with its header
41932         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
41933         of the bug Eric has just fixed, with today's commit 25e4c2ec.
41934         I prefer to avoid temporary files here, so use <(...), but that
41935         is not supported by /bin/sh, so...
41936         (SHELL): Define to /bin/bash.
41938 2011-06-24  Eric Blake  <eblake@redhat.com>
41940         maint.mk: update sc_prohibit_intprops_without_use
41941         * top/maint.mk (_intprops_names): Match recent changes.
41943 2011-06-24  Bruno Haible  <bruno@clisp.org>
41945         strerror-override: No-op tweak.
41946         * lib/strerror-override.h (strerror_override): Reorder conditions,
41947         for consistency with lib/strerror-override.c.
41949 2011-06-23  Eric Blake  <eblake@redhat.com>
41951         maint.mk: test further PATH_MAX issues
41952         * top/maint.mk (sc_prohibit_path_max_array): Rename...
41953         (sc_prohibit_path_max_allocation): ...and also test alloca.
41954         Suggested by Jim Meyering.
41956 2011-06-22  Eric Blake  <eblake@redhat.com>
41958         maint.mk: add syntax-check to avoid char[PATH_MAX]
41959         * top/maint.mk (sc_prohibit_path_max_array): New rule.
41961         stat: be robust to PATH_MAX definition
41962         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
41963         * modules/stat (Depends-on): Add verify.
41965         link: work around IRIX bug
41966         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
41967         * lib/link.c (rpl_link): Work around it.
41968         * tests/test-link.h (test_link): Enhance test.
41969         * doc/posix-functions/link.texi (link): Document the bug.
41971         getopt: silence clang warning
41972         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
41973         dereference.
41974         Reported by Gustavo Martin Domato.
41976 2011-06-22  Jim Meyering  <meyering@redhat.com>
41978         bootstrap: do not insert a blank line into each .gitignore file
41979         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
41981 2011-06-21  Eric Blake  <eblake@redhat.com>
41983         perror: test for output mismatch
41984         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
41985         perror on IRIX.
41987         strerror_r: fix OpenBSD behavior on out-of-range
41988         * lib/strerror_r.c (strerror_r): Always use maximal string.
41989         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
41991         strerror_r: fix OpenBSD behavior on 0
41992         * lib/strerror-override.c (strerror_override): Also override 0
41993         when needed.
41994         * lib/strerror-override.h (strerror_override): Likewise.
41995         * lib/strerror.c (strerror): Simplify, now that 0 override is done
41996         earlier.
41997         * lib/strerror_r.c (strerror_r): Likewise.
41998         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
41999         behavior...
42000         (gl_FUNC_STRERROR_0): ...into new macro.
42001         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
42002         is overridden.
42003         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
42004         * modules/strerror-override (Files): Add strerror.m4.
42005         (configure.ac): Also provide override for 0 when needed.
42006         * doc/posix-functions/strerror.texi (strerror): Document this.
42007         * doc/posix-functions/perror.texi (perror): Likewise.
42009         perror: adjust array size
42010         * modules/perror (Depends-on): Add strerror-override.
42011         * lib/perror.c (perror): Use it to avoid magic number.
42013         strerror-override: reduce size
42014         * lib/strerror-override.c (strerror_override): Use fewer lines.
42016 2011-06-20  Bruno Haible  <bruno@clisp.org>
42018         pathmax: Ensure correct value for PATH_MAX on HP-UX.
42019         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
42021 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
42023         alloca: port to compilers that can optimize like GCC 4.6.0
42024         * lib/alloca.c (find_stack_direction): New signature, taken from
42025         Autoconf git.  This works with GCC 4.6.0.  This code should never
42026         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
42027         be used with other compilers that optimize as well as GCC 4.6.0 does.
42028         (alloca): Adjust to new signature.
42029         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
42030         New macro, which patches Autoconf in a similar way.
42032         c-stack: stop worrying about stack direction
42033         * lib/c-stack.c (find_stack_direction): Remove.
42034         (segv_handler): Don't worry about stack direction growth, as it's
42035         too much of a pain to configure this correctly, given how compilers
42036         are optimizing-away our stack-growth detection code.  Instead, assume
42037         that any access to just before or just after the stack is OK.
42038         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
42039         Don't require AC_FUNC_ALLOCA; no longer needed.
42041 2011-06-20  Eric Blake  <eblake@redhat.com>
42043         test-stat: don't allocate PATH_MAX bytes
42044         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
42045         PATH_MAX-sized buffer.
42046         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
42047         * modules/stat-tests (Depends-on): Likewise.
42048         * tests/test-fstatat.c (includes): Drop pathmax.h.
42049         * tests/test-stat.c (includes): Likewise.
42050         Reported by Bruno Haible.
42052 2011-06-20  Bruno Haible  <bruno@clisp.org>
42054         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
42055         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
42056         * lib/float.c: New file.
42057         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
42058         REPLACE_FLOAT_LDBL.
42059         * modules/float (Files): Add lib/float.c.
42060         (configure.ac): Invoke AC_LIBOBJ.
42061         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
42063 2011-06-20  Bruno Haible  <bruno@clisp.org>
42065         Tests for module 'float'.
42066         * modules/float-tests: New file.
42067         * tests/test-float.c: New file.
42069 2011-06-19  Bruno Haible  <bruno@clisp.org>
42071         isinf: Coding style.
42072         * lib/isinf.c: Use GNU coding style.
42074 2011-06-19  Bruno Haible  <bruno@clisp.org>
42076         linkat test: Avoid test failure on AIX 7.1.
42077         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
42078         * tests/test-link.h (test_link): Likewise.
42080 2011-06-19  Bruno Haible  <bruno@clisp.org>
42082         pread test: Avoid test failure on OpenBSD 4.9.
42083         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
42085 2011-06-19  Bruno Haible  <bruno@clisp.org>
42087         sprintf-posix: Fix test failure on AIX 7.1.
42088         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
42089         * doc/posix-functions/dprintf.texi: Mention limited precision problem
42090         on AIX.
42091         * doc/posix-functions/fprintf.texi: Likewise.
42092         * doc/posix-functions/printf.texi: Likewise.
42093         * doc/posix-functions/snprintf.texi: Likewise.
42094         * doc/posix-functions/sprintf.texi: Likewise.
42095         * doc/posix-functions/vdprintf.texi: Likewise.
42096         * doc/posix-functions/vfprintf.texi: Likewise.
42097         * doc/posix-functions/vprintf.texi: Likewise.
42098         * doc/posix-functions/vsnprintf.texi: Likewise.
42099         * doc/posix-functions/vsprintf.texi: Likewise.
42101 2011-06-19  Bruno Haible  <bruno@clisp.org>
42103         roundl-ieee: Fix test failure on AIX 7.1.
42104         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
42105         * doc/posix-functions/roundl.texi: Mention problem with negative
42106         arguments.
42108 2011-06-19  Bruno Haible  <bruno@clisp.org>
42110         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
42111         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
42112         * doc/posix-functions/round.texi: Mention problem with negative
42113         arguments.
42114         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
42116 2011-06-19  Bruno Haible  <bruno@clisp.org>
42118         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
42119         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
42120         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
42121         * doc/posix-functions/roundf.texi: Mention problem with negative
42122         arguments.
42123         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
42125 2011-06-19  Bruno Haible  <bruno@clisp.org>
42127         ceilf-ieee: Work around bug on MacOS X 10.5.
42128         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
42130         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
42131         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
42132         IEEE compliant, avoid compiler optimizations.
42133         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
42134         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
42135         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
42136         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
42137         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
42138         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
42139         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
42140         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42141         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42142         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
42144 2011-06-19  Bruno Haible  <bruno@clisp.org>
42146         ceilf-ieee: Work around bug on AIX 7.1.
42147         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
42148         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
42150 2011-06-19  Bruno Haible  <bruno@clisp.org>
42152         ceil-ieee: Work around bug on AIX 7.1.
42153         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
42154         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
42156 2011-06-18  Bruno Haible  <bruno@clisp.org>
42158         fsync test: Avoid test failure on MacOS X and AIX.
42159         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
42160         EINVAL.
42162 2011-06-18  Bruno Haible  <bruno@clisp.org>
42164         openat, fdopendir tests: Fix link errors.
42165         * modules/openat-tests (Depends-on): Add progname.
42166         * modules/fdopendir-tests (Depends-on): Likewise.
42167         * tests/test-fchownat.c: Include progname.h.
42168         (main): Call set_program_name.
42169         * tests/test-fstatat.c: Include progname.h.
42170         (main): Call set_program_name.
42171         * tests/test-mkdirat.c: Include progname.h.
42172         (main): Call set_program_name.
42173         * tests/test-openat.c: Include progname.h.
42174         (main): Call set_program_name.
42175         * tests/test-unlinkat.c: Include progname.h.
42176         (main): Call set_program_name.
42177         * tests/test-fdopendir.c: Include progname.h.
42178         (main): Call set_program_name.
42180 2011-06-18  Bruno Haible  <bruno@clisp.org>
42182         Doc update.
42183         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
42184         HP-UX.
42185         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
42187 2011-06-18  Bruno Haible  <bruno@clisp.org>
42189         getcwd tests: Avoid compilation error on HP-UX 11.31.
42190         * modules/getcwd-tests (Depends-on): Add pathmax.
42191         * tests/test-getcwd.c: Include pathmax.h.
42193 2011-06-18  Bruno Haible  <bruno@clisp.org>
42195         isfinite, isinf: Fix link error on AIX 6 and 7.
42196         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
42197         needed, also test the macro with a 'float' argument.
42198         * m4/isinf.m4 (gl_ISINF): Likewise.
42200 2011-06-18  Bruno Haible  <bruno@clisp.org>
42202         getloadavg: Don't clobber LIBS. Regression from previous commit.
42203         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
42204         AC_CHECK_LIB from here...
42205         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
42206         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
42207         gl_func_getloadavg_done.
42208         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42210 2011-06-18  Bruno Haible  <bruno@clisp.org>
42212         clean-temp: Improve documentation.
42213         * lib/clean-temp.h: Explain better how to use this module.
42214         Reported by John Darrington <john@darrington.wattle.id.au>.
42216 2011-06-17  Bruno Haible  <bruno@clisp.org>
42218         pread, pwrite: Avoid cc warning on AIX.
42219         * lib/unistd.in.h (pread): Undefine before defining as a macro.
42220         (pwrite): Likewise.
42222 2011-06-17  Bruno Haible  <bruno@clisp.org>
42224         spawn-pipe tests: Fix link error.
42225         * tests/test-spawn-pipe-child.c: Undefine fprintf.
42226         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42228 2011-06-17  Bruno Haible  <bruno@clisp.org>
42230         Tests: Remove unnecessary dependency.
42231         * modules/canonicalize-tests (Depends-on): Remove progname.
42232         * modules/chown-tests (Depends-on): Likewise.
42233         * modules/dirname-tests (Depends-on): Likewise.
42234         * modules/fdopendir-tests (Depends-on): Likewise.
42235         * modules/fdutimensat-tests (Depends-on): Likewise.
42236         * modules/hash-tests (Depends-on): Likewise.
42237         * modules/lchown-tests (Depends-on): Likewise.
42238         * modules/linkat-tests (Depends-on): Likewise.
42239         * modules/renameat-tests (Depends-on): Likewise.
42240         * modules/spawn-pipe-tests (Depends-on): Likewise.
42241         * modules/utimensat-tests (Depends-on): Likewise.
42243 2011-06-17  Bruno Haible  <bruno@clisp.org>
42245         spawn-pipe tests: Fix link error.
42246         * tests/test-spawn-pipe-child.c: Undefine fflush.
42248 2011-06-17  Bruno Haible  <bruno@clisp.org>
42250         Fix tests link errors.
42251         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
42252         * modules/chown-tests (Makefile.am): Don't link test-chown with
42253         LIBINTL.
42254         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
42255         LIBINTL.
42256         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
42257         LIBINTL.
42258         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
42259         LIBINTL.
42261 2011-06-16  Bruno Haible  <bruno@clisp.org>
42263         crypto/gc-sha1: Fix recent regression.
42264         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
42265         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
42267         crypto/gc-md5: Fix recent regression.
42268         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
42270         crypto/gc-md4: Fix recent regression.
42271         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
42272         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
42274         crypto/gc-arctwo: Fix recent regression.
42275         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
42276         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
42278         crypto/gc-rijndael: Fix recent regression.
42279         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
42280         (configure.ac): Invoke AC_LIBOBJ here.
42281         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
42282         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42284         crypto/gc-hmac-sha1: Fix recent regression.
42285         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
42286         (configure.ac): Invoke AC_LIBOBJ here.
42287         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
42288         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42290         crypto/gc-hmac-md5: Fix recent regression.
42291         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
42292         (configure.ac): Invoke AC_LIBOBJ here.
42293         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
42294         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42296         crypto/gc-des: Fix recent regression.
42297         * modules/crypto/gc-des (Files): Remove m4/des.m4.
42298         (configure.ac): Invoke AC_LIBOBJ here.
42299         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
42300         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42302         crypto/gc-arcfour: Fix recent regression.
42303         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
42304         (configure.ac): Invoke AC_LIBOBJ here.
42305         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
42306         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42308 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
42310         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
42311         After the 2011-05-21 change, this macro requires
42312         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
42313         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
42315 2011-06-16  Bruno Haible  <bruno@clisp.org>
42317         fprintftime: Move AC_LIBOBJ invocations to module description.
42318         * m4/fprintftime.m4: Remove file.
42319         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
42320         (configure.ac): Remove gl_FPRINTFTIME call.
42321         (Makefile.am): Augment lib_SOURCES.
42322         Reported by Jim Meyering.
42324 2011-06-16  Bruno Haible  <bruno@clisp.org>
42326         tmpfile-safer: Finish 2011-05-23 commit.
42327         * m4/stdio-safer.m4: Really remove file.
42328         Reported by Jim Meyering.
42330 2011-06-16  Bruno Haible  <bruno@clisp.org>
42332         syntax-check: Fix typo.
42333         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
42334         printf-posix.m4.
42335         Reported by Jim Meyering.
42337 2011-06-13  Jim Meyering  <meyering@redhat.com>
42339         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
42340         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
42342 2011-05-23  Bruno Haible  <bruno@clisp.org>
42344         yesno: Move AC_LIBOBJ invocations to module description.
42345         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
42346         * modules/yesno (Makefile.am): Augment lib_SOURCES.
42348 2011-05-23  Bruno Haible  <bruno@clisp.org>
42350         xstrtol: Move AC_LIBOBJ invocations to module description.
42351         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
42352         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
42354 2011-05-23  Bruno Haible  <bruno@clisp.org>
42356         xstrtold: Move AC_LIBOBJ invocations to module description.
42357         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
42358         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
42360 2011-05-23  Bruno Haible  <bruno@clisp.org>
42362         xstrtod: Move AC_LIBOBJ invocations to module description.
42363         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
42364         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
42366 2011-05-23  Bruno Haible  <bruno@clisp.org>
42368         xnanosleep: Move AC_LIBOBJ invocations to module description.
42369         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
42370         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
42372 2011-05-23  Bruno Haible  <bruno@clisp.org>
42374         xgetcwd: Move AC_LIBOBJ invocations to module description.
42375         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
42376         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
42378 2011-05-23  Bruno Haible  <bruno@clisp.org>
42380         xalloc: Move AC_LIBOBJ invocations to module description.
42381         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
42382         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
42384 2011-05-23  Bruno Haible  <bruno@clisp.org>
42386         write-any-file: Move AC_LIBOBJ invocations to module description.
42387         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
42388         invocation.
42389         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
42391 2011-05-23  Bruno Haible  <bruno@clisp.org>
42393         utimens: Move AC_LIBOBJ invocations to module description.
42394         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
42395         * modules/utimens (Makefile.am): Augment lib_SOURCES.
42397 2011-05-23  Bruno Haible  <bruno@clisp.org>
42399         utimecmp: Move AC_LIBOBJ invocations to module description.
42400         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
42401         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
42403 2011-05-23  Bruno Haible  <bruno@clisp.org>
42405         userspec: Move AC_LIBOBJ invocations to module description.
42406         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
42407         * modules/userspec (Makefile.am): Augment lib_SOURCES.
42409 2011-05-23  Bruno Haible  <bruno@clisp.org>
42411         unlinkdir: Move AC_LIBOBJ invocations to module description.
42412         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
42413         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
42415 2011-05-23  Bruno Haible  <bruno@clisp.org>
42417         unistd-safer: Move AC_LIBOBJ invocations to module description.
42418         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
42419         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
42421 2011-05-23  Bruno Haible  <bruno@clisp.org>
42423         tempname: Move AC_LIBOBJ invocations to module description.
42424         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
42425         * modules/tempname (Makefile.am): Augment lib_SOURCES.
42427 2011-05-23  Bruno Haible  <bruno@clisp.org>
42429         strftime: Move AC_LIBOBJ invocations to module description.
42430         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
42431         * modules/strftime (Makefile.am): Augment lib_SOURCES.
42433 2011-05-23  Bruno Haible  <bruno@clisp.org>
42435         stdlib-safer: Move AC_LIBOBJ invocations to module description.
42436         * m4/stdlib-safer.m4: Remove file.
42437         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
42438         (configure.ac): Remove gl_STDLIB_SAFER call.
42439         (Makefile.am): Augment lib_SOURCES.
42441 2011-05-23  Bruno Haible  <bruno@clisp.org>
42443         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
42444         * m4/stdio-safer.m4: Remove file.
42445         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
42446         (configure.ac): Remove gl_TMPFILE_SAFER call.
42447         (Makefile.am): Augment lib_SOURCES.
42449 2011-05-23  Bruno Haible  <bruno@clisp.org>
42451         popen-safer: Move AC_LIBOBJ invocations to module description.
42452         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
42453         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
42454         (configure.ac): Remove gl_POPEN_SAFER call.
42455         (Makefile.am): Augment lib_SOURCES.
42457 2011-05-23  Bruno Haible  <bruno@clisp.org>
42459         freopen-safer: Move AC_LIBOBJ invocations to module description.
42460         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
42461         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
42462         (configure.ac): Remove gl_FREOPEN_SAFER call.
42463         (Makefile.am): Augment lib_SOURCES.
42465 2011-05-23  Bruno Haible  <bruno@clisp.org>
42467         fopen-safer: Move AC_LIBOBJ invocations to module description.
42468         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
42469         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
42470         (configure.ac): Remove gl_FOPEN_SAFER call.
42471         (Makefile.am): Augment lib_SOURCES.
42473 2011-05-23  Bruno Haible  <bruno@clisp.org>
42475         crypto/sha512: Move AC_LIBOBJ invocations to module description.
42476         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
42477         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
42479 2011-05-23  Bruno Haible  <bruno@clisp.org>
42481         crypto/sha256: Move AC_LIBOBJ invocations to module description.
42482         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
42483         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
42485 2011-05-23  Bruno Haible  <bruno@clisp.org>
42487         crypto/sha1: Move AC_LIBOBJ invocations to module description.
42488         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
42489         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
42491 2011-05-23  Bruno Haible  <bruno@clisp.org>
42493         settime: Move AC_LIBOBJ invocations to module description.
42494         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
42495         * modules/settime (Makefile.am): Augment lib_SOURCES.
42497 2011-05-23  Bruno Haible  <bruno@clisp.org>
42499         savedir: Move AC_LIBOBJ invocations to module description.
42500         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
42501         * modules/savedir (Makefile.am): Augment lib_SOURCES.
42503 2011-05-23  Bruno Haible  <bruno@clisp.org>
42505         save-cwd: Move AC_LIBOBJ invocations to module description.
42506         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
42507         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
42509 2011-05-23  Bruno Haible  <bruno@clisp.org>
42511         same: Move AC_LIBOBJ invocations to module description.
42512         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
42513         * modules/same (Makefile.am): Augment lib_SOURCES.
42515 2011-05-23  Bruno Haible  <bruno@clisp.org>
42517         safe-write: Move AC_LIBOBJ invocations to module description.
42518         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
42519         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
42520         instead of gl_SAFE_WRITE.
42521         (Makefile.am): Augment lib_SOURCES.
42523 2011-05-23  Bruno Haible  <bruno@clisp.org>
42525         safe-read: Move AC_LIBOBJ invocations to module description.
42526         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
42527         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
42528         of gl_SAFE_READ.
42529         (Makefile.am): Augment lib_SOURCES.
42531 2011-05-23  Bruno Haible  <bruno@clisp.org>
42533         safe-alloc: Move AC_LIBOBJ invocations to module description.
42534         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
42535         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
42537 2011-05-23  Bruno Haible  <bruno@clisp.org>
42539         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
42540         * m4/rijndael.m4: Remove file.
42541         * modules/crypto/rijndael (Files): Remove it.
42542         (configure.ac): Remove gl_RIJNDAEL call.
42543         (Makefile.am): Augment lib_SOURCES.
42545 2011-05-23  Bruno Haible  <bruno@clisp.org>
42547         readtokens: Move AC_LIBOBJ invocations to module description.
42548         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
42549         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
42551 2011-05-23  Bruno Haible  <bruno@clisp.org>
42553         read-file: Move AC_LIBOBJ invocations to module description.
42554         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
42555         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
42556         of gl_FUNC_READ_FILE.
42557         (Makefile.am): Augment lib_SOURCES.
42559 2011-05-23  Bruno Haible  <bruno@clisp.org>
42561         quotearg: Move AC_LIBOBJ invocations to module description.
42562         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
42563         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
42565 2011-05-23  Bruno Haible  <bruno@clisp.org>
42567         quote: Move AC_LIBOBJ invocations to module description.
42568         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
42569         * modules/quote (Makefile.am): Augment lib_SOURCES.
42571 2011-05-23  Bruno Haible  <bruno@clisp.org>
42573         posixver: Move AC_LIBOBJ invocations to module description.
42574         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
42575         * modules/posixver (Makefile.am): Augment lib_SOURCES.
42577 2011-05-23  Bruno Haible  <bruno@clisp.org>
42579         posixtm: Move AC_LIBOBJ invocations to module description.
42580         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
42581         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
42583 2011-05-23  Bruno Haible  <bruno@clisp.org>
42585         physmem: Move AC_LIBOBJ invocations to module description.
42586         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
42587         * modules/physmem (Makefile.am): Augment lib_SOURCES.
42589 2011-05-23  Bruno Haible  <bruno@clisp.org>
42591         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
42592         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
42593         invocation.
42594         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
42596 2011-05-23  Bruno Haible  <bruno@clisp.org>
42598         mpsort: Move AC_LIBOBJ invocations to module description.
42599         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
42600         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
42602 2011-05-23  Bruno Haible  <bruno@clisp.org>
42604         modechange: Move AC_LIBOBJ invocations to module description.
42605         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
42606         * modules/modechange (Makefile.am): Augment lib_SOURCES.
42608 2011-05-23  Bruno Haible  <bruno@clisp.org>
42610         mkdir-p: Move AC_LIBOBJ invocations to module description.
42611         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
42612         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
42614 2011-05-23  Bruno Haible  <bruno@clisp.org>
42616         mkancesdirs: Move AC_LIBOBJ invocations to module description.
42617         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
42618         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
42620 2011-05-23  Bruno Haible  <bruno@clisp.org>
42622         mgetgroups: Move AC_LIBOBJ invocations to module description.
42623         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
42624         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
42626 2011-05-23  Bruno Haible  <bruno@clisp.org>
42628         memxor: Move AC_LIBOBJ invocations to module description.
42629         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
42630         * modules/memxor (Makefile.am): Augment lib_SOURCES.
42632 2011-05-23  Bruno Haible  <bruno@clisp.org>
42634         memcoll: Move AC_LIBOBJ invocations to module description.
42635         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
42636         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
42638 2011-05-23  Bruno Haible  <bruno@clisp.org>
42640         memcasecmp: Move AC_LIBOBJ invocations to module description.
42641         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
42642         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
42644 2011-05-23  Bruno Haible  <bruno@clisp.org>
42646         crypto/md5: Move AC_LIBOBJ invocations to module description.
42647         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
42648         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
42650 2011-05-23  Bruno Haible  <bruno@clisp.org>
42652         crypto/md4: Move AC_LIBOBJ invocations to module description.
42653         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
42654         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
42656 2011-05-23  Bruno Haible  <bruno@clisp.org>
42658         crypto/md2: Move AC_LIBOBJ invocations to module description.
42659         * m4/md2.m4: Remove file.
42660         * modules/crypto/md2 (Files): Remove it.
42661         (configure.ac): Remove gl_MD2 call.
42662         (Makefile.am): Augment lib_SOURCES.
42664 2011-05-23  Bruno Haible  <bruno@clisp.org>
42666         long-options: Move AC_LIBOBJ invocations to module description.
42667         * m4/long-options.m4: Remove file.
42668         * modules/long-options (Files): Remove it.
42669         (configure.ac): Remove gl_LONG_OPTIONS call.
42670         (Makefile.am): Augment lib_SOURCES.
42672 2011-05-23  Bruno Haible  <bruno@clisp.org>
42674         i-ring: Move AC_LIBOBJ invocations to module description.
42675         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
42676         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
42678 2011-05-23  Bruno Haible  <bruno@clisp.org>
42680         idcache: Move AC_LIBOBJ invocations to module description.
42681         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
42682         * modules/idcache (Makefile.am): Augment lib_SOURCES.
42684 2011-05-23  Bruno Haible  <bruno@clisp.org>
42686         human: Move AC_LIBOBJ invocations to module description.
42687         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
42688         * modules/human (Makefile.am): Augment lib_SOURCES.
42690 2011-05-23  Bruno Haible  <bruno@clisp.org>
42692         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
42693         * m4/hmac-sha1.m4: Remove file.
42694         * modules/crypto/hmac-sha1 (Files): Remove it.
42695         (configure.ac): Remove gl_HMAC_SHA1 call.
42696         (Makefile.am): Augment lib_SOURCES.
42698 2011-05-23  Bruno Haible  <bruno@clisp.org>
42700         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
42701         * m4/hmac-md5.m4: Remove file.
42702         * modules/crypto/hmac-md5 (Files): Remove it.
42703         (configure.ac): Remove gl_HMAC_MD5 call.
42704         (Makefile.am): Augment lib_SOURCES.
42706 2011-05-23  Bruno Haible  <bruno@clisp.org>
42708         hash: Move AC_LIBOBJ invocations to module description.
42709         * m4/hash.m4: Remove file.
42710         * modules/hash (Files): Remove it.
42711         (configure.ac): Remove gl_HASH call.
42712         (Makefile.am): Augment lib_SOURCES.
42714 2011-05-23  Bruno Haible  <bruno@clisp.org>
42716         hard-locale: Move AC_LIBOBJ invocations to module description.
42717         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
42718         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
42720 2011-05-23  Bruno Haible  <bruno@clisp.org>
42722         getugroups: Move AC_LIBOBJ invocations to module description.
42723         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
42724         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
42726 2011-05-23  Bruno Haible  <bruno@clisp.org>
42728         gettime: Move AC_LIBOBJ invocations to module description.
42729         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
42730         * modules/gettime (Makefile.am): Augment lib_SOURCES.
42732 2011-05-23  Bruno Haible  <bruno@clisp.org>
42734         getndelim2: Move AC_LIBOBJ invocations to module description.
42735         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
42736         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
42738 2011-05-23  Bruno Haible  <bruno@clisp.org>
42740         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
42741         * m4/gc-pbkdf2-sha1.m4: Remove file.
42742         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
42743         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
42744         (Makefile.am): Augment lib_SOURCES.
42746 2011-05-23  Bruno Haible  <bruno@clisp.org>
42748         fts: Move AC_LIBOBJ invocations to module description.
42749         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
42750         * modules/fts (configure.ac): ... to here.
42752 2011-05-23  Bruno Haible  <bruno@clisp.org>
42754         file-type: Move AC_LIBOBJ invocations to module description.
42755         * m4/file-type.m4: Remove file.
42756         * modules/file-type (Files): Remove it.
42757         (configure.ac): Remove gl_FILE_TYPE call.
42758         (Makefile.am): Augment lib_SOURCES.
42760 2011-05-23  Bruno Haible  <bruno@clisp.org>
42762         filenamecat*: Respect rules for use of AC_LIBOBJ.
42763         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
42764         Remove AC_LIBOBJ invocation.
42765         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
42766         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
42768 2011-05-23  Bruno Haible  <bruno@clisp.org>
42770         filemode: Move AC_LIBOBJ invocations to module description.
42771         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
42772         * modules/filemode (Makefile.am): Augment lib_SOURCES.
42774 2011-05-23  Bruno Haible  <bruno@clisp.org>
42776         openat-safer: Move AC_LIBOBJ invocations to module description.
42777         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
42778         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
42780 2011-05-23  Bruno Haible  <bruno@clisp.org>
42782         fcntl-safer: Move AC_LIBOBJ invocations to module description.
42783         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
42784         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
42786 2011-05-23  Bruno Haible  <bruno@clisp.org>
42788         exclude: Move AC_LIBOBJ invocations to module description.
42789         * m4/exclude.m4: Remove file.
42790         * modules/exclude (Files): Remove it.
42791         (configure.ac): Remove gl_EXCLUDE call.
42792         (Makefile.am): Augment lib_SOURCES.
42794 2011-05-23  Bruno Haible  <bruno@clisp.org>
42796         dirname*: Respect rules for use of AC_LIBOBJ.
42797         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
42798         invocations.
42799         * modules/dirname (Makefile.am): Augment lib_SOURCES.
42800         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
42802 2011-05-23  Bruno Haible  <bruno@clisp.org>
42804         dirent-safer: Move AC_LIBOBJ invocations to module description.
42805         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
42806         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
42808 2011-05-23  Bruno Haible  <bruno@clisp.org>
42810         crypto/des: Move AC_LIBOBJ invocations to module description.
42811         * m4/des.m4: Remove file.
42812         * modules/crypto/des (Files): Remove it.
42813         (configure.ac): Remove gl_DES call.
42814         (Makefile.am): Augment lib_SOURCES.
42816 2011-05-23  Bruno Haible  <bruno@clisp.org>
42818         cycle-check: Move AC_LIBOBJ invocations to module description.
42819         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
42820         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
42822 2011-05-23  Bruno Haible  <bruno@clisp.org>
42824         c-strtold: Move AC_LIBOBJ invocations to module description.
42825         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
42826         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
42828 2011-05-23  Bruno Haible  <bruno@clisp.org>
42830         c-strtod: Move AC_LIBOBJ invocations to module description.
42831         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
42832         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
42834 2011-05-23  Bruno Haible  <bruno@clisp.org>
42836         crc: Move AC_LIBOBJ invocations to module description.
42837         * m4/crc.m4: Remove file.
42838         * modules/crc (Files): Remove it.
42839         (configure.ac): Remove gl_CRC call.
42840         (Makefile.am): Augment lib_SOURCES.
42842 2011-05-23  Bruno Haible  <bruno@clisp.org>
42844         close-stream: Move AC_LIBOBJ invocations to module description.
42845         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
42846         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
42848 2011-05-23  Bruno Haible  <bruno@clisp.org>
42850         closeout: Move AC_LIBOBJ invocations to module description.
42851         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
42852         * modules/closeout (Makefile.am): Augment lib_SOURCES.
42854 2011-05-23  Bruno Haible  <bruno@clisp.org>
42856         closein: Move AC_LIBOBJ invocations to module description.
42857         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
42858         * modules/closein (Makefile.am): Augment lib_SOURCES.
42860 2011-05-23  Bruno Haible  <bruno@clisp.org>
42862         cloexec: Move AC_LIBOBJ invocations to module description.
42863         * m4/cloexec.m4: Remove file.
42864         * modules/cloexec (Files): Remove it.
42865         (configure.ac): Remove gl_CLOEXEC call.
42866         (Makefile.am): Augment lib_SOURCES.
42868 2011-05-23  Bruno Haible  <bruno@clisp.org>
42870         check-version: Move AC_LIBOBJ invocations to module description.
42871         * m4/check-version.m4: Remove file.
42872         * modules/check-version (Files): Remove it.
42873         (configure.ac): Remove gl_CHECK_VERSION call.
42874         (Makefile.am): Augment lib_SOURCES.
42876 2011-05-23  Bruno Haible  <bruno@clisp.org>
42878         chdir-safer: Move AC_LIBOBJ invocations to module description.
42879         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
42880         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
42882 2011-05-23  Bruno Haible  <bruno@clisp.org>
42884         canonicalize: Move AC_LIBOBJ invocations to module description.
42885         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
42886         AC_LIBOBJ invocation.
42887         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
42889 2011-05-23  Bruno Haible  <bruno@clisp.org>
42891         canon-host: Move AC_LIBOBJ invocations to module description.
42892         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
42893         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
42894         instead of gl_CANON_HOST.
42895         (Makefile.am): Augment lib_SOURCES.
42897 2011-05-23  Bruno Haible  <bruno@clisp.org>
42899         backupfile: Move AC_LIBOBJ invocations to module description.
42900         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
42901         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
42903 2011-05-23  Bruno Haible  <bruno@clisp.org>
42905         argmatch: Move AC_LIBOBJ invocations to module description.
42906         * m4/argmatch.m4: Remove file.
42907         * modules/argmatch (Files): Remove it.
42908         (configure.ac): Remove gl_ARGMATCH call.
42909         (Makefile.am): Augment lib_SOURCES.
42911 2011-05-23  Bruno Haible  <bruno@clisp.org>
42913         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
42914         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
42915         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
42917 2011-05-23  Bruno Haible  <bruno@clisp.org>
42919         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
42920         * m4/arcfour.m4: Remove file.
42921         * modules/crypto/arcfour (Files): Remove it.
42922         (configure.ac): Remove gl_ARCFOUR call.
42923         (Makefile.am): Augment lib_SOURCES.
42925 2011-05-22  Bruno Haible  <bruno@clisp.org>
42927         write: Move AC_LIBOBJ invocations to module description.
42928         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
42929         * modules/write (configure.ac): ... to here.
42931 2011-05-22  Bruno Haible  <bruno@clisp.org>
42933         wmemset: Move AC_LIBOBJ invocations to module description.
42934         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
42935         here...
42936         * modules/wmemset (configure.ac): ... to here.
42938 2011-05-22  Bruno Haible  <bruno@clisp.org>
42940         wmemmove: Move AC_LIBOBJ invocations to module description.
42941         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
42942         here...
42943         * modules/wmemmove (configure.ac): ... to here.
42945 2011-05-22  Bruno Haible  <bruno@clisp.org>
42947         wmemcpy: Move AC_LIBOBJ invocations to module description.
42948         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
42949         here...
42950         * modules/wmemcpy (configure.ac): ... to here.
42952 2011-05-22  Bruno Haible  <bruno@clisp.org>
42954         wmemcmp: Move AC_LIBOBJ invocations to module description.
42955         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
42956         here...
42957         * modules/wmemcmp (configure.ac): ... to here.
42959 2011-05-22  Bruno Haible  <bruno@clisp.org>
42961         wmemchr: Move AC_LIBOBJ invocations to module description.
42962         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
42963         here...
42964         * modules/wmemchr (configure.ac): ... to here.
42966 2011-05-22  Bruno Haible  <bruno@clisp.org>
42968         wcswidth: Move AC_LIBOBJ invocations to module description.
42969         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
42970         here...
42971         * modules/wcswidth (configure.ac): ... to here.
42973 2011-05-22  Bruno Haible  <bruno@clisp.org>
42975         wcwidth: Respect rules for use of AC_LIBOBJ.
42976         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
42977         invocation from here...
42978         * modules/wcwidth (configure.ac): ... to here.
42979         (Depends-on): Update conditions.
42981 2011-05-22  Bruno Haible  <bruno@clisp.org>
42983         wctype: Move AC_LIBOBJ invocations to module description.
42984         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
42985         invocation from here...
42986         * modules/wctype (configure.ac): ... to here.
42987         (Depends-on): Update conditions.
42989 2011-05-22  Bruno Haible  <bruno@clisp.org>
42991         wctrans: Move AC_LIBOBJ invocations to module description.
42992         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
42993         invocation from here...
42994         * modules/wctrans (configure.ac): ... to here.
42996 2011-05-22  Bruno Haible  <bruno@clisp.org>
42998         wctomb: Move AC_LIBOBJ invocations to module description.
42999         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
43000         invocations from here...
43001         * modules/wctomb (configure.ac): ... to here.
43003 2011-05-22  Bruno Haible  <bruno@clisp.org>
43005         wctob: Move AC_LIBOBJ invocations to module description.
43006         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
43007         gl_PREREQ_WCTOB invocations from here...
43008         * modules/wctob (configure.ac): ... to here.
43009         (Depends-on): Update conditions.
43011 2011-05-22  Bruno Haible  <bruno@clisp.org>
43013         wcsxfrm: Move AC_LIBOBJ invocations to module description.
43014         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
43015         here...
43016         * modules/wcsxfrm (configure.ac): ... to here.
43018 2011-05-22  Bruno Haible  <bruno@clisp.org>
43020         wcstok: Move AC_LIBOBJ invocations to module description.
43021         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
43022         * modules/wcstok (configure.ac): ... to here.
43024 2011-05-22  Bruno Haible  <bruno@clisp.org>
43026         wcsstr: Move AC_LIBOBJ invocations to module description.
43027         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
43028         * modules/wcsstr (configure.ac): ... to here.
43030 2011-05-22  Bruno Haible  <bruno@clisp.org>
43032         wcsspn: Move AC_LIBOBJ invocations to module description.
43033         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
43034         * modules/wcsspn (configure.ac): ... to here.
43036 2011-05-22  Bruno Haible  <bruno@clisp.org>
43038         wcsrtombs: Move AC_LIBOBJ invocations to module description.
43039         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
43040         gl_PREREQ_WCSRTOMBS invocations from here...
43041         * modules/wcsrtombs (configure.ac): ... to here.
43043 2011-05-22  Bruno Haible  <bruno@clisp.org>
43045         wcsrchr: Move AC_LIBOBJ invocations to module description.
43046         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
43047         here...
43048         * modules/wcsrchr (configure.ac): ... to here.
43050 2011-05-22  Bruno Haible  <bruno@clisp.org>
43052         wcspbrk: Move AC_LIBOBJ invocations to module description.
43053         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
43054         here...
43055         * modules/wcspbrk (configure.ac): ... to here.
43057 2011-05-22  Bruno Haible  <bruno@clisp.org>
43059         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
43060         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
43061         gl_PREREQ_WCSNRTOMBS invocations from here...
43062         * modules/wcsnrtombs (configure.ac): ... to here.
43064 2011-05-22  Bruno Haible  <bruno@clisp.org>
43066         wcsnlen: Move AC_LIBOBJ invocations to module description.
43067         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
43068         here...
43069         * modules/wcsnlen (configure.ac): ... to here.
43071 2011-05-22  Bruno Haible  <bruno@clisp.org>
43073         wcsncpy: Move AC_LIBOBJ invocations to module description.
43074         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
43075         here...
43076         * modules/wcsncpy (configure.ac): ... to here.
43078 2011-05-22  Bruno Haible  <bruno@clisp.org>
43080         wcsncmp: Move AC_LIBOBJ invocations to module description.
43081         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
43082         here...
43083         * modules/wcsncmp (configure.ac): ... to here.
43085 2011-05-22  Bruno Haible  <bruno@clisp.org>
43087         wcsncat: Move AC_LIBOBJ invocations to module description.
43088         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
43089         here...
43090         * modules/wcsncat (configure.ac): ... to here.
43092 2011-05-22  Bruno Haible  <bruno@clisp.org>
43094         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
43095         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
43096         from here...
43097         * modules/wcsncasecmp (configure.ac): ... to here.
43099 2011-05-22  Bruno Haible  <bruno@clisp.org>
43101         wcslen: Move AC_LIBOBJ invocations to module description.
43102         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
43103         * modules/wcslen (configure.ac): ... to here.
43105 2011-05-22  Bruno Haible  <bruno@clisp.org>
43107         wcsdup: Move AC_LIBOBJ invocations to module description.
43108         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
43109         * modules/wcsdup (configure.ac): ... to here.
43111 2011-05-22  Bruno Haible  <bruno@clisp.org>
43113         wcscspn: Move AC_LIBOBJ invocations to module description.
43114         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
43115         here...
43116         * modules/wcscspn (configure.ac): ... to here.
43118 2011-05-22  Bruno Haible  <bruno@clisp.org>
43120         wcscpy: Move AC_LIBOBJ invocations to module description.
43121         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
43122         * modules/wcscpy (configure.ac): ... to here.
43124 2011-05-22  Bruno Haible  <bruno@clisp.org>
43126         wcscoll: Move AC_LIBOBJ invocations to module description.
43127         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
43128         here...
43129         * modules/wcscoll (configure.ac): ... to here.
43131 2011-05-22  Bruno Haible  <bruno@clisp.org>
43133         wcscmp: Move AC_LIBOBJ invocations to module description.
43134         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
43135         * modules/wcscmp (configure.ac): ... to here.
43137 2011-05-22  Bruno Haible  <bruno@clisp.org>
43139         wcschr: Move AC_LIBOBJ invocations to module description.
43140         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
43141         * modules/wcschr (configure.ac): ... to here.
43143 2011-05-22  Bruno Haible  <bruno@clisp.org>
43145         wcscat: Move AC_LIBOBJ invocations to module description.
43146         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
43147         * modules/wcscat (configure.ac): ... to here.
43149 2011-05-22  Bruno Haible  <bruno@clisp.org>
43151         wcscasecmp: Move AC_LIBOBJ invocations to module description.
43152         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
43153         here...
43154         * modules/wcscasecmp (configure.ac): ... to here.
43156 2011-05-22  Bruno Haible  <bruno@clisp.org>
43158         wcrtomb: Move AC_LIBOBJ invocations to module description.
43159         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
43160         invocations from here...
43161         * modules/wcrtomb (configure.ac): ... to here.
43163 2011-05-22  Bruno Haible  <bruno@clisp.org>
43165         wcpncpy: Move AC_LIBOBJ invocations to module description.
43166         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
43167         here...
43168         * modules/wcpncpy (configure.ac): ... to here.
43170 2011-05-22  Bruno Haible  <bruno@clisp.org>
43172         wcpcpy: Move AC_LIBOBJ invocations to module description.
43173         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
43174         * modules/wcpcpy (configure.ac): ... to here.
43176 2011-05-22  Bruno Haible  <bruno@clisp.org>
43178         waitpid: Move AC_LIBOBJ invocations to module description.
43179         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
43180         invocation from here...
43181         * modules/waitpid (configure.ac): ... to here.
43183 2011-05-22  Bruno Haible  <bruno@clisp.org>
43185         utimensat: Move AC_LIBOBJ invocations to module description.
43186         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
43187         here...
43188         * modules/utimensat (configure.ac): ... to here.
43190 2011-05-22  Bruno Haible  <bruno@clisp.org>
43192         usleep: Move AC_LIBOBJ invocations to module description.
43193         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
43194         here...
43195         * modules/usleep (configure.ac): ... to here.
43197 2011-05-22  Bruno Haible  <bruno@clisp.org>
43199         unlockpt: Move AC_LIBOBJ invocations to module description.
43200         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
43201         gl_PREREQ_UNLOCKPT invocations from here...
43202         * modules/unlockpt (configure.ac): ... to here.
43204 2011-05-22  Bruno Haible  <bruno@clisp.org>
43206         unlink: Respect rules for use of AC_LIBOBJ.
43207         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
43208         * modules/unlink (configure.ac): ... to here.
43210 2011-05-22  Bruno Haible  <bruno@clisp.org>
43212         uname: Move AC_LIBOBJ invocations to module description.
43213         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
43214         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
43215         here...
43216         * modules/uname (configure.ac): ... to here.
43218 2011-05-22  Bruno Haible  <bruno@clisp.org>
43220         ttyname_r: Move AC_LIBOBJ invocations to module description.
43221         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
43222         gl_PREREQ_TTYNAME_R invocations from here...
43223         * modules/ttyname_r (configure.ac): ... to here.
43225 2011-05-22  Bruno Haible  <bruno@clisp.org>
43227         tsearch: Move AC_LIBOBJ invocations to module description.
43228         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
43229         invocations from here...
43230         * modules/tsearch (configure.ac): ... to here.
43232 2011-05-22  Bruno Haible  <bruno@clisp.org>
43234         towctrans: Move AC_LIBOBJ invocations to module description.
43235         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
43236         AC_LIBOBJ invocation from here...
43237         * modules/towctrans (configure.ac): ... to here.
43239 2011-05-22  Bruno Haible  <bruno@clisp.org>
43241         tmpfile: Move AC_LIBOBJ invocations to module description.
43242         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
43243         invocations from here...
43244         * modules/tmpfile (configure.ac): ... to here.
43246 2011-05-22  Bruno Haible  <bruno@clisp.org>
43248         times: Move AC_LIBOBJ invocations to module description.
43249         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
43250         * modules/times (configure.ac): ... to here.
43252 2011-05-22  Bruno Haible  <bruno@clisp.org>
43254         time_r: Move AC_LIBOBJ invocations to module description.
43255         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
43256         invocations from here...
43257         * modules/time_r (configure.ac): ... to here.
43259 2011-05-22  Bruno Haible  <bruno@clisp.org>
43261         timegm: Move AC_LIBOBJ invocations to module description.
43262         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
43263         invocations from here...
43264         * modules/timegm (configure.ac): ... to here.
43266 2011-05-22  Bruno Haible  <bruno@clisp.org>
43268         tcgetsid: Move AC_LIBOBJ invocations to module description.
43269         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
43270         and gl_PREREQ_TCGETSID invocations from here...
43271         * modules/tcgetsid (configure.ac): ... to here.
43272         (Depends-on): Update conditions.
43274 2011-05-22  Bruno Haible  <bruno@clisp.org>
43276         symlinkat: Move AC_LIBOBJ invocations to module description.
43277         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
43278         here...
43279         * modules/symlinkat (configure.ac): ... to here.
43281 2011-05-22  Bruno Haible  <bruno@clisp.org>
43283         symlink: Move AC_LIBOBJ invocations to module description.
43284         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
43285         here...
43286         * modules/symlink (configure.ac): ... to here.
43288 2011-05-22  Bruno Haible  <bruno@clisp.org>
43290         strverscmp: Move AC_LIBOBJ invocations to module description.
43291         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
43292         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
43293         from here...
43294         * modules/strverscmp (configure.ac): ... to here.
43296 2011-05-22  Bruno Haible  <bruno@clisp.org>
43298         strtok_r: Move AC_LIBOBJ invocations to module description.
43299         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
43300         and gl_PREREQ_STRTOK_R invocations from here...
43301         * modules/strtok_r (configure.ac): ... to here.
43302         (Depends-on): Update conditions.
43304 2011-05-22  Bruno Haible  <bruno@clisp.org>
43306         strtoumax: Move AC_LIBOBJ invocations to module description.
43307         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
43308         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
43309         from here...
43310         * modules/strtoumax (configure.ac): ... to here.
43312 2011-05-22  Bruno Haible  <bruno@clisp.org>
43314         strtoimax: Move AC_LIBOBJ invocations to module description.
43315         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
43316         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
43317         from here...
43318         * modules/strtoimax (configure.ac): ... to here.
43320 2011-05-22  Bruno Haible  <bruno@clisp.org>
43322         strtoull: Move AC_LIBOBJ invocations to module description.
43323         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
43324         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
43325         from here...
43326         * modules/strtoull (configure.ac): ... to here.
43328 2011-05-22  Bruno Haible  <bruno@clisp.org>
43330         strtoll: Move AC_LIBOBJ invocations to module description.
43331         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
43332         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
43333         here...
43334         * modules/strtoll (configure.ac): ... to here.
43336 2011-05-22  Bruno Haible  <bruno@clisp.org>
43338         strtoul: Move AC_LIBOBJ invocations to module description.
43339         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
43340         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
43341         * modules/strtoul (configure.ac): ... to here.
43343 2011-05-22  Bruno Haible  <bruno@clisp.org>
43345         strtol: Move AC_LIBOBJ invocations to module description.
43346         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
43347         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
43348         * modules/strtol (configure.ac): ... to here.
43350 2011-05-22  Bruno Haible  <bruno@clisp.org>
43352         strtod: Move AC_LIBOBJ invocations to module description.
43353         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
43354         invocations from here...
43355         * modules/strtod (configure.ac): ... to here.
43357 2011-05-22  Bruno Haible  <bruno@clisp.org>
43359         strstr*: Move AC_LIBOBJ invocations to module description.
43360         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
43361         invocations from here...
43362         * modules/strstr-simple (configure.ac): ... to here.
43363         * modules/strstr (configure.ac): ... and here.
43365 2011-05-22  Bruno Haible  <bruno@clisp.org>
43367         strsignal: Move AC_LIBOBJ invocations to module description.
43368         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
43369         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
43370         * modules/strsignal (configure.ac): ... to here.
43371         (Depends-on): Update conditions.
43373 2011-05-22  Bruno Haible  <bruno@clisp.org>
43375         strsep: Move AC_LIBOBJ invocations to module description.
43376         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
43377         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
43378         here...
43379         * modules/strsep (configure.ac): ... to here.
43381 2011-05-22  Bruno Haible  <bruno@clisp.org>
43383         strptime: Move AC_LIBOBJ invocations to module description.
43384         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
43385         gl_PREREQ_STRPTIME invocations from here...
43386         * modules/strptime (configure.ac): ... to here.
43388 2011-05-22  Bruno Haible  <bruno@clisp.org>
43390         strpbrk: Move AC_LIBOBJ invocations to module description.
43391         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
43392         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
43393         here...
43394         * modules/strpbrk (configure.ac): ... to here.
43396 2011-05-22  Bruno Haible  <bruno@clisp.org>
43398         strnlen: Move AC_LIBOBJ invocations to module description.
43399         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
43400         invocations from here...
43401         * modules/strnlen (configure.ac): ... to here.
43403 2011-05-22  Bruno Haible  <bruno@clisp.org>
43405         strndup: Move AC_LIBOBJ invocations to module description.
43406         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
43407         invocations from here...
43408         * modules/strndup (configure.ac): ... to here.
43409         (Depends-on): Update conditions.
43411 2011-05-22  Bruno Haible  <bruno@clisp.org>
43413         strncat: Move AC_LIBOBJ invocations to module description.
43414         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
43415         invocations from here...
43416         * modules/strncat (configure.ac): ... to here.
43418 2011-05-22  Bruno Haible  <bruno@clisp.org>
43420         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
43421         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
43422         invocations from here...
43423         * modules/strdup (configure.ac): ... to here.
43424         * modules/strdup-posix (configure.ac): ... and here.
43426 2011-05-22  Bruno Haible  <bruno@clisp.org>
43428         strcspn: Move AC_LIBOBJ invocations to module description.
43429         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
43430         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
43431         here...
43432         * modules/strcspn (configure.ac): ... to here.
43434 2011-05-22  Bruno Haible  <bruno@clisp.org>
43436         strchrnul: Move AC_LIBOBJ invocations to module description.
43437         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
43438         gl_PREREQ_STRCHRNUL invocations from here...
43439         * modules/strchrnul (configure.ac): ... to here.
43441 2011-05-22  Bruno Haible  <bruno@clisp.org>
43443         strcasestr*: Move AC_LIBOBJ invocations to module description.
43444         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
43445         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
43446         * modules/strcasestr-simple (configure.ac): ... to here.
43447         * modules/strcasestr (configure.ac): ... and here.
43449 2011-05-22  Bruno Haible  <bruno@clisp.org>
43451         strcase: Move AC_LIBOBJ invocations to module description.
43452         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
43453         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
43454         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
43455         gl_PREREQ_STRNCASECMP invocations from here...
43456         * modules/strcase (configure.ac): ... to here.
43458 2011-05-22  Bruno Haible  <bruno@clisp.org>
43460         stpncpy: Move AC_LIBOBJ invocations to module description.
43461         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
43462         here...
43463         * modules/stpncpy (configure.ac): ... to here.
43465 2011-05-22  Bruno Haible  <bruno@clisp.org>
43467         stpcpy: Move AC_LIBOBJ invocations to module description.
43468         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
43469         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
43470         here...
43471         * modules/stpcpy (configure.ac): ... to here.
43473 2011-05-21  Bruno Haible  <bruno@clisp.org>
43475         stat: Move AC_LIBOBJ invocations to module description.
43476         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
43477         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
43478         here...
43479         * modules/stat (configure.ac): ... to here.
43481 2011-05-21  Bruno Haible  <bruno@clisp.org>
43483         sleep: Move AC_LIBOBJ invocations to module description.
43484         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
43485         * modules/sleep (configure.ac): ... to here.
43487 2011-05-21  Bruno Haible  <bruno@clisp.org>
43489         signbit: Move AC_LIBOBJ invocations to module description.
43490         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
43491         * modules/signbit (configure.ac): ... to here.
43493 2011-05-21  Bruno Haible  <bruno@clisp.org>
43495         sigprocmask: Move AC_LIBOBJ invocations to module description.
43496         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
43497         gl_PREREQ_SIGPROMASK invocations from here...
43498         * modules/sigprocmask (configure.ac): ... to here.
43500 2011-05-21  Bruno Haible  <bruno@clisp.org>
43502         sigaction: Move AC_LIBOBJ invocations to module description.
43503         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
43504         gl_PREREQ_SIGACTION invocations from here...
43505         * modules/sigaction (configure.ac): ... to here.
43507 2011-05-21  Bruno Haible  <bruno@clisp.org>
43509         sig2str: Move AC_LIBOBJ invocations to module description.
43510         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
43511         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
43512         here...
43513         * modules/sig2str (configure.ac): ... to here.
43515 2011-05-21  Bruno Haible  <bruno@clisp.org>
43517         setlocale: Move AC_LIBOBJ invocations to module description.
43518         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
43519         gl_PREREQ_SETLOCALE invocations from here...
43520         * modules/setlocale (configure.ac): ... to here.
43522 2011-05-21  Bruno Haible  <bruno@clisp.org>
43524         unsetenv: Move AC_LIBOBJ invocations to module description.
43525         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
43526         and gl_PREREQ_UNSETENV invocations from here...
43527         * modules/unsetenv (configure.ac): ... to here.
43528         (Depends-on): Update.
43530 2011-05-21  Bruno Haible  <bruno@clisp.org>
43532         setenv: Move AC_LIBOBJ invocations to module description.
43533         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
43534         here...
43535         * modules/setenv (configure.ac): ... to here.
43537 2011-05-21  Bruno Haible  <bruno@clisp.org>
43539         selinux-h: Move AC_LIBOBJ invocations to module description.
43540         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
43541         AC_LIBOBJ invocation from here...
43542         * modules/selinux-h (configure.ac): ... to here.
43544 2011-05-21  Bruno Haible  <bruno@clisp.org>
43546         select: Respect rules for use of AC_LIBOBJ.
43547         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
43548         here...
43549         * modules/select (configure.ac): ... to here.
43551 2011-05-21  Bruno Haible  <bruno@clisp.org>
43553         scandir: Move AC_LIBOBJ invocations to module description.
43554         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
43555         invocations from here...
43556         * modules/scandir (configure.ac): ... to here.
43558 2011-05-21  Bruno Haible  <bruno@clisp.org>
43560         rpmatch: Move AC_LIBOBJ invocations to module description.
43561         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
43562         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
43563         here...
43564         * modules/rpmatch (configure.ac): ... to here.
43566 2011-05-21  Bruno Haible  <bruno@clisp.org>
43568         rmdir: Respect rules for use of AC_LIBOBJ.
43569         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
43570         * modules/rmdir (configure.ac): ... to here.
43572 2011-05-21  Bruno Haible  <bruno@clisp.org>
43574         renameat: Move AC_LIBOBJ invocations to module description.
43575         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
43576         here...
43577         * modules/renameat (configure.ac): ... to here.
43579 2011-05-21  Bruno Haible  <bruno@clisp.org>
43581         rename: Respect rules for use of AC_LIBOBJ.
43582         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
43583         here...
43584         * modules/rename (configure.ac): ... to here.
43586 2011-05-21  Bruno Haible  <bruno@clisp.org>
43588         remove: Move AC_LIBOBJ invocations to module description.
43589         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
43590         here...
43591         * modules/remove (configure.ac): ... to here.
43593 2011-05-21  Bruno Haible  <bruno@clisp.org>
43595         relocatable-lib: Move AC_LIBOBJ invocations to module description.
43596         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
43597         macro.
43598         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
43599         * modules/relocatable-lib (configure.ac): ... to here.
43600         * modules/relocatable-prog-wrapper (configure.ac): Invoke
43601         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
43603 2011-05-21  Bruno Haible  <bruno@clisp.org>
43605         relocatable-prog: Move AC_LIBOBJ invocations to module description.
43606         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
43607         here...
43608         * modules/relocatable-prog (configure.ac): ... to here.
43610 2011-05-21  Bruno Haible  <bruno@clisp.org>
43612         regex: Move AC_LIBOBJ invocations to module description.
43613         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
43614         invocations from here...
43615         * modules/regex (configure.ac): ... to here.
43617 2011-05-21  Bruno Haible  <bruno@clisp.org>
43619         realloc-*: Move AC_LIBOBJ invocations to module description.
43620         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
43621         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
43622         AC_LIBOBJ invocations from here...
43623         * modules/realloc-gnu (configure.ac): ... to here.
43624         * modules/realloc-posix (configure.ac): ... and here.
43626 2011-05-21  Bruno Haible  <bruno@clisp.org>
43628         readutmp: Move AC_LIBOBJ invocations to module description.
43629         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
43630         * modules/readutmp (configure.ac): ... to here.
43632 2011-05-21  Bruno Haible  <bruno@clisp.org>
43634         readlinkat: Move AC_LIBOBJ invocations to module description.
43635         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
43636         here...
43637         * modules/readlinkat (configure.ac): ... to here.
43639 2011-05-21  Bruno Haible  <bruno@clisp.org>
43641         readlink: Move AC_LIBOBJ invocations to module description.
43642         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
43643         gl_PREREQ_READLINK invocations from here...
43644         * modules/readlink (configure.ac): ... to here.
43646 2011-05-21  Bruno Haible  <bruno@clisp.org>
43648         readline: Move AC_LIBOBJ invocations to module description.
43649         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
43650         gl_PREREQ_READLINE invocations from here...
43651         * modules/readline (configure.ac): ... to here.
43653 2011-05-21  Bruno Haible  <bruno@clisp.org>
43655         read: Move AC_LIBOBJ invocations to module description.
43656         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
43657         * modules/read (configure.ac): ... to here.
43659 2011-05-21  Bruno Haible  <bruno@clisp.org>
43661         rawmemchr: Move AC_LIBOBJ invocations to module description.
43662         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
43663         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
43664         from here...
43665         * modules/rawmemchr (configure.ac): ... to here.
43667 2011-05-21  Bruno Haible  <bruno@clisp.org>
43669         random_r: Move AC_LIBOBJ invocations to module description.
43670         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
43671         gl_PREREQ_RANDOM_R invocations from here...
43672         * modules/random_r (configure.ac): ... to here.
43674 2011-05-21  Bruno Haible  <bruno@clisp.org>
43676         pwrite: Move AC_LIBOBJ invocations to module description.
43677         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
43678         * modules/pwrite (configure.ac): ... to here.
43680 2011-05-21  Bruno Haible  <bruno@clisp.org>
43682         putenv: Move AC_LIBOBJ invocations to module description.
43683         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
43684         * modules/putenv (configure.ac): ... to here.
43686 2011-05-21  Bruno Haible  <bruno@clisp.org>
43688         login_tty: Move AC_LIBOBJ invocations to module description.
43689         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
43690         * modules/login_tty (configure.ac): ... to here.
43692 2011-05-21  Bruno Haible  <bruno@clisp.org>
43694         openpty: Move AC_LIBOBJ invocations to module description.
43695         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
43696         * modules/openpty (configure.ac): ... to here.
43698 2011-05-21  Bruno Haible  <bruno@clisp.org>
43700         forkpty: Move AC_LIBOBJ invocations to module description.
43701         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
43702         * modules/forkpty (configure.ac): ... to here.
43704 2011-05-21  Bruno Haible  <bruno@clisp.org>
43706         ptsname: Move AC_LIBOBJ invocations to module description.
43707         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
43708         invocations from here...
43709         * modules/ptsname (configure.ac): ... to here.
43711 2011-05-21  Bruno Haible  <bruno@clisp.org>
43713         pread: Move AC_LIBOBJ invocations to module description.
43714         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
43715         * modules/pread (configure.ac): ... to here.
43717 2011-05-21  Bruno Haible  <bruno@clisp.org>
43719         posix_spawn*: Move AC_LIBOBJ invocations to module description.
43720         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
43721         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
43722         * modules/posix_spawn (configure.ac): ... to here.
43723         * modules/posix_spawnp (configure.ac): ... and here.
43725 2011-05-21  Bruno Haible  <bruno@clisp.org>
43727         popen: Move AC_LIBOBJ invocations to module description.
43728         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
43729         invocations from here...
43730         * modules/popen (configure.ac): ... to here.
43732 2011-05-21  Bruno Haible  <bruno@clisp.org>
43734         poll: Move AC_LIBOBJ invocations to module description.
43735         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
43736         invocations from here...
43737         * modules/poll (configure.ac): ... to here.
43739 2011-05-21  Bruno Haible  <bruno@clisp.org>
43741         pipe-posix: Move AC_LIBOBJ invocations to module description.
43742         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
43743         * modules/pipe-posix (configure.ac): ... to here.
43745 2011-05-21  Bruno Haible  <bruno@clisp.org>
43747         openat: Respect rules for use of AC_LIBOBJ.
43748         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
43749         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
43750         * modules/openat (configure.ac): ... to here.
43752 2011-05-21  Bruno Haible  <bruno@clisp.org>
43754         obstack-printf*: Move AC_LIBOBJ invocations to module description.
43755         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
43756         invocation from here...
43757         * modules/obstack-printf (configure.ac): ... to here.
43758         * modules/obstack-printf-posix (configure.ac): ... and here.
43760 2011-05-21  Bruno Haible  <bruno@clisp.org>
43762         nl_langinfo: Move AC_LIBOBJ invocations to module description.
43763         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
43764         from here...
43765         * modules/nl_langinfo (configure.ac): ... to here.
43767 2011-05-21  Bruno Haible  <bruno@clisp.org>
43769         nanosleep: Move AC_LIBOBJ invocations to module description.
43770         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
43771         gl_PREREQ_NANOSLEEP invocations from here...
43772         * modules/nanosleep (configure.ac): ... to here.
43774 2011-05-21  Bruno Haible  <bruno@clisp.org>
43776         mountlist: Move AC_LIBOBJ invocations to module description.
43777         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
43778         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
43779         * modules/mountlist (configure.ac): ... to here.
43781 2011-05-21  Bruno Haible  <bruno@clisp.org>
43783         mktime: Respect rules for use of AC_LIBOBJ.
43784         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
43785         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
43786         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
43787         (gl_FUNC_MKTIME_INTERNAL): ... and here...
43788         * modules/mktime (configure.ac): ... to here.
43789         * modules/mktime-internal (configure.ac): ... and here.
43790         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
43792 2011-05-21  Bruno Haible  <bruno@clisp.org>
43794         mkstemps: Move AC_LIBOBJ invocations to module description.
43795         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
43796         here...
43797         * modules/mkstemps (configure.ac): ... to here.
43799 2011-05-21  Bruno Haible  <bruno@clisp.org>
43801         mkstemp: Move AC_LIBOBJ invocations to module description.
43802         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
43803         gl_PREREQ_MKSTEMP invocations from here...
43804         * modules/mkstemp (configure.ac): ... to here.
43806 2011-05-21  Bruno Haible  <bruno@clisp.org>
43808         mkostemps: Move AC_LIBOBJ invocations to module description.
43809         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
43810         here...
43811         * modules/mkostemps (configure.ac): ... to here.
43813 2011-05-21  Bruno Haible  <bruno@clisp.org>
43815         mkostemp: Move AC_LIBOBJ invocations to module description.
43816         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
43817         gl_PREREQ_MKOSTEMP invocations from here...
43818         * modules/mkostemp (configure.ac): ... to here.
43820 2011-05-21  Bruno Haible  <bruno@clisp.org>
43822         mknod: Move AC_LIBOBJ invocations to module description.
43823         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
43824         * modules/mknod (configure.ac): ... to here.
43826 2011-05-21  Bruno Haible  <bruno@clisp.org>
43828         mkfifoat: Move AC_LIBOBJ invocations to module description.
43829         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
43830         here...
43831         * modules/mkfifoat (configure.ac): ... to here.
43833 2011-05-21  Bruno Haible  <bruno@clisp.org>
43835         mkfifo: Respect rules for use of AC_LIBOBJ.
43836         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
43837         here...
43838         * modules/mkfifo (configure.ac): ... to here.
43840 2011-05-21  Bruno Haible  <bruno@clisp.org>
43842         mkdtemp: Move AC_LIBOBJ invocations to module description.
43843         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
43844         invocations from here...
43845         * modules/mkdtemp (configure.ac): ... to here.
43847 2011-05-21  Bruno Haible  <bruno@clisp.org>
43849         mkdir: Move AC_LIBOBJ invocations to module description.
43850         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
43851         * modules/mkdir (configure.ac): ... to here.
43853 2011-05-21  Bruno Haible  <bruno@clisp.org>
43855         memset: Move AC_LIBOBJ invocations to module description.
43856         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
43857         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
43858         here...
43859         * modules/memset (configure.ac): ... to here.
43861 2011-05-21  Bruno Haible  <bruno@clisp.org>
43863         memrchr: Move AC_LIBOBJ invocations to module description.
43864         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
43865         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
43866         here...
43867         * modules/memrchr (configure.ac): ... to here.
43869 2011-05-21  Bruno Haible  <bruno@clisp.org>
43871         mempcpy: Move AC_LIBOBJ invocations to module description.
43872         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
43873         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
43874         here...
43875         * modules/mempcpy (configure.ac): ... to here.
43877 2011-05-21  Bruno Haible  <bruno@clisp.org>
43879         memmove: Move AC_LIBOBJ invocations to module description.
43880         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
43881         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
43882         here...
43883         * modules/memmove (configure.ac): ... to here.
43885 2011-05-21  Bruno Haible  <bruno@clisp.org>
43887         memmem*: Move AC_LIBOBJ invocations to module description.
43888         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
43889         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
43890         here...
43891         (gl_FUNC_MEMMEM): ... and here...
43892         * modules/memmem-simple (configure.ac): ... to here.
43893         * modules/memmem (configure.ac): ... and here.
43895 2011-05-21  Bruno Haible  <bruno@clisp.org>
43897         memcpy: Move AC_LIBOBJ invocations to module description.
43898         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
43899         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
43900         here...
43901         * modules/memcpy (configure.ac): ... to here.
43903 2011-05-21  Bruno Haible  <bruno@clisp.org>
43905         memcmp: Simplify autoconf macro.
43906         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
43907         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
43908         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
43910 2011-05-21  Bruno Haible  <bruno@clisp.org>
43912         memcmp: Move AC_LIBOBJ invocations to module description.
43913         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
43914         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
43915         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
43916         * modules/memcmp (configure.ac): ... to here.
43917         (Depends-on): Update conditions.
43919 2011-05-21  Bruno Haible  <bruno@clisp.org>
43921         memchr: Respect rules for use of AC_LIBOBJ.
43922         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
43923         invocations from here...
43924         * modules/memchr (configure.ac): ... to here.
43926 2011-05-21  Bruno Haible  <bruno@clisp.org>
43928         mbtowc: Move AC_LIBOBJ invocations to module description.
43929         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
43930         invocations from here...
43931         * modules/mbtowc (configure.ac): ... to here.
43933 2011-05-21  Bruno Haible  <bruno@clisp.org>
43935         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
43936         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
43937         gl_PREREQ_MBSRTOWCS invocations from here...
43938         * modules/mbsrtowcs (configure.ac): ... to here.
43940 2011-05-21  Bruno Haible  <bruno@clisp.org>
43942         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
43943         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
43944         gl_PREREQ_MBSNRTOWCS invocations from here...
43945         * modules/mbsnrtowcs (configure.ac): ... to here.
43947 2011-05-21  Bruno Haible  <bruno@clisp.org>
43949         mbsinit: Move AC_LIBOBJ invocations to module description.
43950         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
43951         invocations from here...
43952         * modules/mbsinit (configure.ac): ... to here.
43954 2011-05-21  Bruno Haible  <bruno@clisp.org>
43956         mbrlen: Move AC_LIBOBJ invocations to module description.
43957         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
43958         invocations from here...
43959         * modules/mbrlen (configure.ac): ... to here.
43961 2011-05-21  Bruno Haible  <bruno@clisp.org>
43963         mbrtowc: Respect rules for use of AC_LIBOBJ.
43964         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
43965         invocations from here...
43966         * modules/mbrtowc (configure.ac): ... to here.
43968 2011-05-21  Bruno Haible  <bruno@clisp.org>
43970         malloc-*: Move AC_LIBOBJ invocations to module description.
43971         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
43972         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
43973         AC_LIBOBJ invocations from here...
43974         * modules/malloc-gnu (configure.ac): ... to here.
43975         * modules/malloc-posix (configure.ac): ... and here.
43977 2011-05-21  Bruno Haible  <bruno@clisp.org>
43979         lstat, openat: Respect rules for use of AC_LIBOBJ.
43980         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
43981         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
43982         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
43983         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
43984         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
43985         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
43986         here.
43987         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
43989 2011-05-21  Bruno Haible  <bruno@clisp.org>
43991         lseek: Move AC_LIBOBJ invocations to module description.
43992         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
43993         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
43994         * modules/lseek (configure.ac): ... to here.
43996 2011-05-21  Bruno Haible  <bruno@clisp.org>
43998         linkat: Move AC_LIBOBJ invocations to module description.
43999         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
44000         here...
44001         * modules/linkat (configure.ac): ... to here.
44003 2011-05-21  Bruno Haible  <bruno@clisp.org>
44005         link: Respect rules for use of AC_LIBOBJ.
44006         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
44007         * modules/link (configure.ac): ... to here.
44009 2011-05-21  Bruno Haible  <bruno@clisp.org>
44011         lchown: Move AC_LIBOBJ invocations to module description.
44012         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
44013         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
44014         * modules/lchown (configure.ac): ... to here.
44016 2011-05-21  Bruno Haible  <bruno@clisp.org>
44018         iswctype: Move AC_LIBOBJ invocations to module description.
44019         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
44020         here...
44021         * modules/iswctype (configure.ac): ... to here.
44023 2011-05-21  Bruno Haible  <bruno@clisp.org>
44025         iswblank: Move AC_LIBOBJ invocations to module description.
44026         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
44027         here...
44028         * modules/iswblank (configure.ac): ... to here.
44030 2011-05-21  Bruno Haible  <bruno@clisp.org>
44032         atanl: Move AC_LIBOBJ invocations to module description.
44033         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
44034         * modules/atanl (configure.ac): ... to here.
44036 2011-05-21  Bruno Haible  <bruno@clisp.org>
44038         acosl: Move AC_LIBOBJ invocations to module description.
44039         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
44040         * modules/acosl (configure.ac): ... to here.
44042 2011-05-21  Bruno Haible  <bruno@clisp.org>
44044         asinl: Respect rules for use of AC_LIBOBJ.
44045         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
44046         * modules/asinl (configure.ac): ... to here.
44048 2011-05-21  Bruno Haible  <bruno@clisp.org>
44050         tanl: Move AC_LIBOBJ invocations to module description.
44051         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
44052         * modules/tanl (configure.ac): ... to here.
44054 2011-05-21  Bruno Haible  <bruno@clisp.org>
44056         cosl: Move AC_LIBOBJ invocations to module description.
44057         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
44058         * modules/cosl (configure.ac): ... to here.
44060 2011-05-21  Bruno Haible  <bruno@clisp.org>
44062         sinl: Move AC_LIBOBJ invocations to module description.
44063         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
44064         * modules/sinl (configure.ac): ... to here.
44066 2011-05-21  Bruno Haible  <bruno@clisp.org>
44068         logl: Move AC_LIBOBJ invocations to module description.
44069         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
44070         * modules/logl (configure.ac): ... to here.
44072 2011-05-21  Bruno Haible  <bruno@clisp.org>
44074         expl: Move AC_LIBOBJ invocations to module description.
44075         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
44076         * modules/expl (configure.ac): ... to here.
44078 2011-05-21  Bruno Haible  <bruno@clisp.org>
44080         roundl: Move AC_LIBOBJ invocations to module description.
44081         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
44082         * modules/roundl (configure.ac): ... to here.
44084 2011-05-21  Bruno Haible  <bruno@clisp.org>
44086         round: Move AC_LIBOBJ invocations to module description.
44087         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
44088         * modules/round (configure.ac): ... to here.
44090 2011-05-21  Bruno Haible  <bruno@clisp.org>
44092         roundf: Move AC_LIBOBJ invocations to module description.
44093         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
44094         * modules/roundf (configure.ac): ... to here.
44096 2011-05-21  Bruno Haible  <bruno@clisp.org>
44098         truncl: Move AC_LIBOBJ invocations to module description.
44099         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
44100         * modules/truncl (configure.ac): ... to here.
44102 2011-05-21  Bruno Haible  <bruno@clisp.org>
44104         trunc: Move AC_LIBOBJ invocations to module description.
44105         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
44106         * modules/trunc (configure.ac): ... to here.
44108 2011-05-21  Bruno Haible  <bruno@clisp.org>
44110         truncf: Move AC_LIBOBJ invocations to module description.
44111         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
44112         * modules/truncf (configure.ac): ... to here.
44114 2011-05-21  Bruno Haible  <bruno@clisp.org>
44116         ceill: Move AC_LIBOBJ invocations to module description.
44117         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
44118         * modules/ceill (configure.ac): ... to here.
44120 2011-05-21  Bruno Haible  <bruno@clisp.org>
44122         ceil: Move AC_LIBOBJ invocations to module description.
44123         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
44124         * modules/ceil (configure.ac): ... to here.
44126 2011-05-21  Bruno Haible  <bruno@clisp.org>
44128         ceilf: Move AC_LIBOBJ invocations to module description.
44129         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
44130         * modules/ceilf (configure.ac): ... to here.
44132 2011-05-21  Bruno Haible  <bruno@clisp.org>
44134         floorl: Respect rules for use of AC_LIBOBJ.
44135         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
44136         * modules/floorl (configure.ac): ... to here.
44138 2011-05-21  Bruno Haible  <bruno@clisp.org>
44140         floor: Respect rules for use of AC_LIBOBJ.
44141         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
44142         * modules/floor (configure.ac): ... to here.
44144 2011-05-21  Bruno Haible  <bruno@clisp.org>
44146         floorf: Move AC_LIBOBJ invocations to module description.
44147         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
44148         * modules/floorf (configure.ac): ... to here.
44150 2011-05-20  Bruno Haible  <bruno@clisp.org>
44152         sqrtl: Respect rules for use of AC_LIBOBJ.
44153         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
44154         * modules/sqrtl (configure.ac): ... to here.
44156 2011-05-20  Bruno Haible  <bruno@clisp.org>
44158         ldexpl: Respect rules for use of AC_LIBOBJ.
44159         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
44160         * modules/ldexpl (configure.ac): ... to here.
44162 2011-05-20  Bruno Haible  <bruno@clisp.org>
44164         frexpl*: Respect rules for use of AC_LIBOBJ.
44165         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
44166         invocation from here...
44167         * modules/frexpl (configure.ac): ... to here.
44168         * modules/frexpl-nolibm (configure.ac): ... and here.
44170 2011-05-20  Bruno Haible  <bruno@clisp.org>
44172         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
44173         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
44174         invocation from here...
44175         * modules/frexp (configure.ac): ... to here.
44176         * modules/frexp-nolibm (configure.ac): ... and here.
44178 2011-05-20  Bruno Haible  <bruno@clisp.org>
44180         isnan: Respect rules for use of AC_LIBOBJ.
44181         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
44182         invocations here.
44183         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
44184         REPLACE_ISNAN.
44185         * modules/isnand (configure.ac): Likewise.
44186         * modules/isnanl (configure.ac): Likewise.
44188 2011-05-20  Bruno Haible  <bruno@clisp.org>
44190         isnanl*: Respect rules for use of AC_LIBOBJ.
44191         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
44192         invocation from here...
44193         * modules/isnanl (configure.ac): ... to here.
44194         * modules/isnanl-nolibm (configure.ac): ... and here.
44196 2011-05-20  Bruno Haible  <bruno@clisp.org>
44198         isnand*: Move AC_LIBOBJ invocations to module description.
44199         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
44200         invocation from here...
44201         * modules/isnand (configure.ac): ... to here.
44202         * modules/isnand-nolibm (configure.ac): ... and here.
44204 2011-05-20  Bruno Haible  <bruno@clisp.org>
44206         isnanf*: Move AC_LIBOBJ invocations to module description.
44207         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
44208         invocation from here...
44209         * modules/isnanf (configure.ac): ... to here.
44210         * modules/isnanf-nolibm (configure.ac): ... and here.
44212 2011-05-20  Bruno Haible  <bruno@clisp.org>
44214         isnan*: Separate the AC_LIBOBJ invocations.
44215         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
44216         AC_LIBOBJ invocation.
44217         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
44218         here.
44219         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
44220         AC_LIBOBJ invocation.
44221         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
44222         here.
44223         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
44224         AC_LIBOBJ invocation.
44225         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
44226         here.
44227         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
44229 2011-05-08  Bruno Haible  <bruno@clisp.org>
44231         isinf: Move AC_LIBOBJ invocations to module description.
44232         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
44233         * modules/isinf (configure.ac): ... to here.
44235 2011-05-08  Bruno Haible  <bruno@clisp.org>
44237         isfinite: Move AC_LIBOBJ invocations to module description.
44238         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
44239         * modules/isfinite (configure.ac): ... to here.
44241 2011-05-08  Bruno Haible  <bruno@clisp.org>
44243         isblank: Move AC_LIBOBJ invocations to module description.
44244         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
44245         here...
44246         * modules/isblank (configure.ac): ... to here.
44248 2011-05-08  Bruno Haible  <bruno@clisp.org>
44250         isapipe: Move AC_LIBOBJ invocations to module description.
44251         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
44252         gl_PREREQ_ISAPIPE invocations from here...
44253         * modules/isapipe (configure.ac): ... to here.
44254         (Depends-on): Update condition.
44256 2011-05-08  Bruno Haible  <bruno@clisp.org>
44258         ioctl: Move AC_LIBOBJ invocations to module description.
44259         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
44260         invocations from here...
44261         * modules/ioctl (configure.ac): ... to here.
44262         (Depends-on): Update condition.
44264 2011-05-08  Bruno Haible  <bruno@clisp.org>
44266         imaxdiv: Move AC_LIBOBJ invocations to module description.
44267         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
44268         invocations from here...
44269         * modules/imaxdiv (configure.ac): ... to here.
44271 2011-05-08  Bruno Haible  <bruno@clisp.org>
44273         imaxabs: Move AC_LIBOBJ invocations to module description.
44274         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
44275         invocations from here...
44276         * modules/imaxabs (configure.ac): ... to here.
44278 2011-05-08  Bruno Haible  <bruno@clisp.org>
44280         getaddrinfo: Move AC_LIBOBJ invocations to module description.
44281         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
44282         AC_LIBOBJ invocations from here...
44283         * modules/getaddrinfo (configure.ac): ... to here.
44284         (Depends-on): Add conditions.
44286 2011-05-08  Bruno Haible  <bruno@clisp.org>
44288         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
44289         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
44290         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
44291         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
44292         (gl_PREREQ_INET_PTON): ... from here.
44293         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
44294         gl_PREREQ_INET_PTON here.
44295         (Depends-on): Update condition.
44297 2011-05-08  Bruno Haible  <bruno@clisp.org>
44299         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
44300         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
44301         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
44302         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
44303         (gl_PREREQ_INET_NTOP): ... from here.
44304         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
44305         gl_PREREQ_INET_NTOP here.
44306         (Depends-on): Update condition.
44308 2011-05-08  Bruno Haible  <bruno@clisp.org>
44310         iconv_open: Move AC_LIBOBJ invocations to module description.
44311         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
44312         AC_LIBOBJ invocations from here...
44313         * modules/iconv_open (configure.ac): ... to here.
44315 2011-05-08  Bruno Haible  <bruno@clisp.org>
44317         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
44318         If module 'iconv_open' is among the main modules and module
44319         'iconv_open-utf' is among the tests dependencies, then
44320         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
44321         return the special iconv_t values. Therefore iconv() and iconv_close()
44322         must support these special iconv_t values, already in lib, not only in
44323         tests.
44324         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
44325         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
44326         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
44327         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
44328         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
44329         (Depends-on): Add the dependencies of iconv_open-utf.
44330         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
44331         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
44332         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
44334 2011-05-08  Bruno Haible  <bruno@clisp.org>
44336         group-member: Move AC_LIBOBJ invocations to module description.
44337         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
44338         gl_PREREQ_GROUP_MEMBER invocations from here...
44339         * modules/group-member (configure.ac): ... to here.
44341 2011-05-08  Bruno Haible  <bruno@clisp.org>
44343         grantpt: Move AC_LIBOBJ invocations to module description.
44344         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
44345         invocations from here...
44346         * modules/grantpt (configure.ac): ... to here.
44348 2011-05-08  Bruno Haible  <bruno@clisp.org>
44350         glob: Move AC_LIBOBJ invocations to module description.
44351         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
44352         from here...
44353         * modules/glob (configure.ac): ... to here.
44355 2011-05-08  Bruno Haible  <bruno@clisp.org>
44357         getusershell: Move AC_LIBOBJ invocations to module description.
44358         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
44359         Move AC_LIBOBJ invocation from here...
44360         * modules/getusershell (configure.ac): ... to here.
44361         (Depends-on): Update condition.
44363 2011-05-08  Bruno Haible  <bruno@clisp.org>
44365         gettimeofday: Move AC_LIBOBJ invocations to module description.
44366         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
44367         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
44368         gl_PREREQ_GETTIMEOFDAY invocations from here...
44369         * modules/gettimeofday (configure.ac): ... to here.
44371 2011-05-08  Bruno Haible  <bruno@clisp.org>
44373         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
44374         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
44375         just gl_FUNC_TZSET.
44376         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
44377         (gl_FUNC_TZSET_CLOBBER): Remove actions.
44378         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
44379         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
44381 2011-05-08  Bruno Haible  <bruno@clisp.org>
44383         getsubopt: Move AC_LIBOBJ invocations to module description.
44384         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
44385         gl_PREREQ_GETSUBOPT invocations from here...
44386         * modules/getsubopt (configure.ac): ... to here.
44388 2011-05-08  Bruno Haible  <bruno@clisp.org>
44390         getpass-gnu: Move AC_LIBOBJ invocations to module description.
44391         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
44392         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
44393         * modules/getpass-gnu (configure.ac): ... to here.
44395 2011-05-08  Bruno Haible  <bruno@clisp.org>
44397         getpass: Move AC_LIBOBJ invocations to module description.
44398         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
44399         gl_PREREQ_GETPASS invocations from here...
44400         * modules/getpass (configure.ac): ... to here.
44402 2011-05-08  Bruno Haible  <bruno@clisp.org>
44404         getpagesize: Move AC_LIBOBJ invocations to module description.
44405         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
44406         from here...
44407         * modules/getpagesize (configure.ac): ... to here.
44409 2011-05-08  Bruno Haible  <bruno@clisp.org>
44411         getopt: Move AC_LIBOBJ invocations to module description.
44412         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
44413         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
44414         invocations from here...
44415         * modules/getopt-gnu (configure.ac): ... to here.
44416         * modules/getopt-posix (configure.ac): ... and here.
44417         (Depends-on): Update condition.
44419 2011-05-08  Bruno Haible  <bruno@clisp.org>
44421         getopt, argp: Respect rules for use of AC_LIBOBJ.
44422         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
44423         (gl_REPLACE_GETOPT_ALWAYS): New macro.
44424         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
44425         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
44427 2011-05-08  Bruno Haible  <bruno@clisp.org>
44429         getlogin_r: Move AC_LIBOBJ invocations to module description.
44430         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
44431         gl_PREREQ_GETLOGIN_R invocations from here...
44432         * modules/getlogin_r (configure.ac): ... to here.
44434 2011-05-08  Bruno Haible  <bruno@clisp.org>
44436         getlogin: Move AC_LIBOBJ invocations to module description.
44437         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
44438         here...
44439         * modules/getlogin (configure.ac): ... to here.
44441 2011-05-08  Bruno Haible  <bruno@clisp.org>
44443         getloadavg: Move AC_LIBOBJ invocations to module description.
44444         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
44445         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
44446         * modules/getloadavg (configure.ac): ... to here.
44448 2011-05-08  Bruno Haible  <bruno@clisp.org>
44450         gethrxtime: Move AC_LIBOBJ invocations to module description.
44451         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
44452         LIB_GETHRXTIME from here...
44453         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
44454         invocations from here...
44455         * modules/gethrxtime (configure.ac): ... to here.
44457 2011-05-08  Bruno Haible  <bruno@clisp.org>
44459         gethostname: Move AC_LIBOBJ invocations to module description.
44460         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
44461         gl_PREREQ_GETHOSTNAME invocations from here...
44462         * modules/gethostname (configure.ac): ... to here.
44464 2011-05-08  Bruno Haible  <bruno@clisp.org>
44466         getgroups: Move AC_LIBOBJ invocations to module description.
44467         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
44468         here...
44469         * modules/getgroups (configure.ac): ... to here.
44471 2011-05-08  Bruno Haible  <bruno@clisp.org>
44473         getdtablesize: Move AC_LIBOBJ invocations to module description.
44474         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
44475         invocation from here...
44476         * modules/getdtablesize (configure.ac): ... to here.
44478 2011-05-08  Bruno Haible  <bruno@clisp.org>
44480         getdomainname: Move AC_LIBOBJ invocations to module description.
44481         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
44482         gl_PREREQ_GETDOMAINNAME invocations from here...
44483         * modules/getdomainname (configure.ac): ... to here.
44485 2011-05-08  Bruno Haible  <bruno@clisp.org>
44487         getline: Move AC_LIBOBJ invocations to module description.
44488         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
44489         invocations from here...
44490         * modules/getline (configure.ac): ... to here.
44492 2011-05-08  Bruno Haible  <bruno@clisp.org>
44494         getline: Simplify.
44495         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
44496         It's already handled through the module dependency.
44498 2011-05-08  Bruno Haible  <bruno@clisp.org>
44500         getdelim: Move AC_LIBOBJ invocations to module description.
44501         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
44502         and gl_PREREQ_GETDELIM invocations from here...
44503         * modules/getdelim (configure.ac): ... to here.
44504         (Depends-on): Fix condition.
44506 2011-05-08  Bruno Haible  <bruno@clisp.org>
44508         getcwd: Move AC_LIBOBJ invocations to module description.
44509         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
44510         invocations from here...
44511         * modules/getcwd (configure.ac): ... to here.
44513 2011-05-08  Bruno Haible  <bruno@clisp.org>
44515         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
44516         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
44517         here...
44518         * modules/getcwd-lgpl (configure.ac): ... to here.
44520 2011-05-07  Bruno Haible  <bruno@clisp.org>
44522         crypto/gc: Move AC_LIBOBJ invocations to module description.
44523         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
44524         * modules/crypto/gc (configure.ac): ... to here.
44526 2011-05-07  Bruno Haible  <bruno@clisp.org>
44528         fwriting: Move AC_LIBOBJ invocations to module description.
44529         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
44530         here...
44531         * modules/fwriting (configure.ac): ... to here.
44533 2011-05-07  Bruno Haible  <bruno@clisp.org>
44535         fwritable: Move AC_LIBOBJ invocations to module description.
44536         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
44537         here...
44538         * modules/fwritable (configure.ac): ... to here.
44540 2011-05-07  Bruno Haible  <bruno@clisp.org>
44542         futimens: Move AC_LIBOBJ invocations to module description.
44543         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
44544         here...
44545         * modules/futimens (configure.ac): ... to here.
44547 2011-05-07  Bruno Haible  <bruno@clisp.org>
44549         ftruncate: Move AC_LIBOBJ invocations to module description.
44550         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
44551         gl_PREREQ_FTRUNCATE invocations from here...
44552         * modules/ftruncate (configure.ac): ... to here.
44554 2011-05-07  Bruno Haible  <bruno@clisp.org>
44556         fsync: Move AC_LIBOBJ invocations to module description.
44557         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
44558         invocations from here...
44559         * modules/fsync (configure.ac): ... to here.
44561 2011-05-07  Bruno Haible  <bruno@clisp.org>
44563         fsusage: Move AC_LIBOBJ invocations to module description.
44564         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
44565         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
44566         * modules/fsusage (configure.ac): ... to here.
44568 2011-05-07  Bruno Haible  <bruno@clisp.org>
44570         freopen: Move AC_LIBOBJ invocations to module description.
44571         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
44572         invocations from here...
44573         * modules/freopen (configure.ac): ... to here.
44575 2011-05-07  Bruno Haible  <bruno@clisp.org>
44577         free: Move AC_LIBOBJ invocations to module description.
44578         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
44579         invocations from here...
44580         * modules/free (configure.ac): ... to here.
44582 2011-05-07  Bruno Haible  <bruno@clisp.org>
44584         freadable: Move AC_LIBOBJ invocations to module description.
44585         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
44586         here...
44587         * modules/freadable (configure.ac): ... to here.
44589 2011-05-07  Bruno Haible  <bruno@clisp.org>
44591         fpurge: Move AC_LIBOBJ invocations to module description.
44592         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
44593         invocations from here...
44594         * modules/fpurge (configure.ac): ... to here.
44596 2011-05-07  Bruno Haible  <bruno@clisp.org>
44598         fpending: Move AC_LIBOBJ invocations to module description.
44599         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
44600         gl_FUNC_FPENDING.
44601         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
44602         invocations from here...
44603         * modules/fpending (configure.ac): ... to here.
44605 2011-05-07  Bruno Haible  <bruno@clisp.org>
44607         fopen: Move AC_LIBOBJ invocations to module description.
44608         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
44609         invocations from here...
44610         * modules/fopen (configure.ac): ... to here.
44612 2011-05-07  Bruno Haible  <bruno@clisp.org>
44614         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
44615         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
44616         gl_FUNC_FNMATCH_POSIX.
44617         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
44618         invocations from here...
44619         * modules/fnmatch (configure.ac): ... to here.
44620         * modules/fnmatch-gnu (configure.ac): ... and here.
44622 2011-05-07  Bruno Haible  <bruno@clisp.org>
44624         flock: Move AC_LIBOBJ invocations to module description.
44625         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
44626         invocations from here...
44627         * modules/flock (configure.ac): ... to here.
44629 2011-05-07  Bruno Haible  <bruno@clisp.org>
44631         fileblocks: Move AC_LIBOBJ invocations to module description.
44632         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
44633         gl_PREREQ_FILEBLOCKS invocations from here...
44634         * modules/fileblocks (configure.ac): ... to here.
44636 2011-05-06  Bruno Haible  <bruno@clisp.org>
44638         fflush: Move AC_LIBOBJ invocations to module description.
44639         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
44640         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
44641         invocations from here...
44642         * modules/fflush (configure.ac): ... to here.
44644 2011-05-06  Bruno Haible  <bruno@clisp.org>
44646         fdopendir: Move AC_LIBOBJ invocations to module description.
44647         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
44648         here...
44649         * modules/fdopendir (configure.ac): ... to here.
44650         (Depends-on): Improve conditions.
44652 2011-05-06  Bruno Haible  <bruno@clisp.org>
44654         _Exit: Move AC_LIBOBJ invocations to module description.
44655         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
44656         invocations from here...
44657         * modules/_Exit (configure.ac): ... to here.
44659 2011-05-21  Bruno Haible  <bruno@clisp.org>
44661         euidaccess: Respect rules for use of AC_LIBOBJ.
44662         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
44663         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
44664         from here...
44665         * modules/euidaccess (configure.ac): ... to here.
44667 2011-05-06  Bruno Haible  <bruno@clisp.org>
44669         error: Move AC_LIBOBJ invocations to module description.
44670         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
44671         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
44672         invocations from here...
44673         * modules/error (configure.ac): ... to here.
44675 2011-05-06  Bruno Haible  <bruno@clisp.org>
44677         duplocale: Move AC_LIBOBJ invocations to module description.
44678         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
44679         gl_PREREQ_DUPLOCALE invocations from here...
44680         * modules/duplocale (configure.ac): ... to here.
44682 2011-05-05  Bruno Haible  <bruno@clisp.org>
44684         dirfd: Move AC_LIBOBJ invocations to module description.
44685         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
44686         gl_FUNC_DIRFD.
44687         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
44688         here...
44689         * modules/dirfd (configure.ac): ... to here.
44690         (Depends-on): Fix condition.
44692 2011-05-05  Bruno Haible  <bruno@clisp.org>
44694         chown: Respect rules for use of AC_LIBOBJ.
44695         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
44696         * modules/chown (configure.ac): ... to here.
44698 2011-05-05  Bruno Haible  <bruno@clisp.org>
44700         chdir-long: Move AC_LIBOBJ invocations to module description.
44701         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
44702         gl_PREREQ_CHDIR_LONG invocations from here...
44703         * modules/chdir-long (configure.ac): ... to here.
44705 2011-05-05  Bruno Haible  <bruno@clisp.org>
44707         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
44708         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
44709         from here...
44710         * modules/canonicalize-lgpl (configure.ac): ... to here.
44712 2011-05-05  Bruno Haible  <bruno@clisp.org>
44714         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
44715         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
44716         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
44717         REPLACE_CALLOC.
44718         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
44719         * modules/calloc-gnu (configure.ac): Likewise.
44721 2011-05-05  Bruno Haible  <bruno@clisp.org>
44723         btowc: Move AC_LIBOBJ invocations to module description.
44724         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
44725         invocations from here...
44726         * modules/btowc (configure.ac): ... to here.
44728 2011-05-21  Bruno Haible  <bruno@clisp.org>
44730         atexit: Move AC_LIBOBJ invocations to module description.
44731         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
44732         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
44733         here...
44734         * modules/atexit (configure.ac): ... to here.
44736 2011-05-05  Bruno Haible  <bruno@clisp.org>
44738         atoll: Move AC_LIBOBJ invocations to module description.
44739         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
44740         invocations from here...
44741         * modules/atoll (configure.ac): ... to here.
44743 2011-05-05  Bruno Haible  <bruno@clisp.org>
44745         argz: Move AC_LIBOBJ invocations to module description.
44746         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
44747         * modules/argz (configure.ac): ... to here.
44749 2011-05-05  Bruno Haible  <bruno@clisp.org>
44751         alphasort: Move AC_LIBOBJ invocations to module description.
44752         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
44753         gl_PREREQ_ALPHASORT invocations from here...
44754         * modules/alphasort (configure.ac): ... to here.
44756 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
44758         verify: new macro verify_expr; verify_true deprecated
44759         * NEWS: Mention this.
44760         * doc/verify.texi (Compile-time Assertions): Document this.
44761         * lib/verify.h (verify_true): Deprecate.
44762         (verify_expr): New macro.
44763         * tests/test-verify.c (function): Test verify_expr.
44765 2011-06-14  Jim Meyering  <meyering@redhat.com>
44767         init.sh: give more portable redirection-related advice in a comment
44768         * tests/init.sh (stderr_fileno_): Update the advice in comments.
44769         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
44770         for lots of discussion.  Stefano Lattarini suggested the solution
44771         of putting "9>&2" after the command.  Reported by Bruno Haible.
44773 2011-06-13  Bruno Haible  <bruno@clisp.org>
44775         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
44776         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
44777         'none'.
44779 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
44781         ftoastr: use strtof only if HAVE_STRTOF
44782         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
44783         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
44784         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
44785         * modules/ftoastr (configure.ac): Check for strtof.
44787 2011-06-13  Bruno Haible  <bruno@clisp.org>
44789         gnulib-tool: Addendum to 2011-06-08 commit.
44790         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
44791         and --witness-c-macro have been given, augment AM_CPPFLAGS.
44793 2011-06-13  Bruno Haible  <bruno@clisp.org>
44795         fseeko: Provide a non-inline replacement of fseek().
44796         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
44797         * modules/fseeko (Depends-on): Add fseek.
44798         * modules/fseek (License): Change to LGPLv2+.
44800 2011-06-13  Bruno Haible  <bruno@clisp.org>
44802         ftello: Provide a non-inline replacement of ftell().
44803         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
44804         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
44805         not have ftello() (such as on mingw).
44806         * modules/ftello (Depends-on): Add ftell.
44807         * modules/ftell (License): Change to LGPLv2+.
44809 2011-05-07  Bruno Haible  <bruno@clisp.org>
44811         ftell: Move AC_LIBOBJ invocations to module description.
44812         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
44813         * modules/ftell (configure.ac): ... to here.
44815 2011-05-07  Bruno Haible  <bruno@clisp.org>
44817         ftello: Respect rules for use of AC_LIBOBJ.
44818         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
44819         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
44820         here...
44821         * modules/ftello (configure.ac): ... to here.
44823 2011-05-07  Bruno Haible  <bruno@clisp.org>
44825         fseeko: Simplify.
44826         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
44827         (gl_FUNC_FSEEKO): Inline it here.
44829 2011-05-07  Bruno Haible  <bruno@clisp.org>
44831         fseek: Move AC_LIBOBJ invocations to module description.
44832         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
44833         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
44834         * modules/fseek (configure.ac): ... to here.
44836 2011-05-07  Bruno Haible  <bruno@clisp.org>
44838         fseek: Respect rules for use of AC_LIBOBJ.
44839         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
44840         here...
44841         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
44843 2011-05-07  Bruno Haible  <bruno@clisp.org>
44845         fseeko: Respect rules for use of AC_LIBOBJ.
44846         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
44847         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
44848         here...
44849         * modules/fseeko (configure.ac): ... to here.
44851 2011-06-13  Bruno Haible  <bruno@clisp.org>
44853         gnulib-tool: Allow comments in the 'Depends-on' section.
44854         * doc/gnulib.texi (Module description): Mention comment syntax in the
44855         Depends-on section.
44856         * gnulib-tool (func_get_dependencies): Filter out comment lines.
44858 2011-06-13  Bruno Haible  <bruno@clisp.org>
44860         file-set.h: guard __attibute__ use, now that it's not always defined
44861         * lib/file-set.h (record_file): Use __attribute__ only with compiler
44862         versions that support it.  This fixes a coreutils build failure with
44863         the vendor cc on HP-UX 11.31.
44865 2011-06-12  Bruno Haible  <bruno@clisp.org>
44867         acl: Add support for HP-UX >= 11.11 JFS ACLs.
44868         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
44869         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
44870         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
44871         (acl, aclsort): New declarations.
44872         (aclv_nontrivial): New declaration.
44873         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
44874         (file_has_acl): Read also the second kind of HP-UX ACLs.
44875         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
44876         kind of HP-UX ACLs if the first kind fails.
44877         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
44878         second kind of HP-UX ACLs.
44879         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
44880         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
44881         agree.
44882         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
44883         hpuxjfs.
44884         Handle hpuxjfs.
44885         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
44886         hpuxjfs.
44887         Handle hpuxjfs.
44888         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
44889         (func_test_same_acls): Use both lsacl and getacl.
44890         Handle hpuxjfs.
44891         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
44892         (func_test_same_acls): Use both lsacl and getacl.
44893         Handle hpuxjfs.
44895 2011-06-12  Bruno Haible  <bruno@clisp.org>
44897         acl: Complete the 2010-08-10 fix.
44898         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
44899         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
44900         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
44901         explicitly.
44902         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
44903         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
44905 2011-06-12  Bruno Haible  <bruno@clisp.org>
44907         spawn-pipe tests: Comments.
44908         * tests/test-spawn-pipe-child.c (main): Update comment.
44909         Reported by James Youngman <jay@gnu.org>.
44911 2011-06-11  James Youngman  <jay@gnu.org>
44913         New module 'stat-size'.
44914         * modules/stat-size: New module.  Provides macros for accessing
44915         file size information in instances of struct stat.  Depends on the
44916         fileblocks module because it calls st_blocks.
44917         * lib/stat-size.h: New file, adapted from coreutils' system.h.
44918         * doc/gnulib.texi: Include stat-size.texi.
44919         * doc/stat-size.texi: Documentation for this module.
44920         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
44921         * m4/fileblocks.m4: Mention that stat-size depends on the call to
44922         AC_STRUCT_ST_BLOCKS.
44924 2011-06-09  Bruno Haible  <bruno@clisp.org>
44926         thread: Support pthreads-win32.
44927         * lib/glthread/thread.h (gl_thread_self): Define differently on
44928         pthreads-win32.
44929         (gl_null_thread): New declaration.
44930         (gl_thread_self_pointer): New macro.
44931         * lib/glthread/thread.c (gl_null_thread): New constant.
44932         * tests/test-lock.c: Use gl_thread_self_pointer instead of
44933         gl_thread_self.
44934         * tests/test-tls.c: Likewise.
44935         Suggested by Paul Eggert. Reported by Eric Blake.
44937 2011-06-09  Bruno Haible  <bruno@clisp.org>
44939         thread: Fix confusion between NULL and 0.
44940         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
44941         Reported by Paul Eggert.
44943 2011-06-09  Bruno Haible  <bruno@clisp.org>
44945         spawn-pipe tests: Avoid test failure on HP-UX 11.
44946         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
44947         is closed.
44949 2011-06-09  Bruno Haible  <bruno@clisp.org>
44951         acl tests: Fix compilation error on HP-UX 11.
44952         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
44954 2011-06-09  Bruno Haible  <bruno@clisp.org>
44956         rmdir: Avoid test failure on HP-UX 10.20.
44957         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
44958         EEXIST.
44960 2011-06-08  Eric Blake  <eblake@redhat.com>
44962         perror: fix test on mingw
44963         * modules/perror-tests (Depends-on): Add dup2.
44965         strerror_r-posix: fix on MacOS
44966         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
44967         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
44968         logic bug.
44969         * lib/strerror_r.c (strerror_r): Fix the bug.
44970         * lib/strerror.c (strerror): Likewise.
44971         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
44972         problem.
44973         * doc/posix-functions/strerror.texi (strerror): Likewise.
44974         * doc/posix-functions/perror.texi (perror): Likewise.
44975         * tests/test-strerror.c (main): Enhance test.
44976         * tests/test-strerror_r.c (main): Likewise.
44978 2011-06-08  Bruno Haible  <bruno@clisp.org>
44980         gnulib-tool: Better isolation between different gnulib-tool invocations.
44981         * gnulib-tool: New option --witness-c-macro.
44982         (witness_c_macro): New variable.
44983         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
44984         AM_CPPFLAGS define it as a C macro.
44985         (func_emit_tests_Makefile_am): Likewise.
44986         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
44987         read it from there.
44988         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
44989         m4_define, not AC_DEFUN.
44990         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
44991         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
44992         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
44993         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
44994         s|...|...|, to substitute the values of the GNULIB_* module indicator
44995         variables.
44996         * modules/dirent (Makefile.am): Likewise.
44997         * modules/fcntl-h (Makefile.am): Likewise.
44998         * modules/iconv-h (Makefile.am): Likewise.
44999         * modules/langinfo (Makefile.am): Likewise.
45000         * modules/locale (Makefile.am): Likewise.
45001         * modules/math (Makefile.am): Likewise.
45002         * modules/netdb (Makefile.am): Likewise.
45003         * modules/poll-h (Makefile.am): Likewise.
45004         * modules/pty (Makefile.am): Likewise.
45005         * modules/search (Makefile.am): Likewise.
45006         * modules/signal (Makefile.am): Likewise.
45007         * modules/spawn (Makefile.am): Likewise.
45008         * modules/stdio (Makefile.am): Likewise.
45009         * modules/stdlib (Makefile.am): Likewise.
45010         * modules/string (Makefile.am): Likewise.
45011         * modules/sys_ioctl (Makefile.am): Likewise.
45012         * modules/sys_select (Makefile.am): Likewise.
45013         * modules/sys_socket (Makefile.am): Likewise.
45014         * modules/sys_stat (Makefile.am): Likewise.
45015         * modules/sys_times (Makefile.am): Likewise.
45016         * modules/sys_utsname (Makefile.am): Likewise.
45017         * modules/sys_wait (Makefile.am): Likewise.
45018         * modules/termios (Makefile.am): Likewise.
45019         * modules/time (Makefile.am): Likewise.
45020         * modules/unistd (Makefile.am): Likewise.
45021         * modules/wchar (Makefile.am): Likewise.
45023 2011-06-08  Eric Blake  <eblake@redhat.com>
45025         strerror: simplify replacement
45026         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
45027         * modules/strerror (configure.ac): No prereqs needed here...
45028         * modules/strerror-override (configure.ac): ...but this needs it.
45029         (Files): Add file for needed prereq macro.
45031 2011-06-08  Bruno Haible  <bruno@clisp.org>
45033         strerror_r-posix: Tweaks.
45034         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
45035         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
45036         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
45037         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
45038         (gl_FUNC_STRERROR_R): ... to here.
45039         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
45041 2011-06-07  Eric Blake  <eblake@redhat.com>
45043         perror: document fixed bugs
45044         * doc/posix-functions/perror.texi (perror): Document recent
45045         patches.
45047 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
45049         stat-time: get_stat_birthtime failure is better-defined
45050         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
45051         return a timestamp whose tv_sec and tv_nsec values are both -1.
45052         Previously, the spec said only that the tv_nsec value was negative.
45053         This upward-compatible change simplifies GNU tar a bit.
45055 2011-06-07  Eric Blake  <eblake@redhat.com>
45057         strerror_r-posix: work around cygwin 1.7.9
45058         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
45059         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
45060         bug without replacing strerror_r.
45061         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
45062         strerror_r is buggy, but without requiring strerror_r compilation.
45063         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
45065         test-perror: relax test to ignore cygwin bug
45066         * tests/test-perror2.c (main): Relax test on requiring detection
45067         of stream errors, and use unbuffered stream.
45068         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
45069         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
45070         * doc/posix-functions/fputc.texi (fputc): Likewise.
45071         * doc/posix-functions/fputs.texi (fputs): Likewise.
45072         * doc/posix-functions/fputws.texi (fputws): Likewise.
45073         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
45074         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
45075         * doc/posix-functions/getopt.texi (getopt): Likewise.
45076         * doc/posix-functions/perror.texi (perror): Likewise.
45077         * doc/posix-functions/printf.texi (printf): Likewise.
45078         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
45079         * doc/posix-functions/psignal.texi (psignal): Likewise.
45080         * doc/posix-functions/putc.texi (putc): Likewise.
45081         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
45082         Likewise.
45083         * doc/posix-functions/putchar.texi (putchar): Likewise.
45084         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
45085         Likewise.
45086         * doc/posix-functions/puts.texi (puts): Likewise.
45087         * doc/posix-functions/putwc.texi (putwc): Likewise.
45088         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
45089         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
45090         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
45091         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
45092         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
45093         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
45094         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
45095         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
45097 2011-05-22  Bruno Haible  <bruno@clisp.org>
45099         strerror: Move AC_LIBOBJ invocations to module description.
45100         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
45101         gl_PREREQ_STRERROR invocations from here...
45102         * modules/strerror (configure.ac): ... to here.
45104 2011-05-21  Bruno Haible  <bruno@clisp.org>
45106         perror: Use common idiom.
45107         * modules/perror (configure.ac): Reorder statements.
45109 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
45111         tests: fix usage message in 'mktempd_'
45112         * tests/init.sh (mktempd_): In the usage message, use literal
45113         'mktempd_', not '$ME' (which is even undefined), as the name of
45114         the subroutine.
45116 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
45118         tests init: new function 'fatal_', for hard errors
45119         Before this patch, the only way offered by tests/init.sh to
45120         properly signal a hard error was the `framework_failure_'
45121         function.  But the error message issued by that function,
45122         as its name would suggest, refers to a set-up failure in the
45123         testsuite, while hard errors can obviously also be due to
45124         other reasons.  The best way to fix this inconsistency is to
45125         introduce a new function with a more general error message.
45126         * tests/init.sh (fatal_): New function.
45128 2011-06-06  Eric Blake  <eblake@redhat.com>
45130         canonicalize-lgpl: use common idiom
45131         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
45132         over newer POSIX -Rf.
45133         Reported by Bruno Haible.
45135         canonicalize-lgpl: work around AIX realpath bug
45136         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
45137         * doc/posix-functions/realpath.texi (realpath): Document it.
45138         Reported by Bruno Haible.
45140         strerror: work around FreeBSD bug
45141         * lib/strerror.c (strerror): Special case 0.
45142         Reported by Bruno Haible.
45144         strerror-override: avoid bloating errno module
45145         * modules/errno (Files, configure.ac): Move replacement strings...
45146         * modules/strerror-override: ...to new module.
45147         * modules/strerror (Depends-on): Add strerror-override.
45148         * modules/strerror_r-posix (Depends-on): Likewise.
45149         * MODULES.html.sh: Document new module.
45150         Reported by Bruno Haible.
45152 2011-06-06  Bruno Haible  <bruno@clisp.org>
45154         spawn-pipe tests: Rename program.
45155         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
45156         * tests/test-spawn-pipe-child.c: Update comment.
45157         * tests/test-spawn-pipe.sh: Update.
45158         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
45160         spawn-pipe tests: Link the child program only against libc.
45161         * tests/test-spawn-pipe-child.c: New file, extracted from
45162         tests/test-spawn-pipe.c.
45163         (main): Expect only one argument.
45164         (is_open): New function, copied from tests/test-pipe.c.
45165         * tests/test-spawn-pipe.c: Don't include <errno.h>.
45166         (child_main): Remove function.
45167         (test_pipe): Pass only one argument to the child program.
45168         (main): Remove child process code. Expect the child program's name as
45169         first argument.
45170         * tests/test-spawn-pipe.sh: Pass the child program's name as first
45171         argument.
45172         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
45173         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
45174         test-spawn-pipe-child against no libraries.
45176 2011-06-06  Bruno Haible  <bruno@clisp.org>
45178         careadlinkat: Avoid mismatch between ssize_t and int.
45179         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
45180         * lib/careadlinkat.c (careadlinkatcwd): Define always.
45182 2011-06-06  Jim Meyering  <meyering@redhat.com>
45184         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
45185         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
45186         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
45188 2011-06-05  Bruno Haible  <bruno@clisp.org>
45190         ansi-c++-opt: Interoperability with libtool.
45191         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
45192         set the variable to "no", not to ":".
45193         * NEWS: Mention the change.
45195 2011-06-05  Bruno Haible  <bruno@clisp.org>
45197         acl: Fix test failure on AIX 7.
45198         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
45199         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
45201 2011-06-05  Bruno Haible  <bruno@clisp.org>
45203         pipe-filter-ii: Fix test failure on AIX and IRIX.
45204         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
45205         with EAGAIN, retry with a smaller buffer size.
45207 2011-06-05  Bruno Haible  <bruno@clisp.org>
45209         localename: Fix link dependencies.
45210         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
45211         * modules/localename-tests (Makefile.am): Link test-localename with
45212         $(LIBTHREAD).
45214 2011-06-05  Bruno Haible  <bruno@clisp.org>
45216         error: Avoid gcc warning.
45217         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
45219 2011-06-05  Bruno Haible  <bruno@clisp.org>
45221         unsetenv: Avoid gcc warning.
45222         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
45224 2011-06-05  Bruno Haible  <bruno@clisp.org>
45226         setenv: Avoid gcc warning.
45227         * lib/setenv.c (setenv): Provide declaration if system lacks it.
45229 2011-06-05  Bruno Haible  <bruno@clisp.org>
45231         sys_select: Ensure memset is declared also on AIX 7.
45232         * lib/sys_select.in.h: Include <string.h> also on AIX.
45233         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
45234         self-contained also on AIX 7.1.
45236 2011-06-04  Jim Meyering  <meyering@redhat.com>
45238         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
45239         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
45240         function name, "error".
45241         (_gl_translatable_diag_func_re): New configurable variable.
45243 2011-06-04  Bruno Haible  <bruno@clisp.org>
45245         getopt: Avoid gcc warning.
45246         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
45248 2011-06-04  Bruno Haible  <bruno@clisp.org>
45250         strerror_r: Fix comments.
45251         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
45252         commit.
45254 2011-06-04  Bruno Haible  <bruno@clisp.org>
45256         perror: Fix compilation error.
45257         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
45258         Undefine fprintf, not sprintf.
45259         * modules/perror (Depends-on): Remove intprops, verify.
45261 2011-06-04  Bruno Haible  <bruno@clisp.org>
45263         setlocale: Enable replacement on Cygwin 1.5.
45264         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
45265         Cygwin 1.5.x.
45266         * doc/posix-functions/setlocale.texi: Mention that the problem with the
45267         LC_CTYPE category also exists on Cygwin 1.5.x.
45269 2011-06-04  Bruno Haible  <bruno@clisp.org>
45271         strerror-override: Don't disable symbol renamings.
45272         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
45273         * lib/strerror-override.c: Include config.h.
45274         (strerror_override): Don't undefine.
45276 2011-06-03  Bruno Haible  <bruno@clisp.org>
45278         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
45279         * lib/localename.h: Update copyright header.
45280         * lib/localename.c: Likewise.
45281         * lib/relocatable.h: Likewise.
45282         * lib/relocatable.c: Likewise.
45284 2011-06-02  Bruno Haible  <bruno@clisp.org>
45286         doc: Fix a module name.
45287         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
45289 2011-06-02  Bruno Haible  <bruno@clisp.org>
45291         pipe2: Remove dependency on 'nonblocking' module.
45292         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
45293         O_NONBLOCK is defined by gnulib.
45294         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
45295         is zero.
45296         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
45297         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
45298         defined by gnulib.
45299         (get_nonblocking_flag): New function.
45300         (main): Test O_NONBLOCK flag only if it is nonzero.
45301         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
45303 2011-06-03  Jim Meyering  <meyering@redhat.com>
45305         maint: three new prohibit-header-without-use rules
45306         Prohibit use of cloexec.h, posixver.h, same.h without use.
45307         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
45308         (sc_prohibit_posixver_without_use): Likewise.
45309         (sc_prohibit_same_without_use): Likewise.
45311 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
45313         allocator: 'die' routine is now given requested size
45314         * lib/allocator.h (struct allocator.die): New size arg.
45315         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
45316         If the actual problem is an ssize_t limitation, not a size_t or
45317         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
45319 2011-06-01  Eric Blake  <eblake@redhat.com>
45321         strerror: drop strerror_r dependency
45322         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
45323         * lib/strerror-override.c (strerror_override): ...to new file.
45324         * lib/strerror-override.h: Add prototype.
45325         * lib/strerror-impl.h: Delete.
45326         * lib/strerror.c (strerror): New implementation.
45327         * modules/errno (Files): Add new files.
45328         (configure.ac): Compile new file as appropriate.
45329         * modules/strerror (Files): Drop unused file.
45330         (Depends-on): Drop strerror_r-posix.
45331         * MODULES.html.sh: Document strerror_r-posix.
45332         Requested by Sam Steingold.
45334         perror: call strerror_r directly
45335         * modules/perror (Files): Drop strerror-impl.h.
45336         * lib/perror.c (perror): Use our own stack buffer, rather than
45337         calling a wrapper that uses static storage.
45338         * doc/posix-functions/perror.texi (perror): Document a limitation
45339         of our replacement.
45341         strerror_r: fix includes for FreeBSD
45342         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
45343         since we use abort on some platforms.
45344         Reported by Matthias Bolte.
45346 2011-05-31  Bruno Haible  <bruno@clisp.org>
45348         Fix link errors in tests: openat-die uses gettext-h.
45349         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
45350         against $(LIBINTL).
45351         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
45352         against $(LIBINTL).
45353         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
45354         $(LIBINTL).
45355         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
45356         against $(LIBINTL).
45357         * modules/linkat-tests (Makefile.am): Link test-linkat against
45358         $(LIBINTL).
45359         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
45360         $(LIBINTL).
45361         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
45362         against $(LIBINTL).
45363         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
45364         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
45365         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
45366         $(LIBINTL).
45367         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
45368         $(LIBINTL).
45369         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
45370         $(LIBINTL).
45371         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45373 2011-05-31  Bruno Haible  <bruno@clisp.org>
45375         Fix link errors in tests: wait-process uses gettext-h.
45376         * modules/nonblocking-pipe-tests (Makefile.am): Set
45377         test_nonblocking_pipe_main_LDADD.
45378         * modules/nonblocking-socket-tests (Makefile.am): Link
45379         test-nonblocking-socket-main against $(LIBINTL).
45380         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45382 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
45384         assert-h: work around 'verify' incompatibility
45385         * lib/verify.h: Use @...@ directives, not ifdef.
45386         * modules/assert-h (assert.h): Implement the directives.
45387         (assert.h): Substitute the symbol-prefix more consistently.
45389 2011-05-29  Jim Meyering  <meyering@redhat.com>
45391         trim: remove three superfluous assignments
45392         * lib/trim.c (trim2): Remove three superfluous assignments
45393         and correct brace positioning.
45395 2011-05-29  Bruno Haible  <bruno@clisp.org>
45397         wctype-h: Avoid namespace pollution on Solaris 2.6.
45398         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
45399         identifiers.
45400         * doc/posix-headers/wctype.texi: Mention the problem.
45401         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45403 2011-05-28  Jim Meyering  <meyering@redhat.com>
45405         parse-datetime.y: accommodate -Wstrict-overflow
45406         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
45407         placate -Wstrict-overflow.
45409         trim: avoid a warning from -O2 -Wstrict-overflow
45410         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
45412 2011-05-29  Bruno Haible  <bruno@clisp.org>
45414         gnulib-tool: Fix bug in yesterday's commit.
45415         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
45416         twice.
45418 2011-05-29  Bruno Haible  <bruno@clisp.org>
45420         Allow multiple gnulib generated include files to be combined.
45421         * gnulib-tool (func_compute_include_guard_prefix): New function.
45422         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
45423         ${gl_include_guard_prefix} references.
45424         (func_import, func_create_testdir): Invoke
45425         func_compute_include_guard_prefix.
45426         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
45427         * lib/ctype.in.h: Likewise.
45428         * lib/dirent.in.h: Likewise.
45429         * lib/errno.in.h: Likewise.
45430         * lib/fcntl.in.h: Likewise.
45431         * lib/float.in.h: Likewise.
45432         * lib/getopt.in.h: Likewise.
45433         * lib/iconv.in.h: Likewise.
45434         * lib/langinfo.in.h: Likewise.
45435         * lib/locale.in.h: Likewise.
45436         * lib/math.in.h: Likewise.
45437         * lib/netdb.in.h: Likewise.
45438         * lib/netinet_in.in.h: Likewise.
45439         * lib/poll.in.h: Likewise.
45440         * lib/pthread.in.h: Likewise.
45441         * lib/pty.in.h: Likewise.
45442         * lib/sched.in.h: Likewise.
45443         * lib/se-selinux.in.h: Likewise.
45444         * lib/search.in.h: Likewise.
45445         * lib/signal.in.h: Likewise.
45446         * lib/spawn.in.h: Likewise.
45447         * lib/stdarg.in.h: Likewise.
45448         * lib/stddef.in.h: Likewise.
45449         * lib/stdint.in.h: Likewise.
45450         * lib/stdio.in.h: Likewise.
45451         * lib/stdlib.in.h: Likewise.
45452         * lib/string.in.h: Likewise.
45453         * lib/strings.in.h: Likewise.
45454         * lib/sys_file.in.h: Likewise.
45455         * lib/sys_ioctl.in.h: Likewise.
45456         * lib/sys_select.in.h: Likewise.
45457         * lib/sys_socket.in.h: Likewise.
45458         * lib/sys_stat.in.h: Likewise.
45459         * lib/sys_time.in.h: Likewise.
45460         * lib/sys_times.in.h: Likewise.
45461         * lib/sys_uio.in.h: Likewise.
45462         * lib/sys_utsname.in.h: Likewise.
45463         * lib/sys_wait.in.h: Likewise.
45464         * lib/sysexits.in.h: Likewise.
45465         * lib/termios.in.h: Likewise.
45466         * lib/time.in.h: Likewise.
45467         * lib/unistd.in.h: Likewise.
45468         * lib/wchar.in.h: Likewise.
45469         * lib/wctype.in.h: Likewise.
45470         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
45471         * modules/ctype (Makefile.am): Likewise.
45472         * modules/dirent (Makefile.am): Likewise.
45473         * modules/errno (Makefile.am): Likewise.
45474         * modules/fcntl-h (Makefile.am): Likewise.
45475         * modules/float (Makefile.am): Likewise.
45476         * modules/getopt-posix (Makefile.am): Likewise.
45477         * modules/iconv-h (Makefile.am): Likewise.
45478         * modules/langinfo (Makefile.am): Likewise.
45479         * modules/locale (Makefile.am): Likewise.
45480         * modules/math (Makefile.am): Likewise.
45481         * modules/netdb (Makefile.am): Likewise.
45482         * modules/netinet_in (Makefile.am): Likewise.
45483         * modules/poll-h (Makefile.am): Likewise.
45484         * modules/pthread (Makefile.am): Likewise.
45485         * modules/pty (Makefile.am): Likewise.
45486         * modules/sched (Makefile.am): Likewise.
45487         * modules/search (Makefile.am): Likewise.
45488         * modules/selinux-h (Makefile.am): Likewise.
45489         * modules/signal (Makefile.am): Likewise.
45490         * modules/spawn (Makefile.am): Likewise.
45491         * modules/stdarg (Makefile.am): Likewise.
45492         * modules/stddef (Makefile.am): Likewise.
45493         * modules/stdint (Makefile.am): Likewise.
45494         * modules/stdio (Makefile.am): Likewise.
45495         * modules/stdlib (Makefile.am): Likewise.
45496         * modules/string (Makefile.am): Likewise.
45497         * modules/strings (Makefile.am): Likewise.
45498         * modules/sys_file (Makefile.am): Likewise.
45499         * modules/sys_ioctl (Makefile.am): Likewise.
45500         * modules/sys_select (Makefile.am): Likewise.
45501         * modules/sys_socket (Makefile.am): Likewise.
45502         * modules/sys_stat (Makefile.am): Likewise.
45503         * modules/sys_time (Makefile.am): Likewise.
45504         * modules/sys_times (Makefile.am): Likewise.
45505         * modules/sys_uio (Makefile.am): Likewise.
45506         * modules/sys_utsname (Makefile.am): Likewise.
45507         * modules/sys_wait (Makefile.am): Likewise.
45508         * modules/sysexits (Makefile.am): Likewise.
45509         * modules/termios (Makefile.am): Likewise.
45510         * modules/time (Makefile.am): Likewise.
45511         * modules/unistd (Makefile.am): Likewise.
45512         * modules/wchar (Makefile.am): Likewise.
45513         * modules/wctype-h (Makefile.am): Likewise.
45514         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
45516 2011-05-29  Bruno Haible  <bruno@clisp.org>
45518         assert-h: Allow multiple gnulib generated replacements to coexist.
45519         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
45521 2011-05-29  Bruno Haible  <bruno@clisp.org>
45523         argp: Allow coexistence with strerror_r-posix module.
45524         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
45525         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
45526         by gnulib's <string.h> replacement), assume it has the POSIX signature,
45527         not the glibc signature.
45529 2011-05-28  Bruno Haible  <bruno@clisp.org>
45531         gnulib-tool: Alternative structure of testdirs, similar to --import.
45532         * gnulib-tool: New option --single-configure.
45533         (func_usage): Document it.
45534         (single_configure): New variable.
45535         (func_modules_transitive_closure_separately,
45536         func_modules_transitive_closure_separately,
45537         func_determine_use_libtests, func_modules_add_dummy_separately,
45538         func_modules_to_filelist_separately): New functions, extracted from
45539         func_import.
45540         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
45541         (func_import): Use the new functions.
45542         (func_create_testdir): Set final_modules. Handle $single_configure =
45543         true case.
45545 2011-05-28  Bruno Haible  <bruno@clisp.org>
45547         getloadavg: Remove an unreliable safety check.
45548         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
45549         getloadavg.c is in place.
45550         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
45551         Reported by Sam Steingold <sds@gnu.org>.
45553 2011-05-28  Bruno Haible  <bruno@clisp.org>
45555         doc: Cleanup yet another file produced by texinfo.tex.
45556         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
45558 2011-05-28  Bruno Haible  <bruno@clisp.org>
45560         Finish the conditional dependencies mechanism.
45561         * gnulib-tool: New option --no-conditional-dependencies.
45562         (func_usage): Document it. Don't mark --conditional-dependencies as
45563         experimental.
45564         (cond_dependencies): The possible values can now be true, false, empty.
45565         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
45566         (func_import): Store setting in gnulib-cache.m4 and read it from there.
45567         * doc/gnulib-tool.texi (Conditional dependencies): New section.
45569 2011-05-28  Bruno Haible  <bruno@clisp.org>
45571         doc: Use a recent texinfo.tex.
45572         * doc/Makefile (tex_opts): New variable.
45573         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
45575 2011-05-28  Jim Meyering  <meyering@redhat.com>
45577         intprops.h: adjust comment to match code change
45578         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
45579         only once, it *may* have side effects.  Also fix an unrelated typo.
45580         (_GL_INT_SIGNED): Likewise.
45582 2011-05-26  Simon Josefsson  <simon@josefsson.org>
45584         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
45586 2011-05-26  Bruno Haible  <bruno@clisp.org>
45588         mbsrchr: Avoid collision with system function on Interix.
45589         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
45590         Reported by Markus Duft <mduft@gentoo.org>.
45592 2011-05-15  James Youngman  <jay@gnu.org>
45594         getopt: for ambiguous options, enumerate the possibilities.
45595         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
45596         the ambiguous options when an ambiguous prefix is given. This was
45597         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
45598         glibc change was
45599         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
45601 2011-05-25  Eric Blake  <eblake@redhat.com>
45603         getcwd: work around mingw bug
45604         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
45605         * doc/posix-functions/getcwd.texi (getcwd): Document it.
45606         Reported by Matthias Bolte.
45608 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
45610         test-intprops: disable -Wtype-limits diagnostics
45611         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
45612         diagnostics.  Otherwise, the integer overflow macros generate many
45613         diagnostics.  Reported by Jim Meyering in
45614         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
45616         intprops: shorten, to pacify gcc -Woverlength-strings
45617         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
45618         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
45619         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
45620         likely to run afoul of C compiler limits for string constant lengths.
45621         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
45623 2011-05-24  Eric Blake  <eblake@redhat.com>
45625         docs: document recently fixed glibc printf bug
45626         * doc/posix-functions/fprintf.texi (fprintf): Document it.
45627         * doc/posix-functions/printf.texi (printf): Likewise.
45628         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
45629         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
45631         closein-tests: convert to init.sh
45632         * modules/closein-tests (Files): Add init.sh
45633         * tests/test-closein.sh Use it.
45635         yesno-tests: convert to init.sh
45636         * modules/yesno-tests (Files): Add init.sh.
45637         * tests/test-yesno.sh: Use it.
45639         atexit-tests: ensure reliable exit status
45640         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
45641         Reported by Bruno Haible.
45643 2011-05-24  Bruno Haible  <bruno@clisp.org>
45645         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
45646         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
45647         gl_PREREQ_STRERROR_R invocations from here...
45648         * modules/strerror_r-posix (configure.ac): ... to here.
45650 2011-05-24  Eric Blake  <eblake@redhat.com>
45652         strerror_r: fix missing header
45653         * lib/strerror_r.c: Avoid compiler warning about snprintf.
45655         strerror_r: fix AIX test failures
45656         * lib/strerror_r.c (strerror_r): Convert silent truncation to
45657         ERANGE failure.
45659         strerror_r: fix Solaris test failures
45660         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
45661         failures.
45662         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
45664         strerror_r: enforce POSIX recommendations
45665         * lib/strerror_r.c (safe_copy): New helper method.
45666         (strerror_r): Guarantee a non-empty string.
45667         * tests/test-strerror_r.c (main): Enhance tests to incorporate
45668         recent POSIX rulings and to match our strerror guarantees.
45669         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
45671 2011-05-24  Jim Meyering  <meyering@redhat.com>
45673         test-perror2.c: avoid warning about unused variable
45674         * tests/test-perror2.c (main): Remove declaration of unused "fp".
45676 2011-05-24  Eric Blake  <eblake@redhat.com>
45678         perror: avoid spurious test failure on HP-UX
45679         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
45681         tests: fix logic bug in init.sh
45682         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
45683         shell.
45685 2011-05-24  Jim Meyering  <meyering@redhat.com>
45687         utimensat: do not reference an out-of-scope buffer
45688         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
45689         declared in an inner scope, yet "times" would be dereferenced outside
45690         the scope in which "ts" was valid.
45691         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
45692         of ts[2] "out/up", so that the use of aliased "times" (via
45693         "times = ts;") does not end up referencing an out-of-scope "ts"
45695         opendir-safer.c: don't clobber errno; don't close negative FD
45696         * lib/opendir-safer.c (opendir_safer):
45697         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
45698         file descriptor, and more importantly, don't clobber the
45699         offending errno value with EINVAL.  Before, upon failure
45700         of dup_safer, we would pass the negative file descriptor to
45701         fdopendir, which would clobber errno.
45703 2011-05-23  Bruno Haible  <bruno@clisp.org>
45705         idcache: Fix module description.
45706         * modules/idcache (Include): Set to "idcache.h".
45708 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
45710         gnulib-tool: fix portability problem with MacOS sed
45711         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
45712         before the "}".  Problem reported by Leo in
45713         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
45714         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
45715         sed_extract_condition1, sed_extract_condition2.
45717 2011-05-23  Bruno Haible  <bruno@clisp.org>
45719         hash: Simplify autoconf macro.
45720         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
45722 2011-05-23  Bruno Haible  <bruno@clisp.org>
45724         getugroups: Fix module description.
45725         * modules/getugroups (Include): Set to "getugroups.h".
45727 2011-05-23  Bruno Haible  <bruno@clisp.org>
45729         linkat: Simplify autoconf macro.
45730         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
45732 2011-05-23  Bruno Haible  <bruno@clisp.org>
45733             Eric Blake  <eblake@redhat.com>
45735         linkat, renameat: Update dependencies.
45736         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
45737         * modules/linkat (Depends-on): Likewise. Remove also readlink,
45738         symlinkat.
45740 2011-05-23  Jim Meyering  <meyering@redhat.com>
45742         maint.mk: more tight_scope improvements
45743         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
45744         (_gl_TS_headers): Define only in if-0'd block.
45745         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
45746         sometimes we must *not* use it.  Adjust uses accordingly.
45747         (sc_tight_scope): Use much simpler grep-based test to determine
45748         whether we skip this rule.
45750         maint.mk: generalize/improve the tight-scope rule
45751         * top/maint.mk: Emit a warning when the test is skipped.
45752         (_gl_TS_dir): Add $(srcdir)/ prefix.
45753         (_gl_TS_function_match): Simplify, rather than trying
45754         to enumerate common types.  Otherwise, it would fail to match an
45755         "extern unsigned char const *" declaration in idutils.
45756         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
45757         a way to support use of that type of macro.
45758         (_gl_TS_var_match): Simplify regexp.
45759         (_gl_TS_obj_files): New configurable variable.
45760         (_gl_TS_headers): Likewise.
45762 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
45764         verify: fix bug when gnulib <assert.h> is also included
45765         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
45766         is defined, not if _GL_STATIC_ASSERT_H is not defined.
45767         Perhaps there's a better way, but this fixes the immediate problem.
45768         Problem reported by Bruno Haible in
45769         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
45771 2011-05-22  Bruno Haible  <bruno@clisp.org>
45773         xgetcwd: Simplify autoconf macro.
45774         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
45776 2011-05-22  Bruno Haible  <bruno@clisp.org>
45778         New module 'mktime-internal'.
45779         * modules/mktime-internal: New file.
45780         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
45781         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
45782         mktime_internal as a C macro if libc has __mktime_internal.
45783         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
45784         conditions.
45785         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
45787 2011-05-22  Bruno Haible  <bruno@clisp.org>
45789         timegm: Correct mktime replacement statements.
45790         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
45791         defining mktime as a C macro. This completes a 2009-07-28 commit.
45793 2011-05-22  Bruno Haible  <bruno@clisp.org>
45795         timegm: Simplify autoconf macro.
45796         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
45798 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
45800         clock-time: change to LGPLv2+.
45801         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
45802         BSD-like but we have no mark for that; this is good enough for now.
45804 2011-05-21  Bruno Haible  <bruno@clisp.org>
45806         strerror_r: Fix comments.
45807         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
45809 2011-05-21  Bruno Haible  <bruno@clisp.org>
45811         relocatable-prog-wrapper: Fix possible link error.
45812         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
45813         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
45814         (gl_FUNC_SETENV): ... to here.
45815         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
45816         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
45818 2011-05-21  Bruno Haible  <bruno@clisp.org>
45820         relocatable-prog-wrapper: Assume strerror() exists.
45821         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
45822         m4/strerror.m4.
45823         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
45824         * lib/relocwrapper.c: Remove mention of strerror module.
45825         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
45826         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
45827         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
45828         C macro.
45830 2011-05-21  Bruno Haible  <bruno@clisp.org>
45832         select: Simplify replacement idiom.
45833         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
45834         Win32 platforms.
45835         * lib/sys_select.in.h (select): Simplify accordingly.
45836         * modules/select (Depends-on): Likewise.
45838 2011-05-21  Bruno Haible  <bruno@clisp.org>
45840         mkdir-p: Simplify autoconf macro.
45841         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
45842         gl_FUNC_LCHOWN.
45844 2011-05-21  Eric Blake  <eblake@redhat.com>
45846         strerror_r: avoid clobbering strerror on cygwin
45847         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
45848         fall back instead to sys_errlist.
45849         * modules/strerror (configure.ac): Add witness.
45850         * tests/test-strerror_r.c (main): Enhance test.
45851         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
45852         * tests/test-perror2.c (main): Free memory before exit.
45854 2011-05-21  Bruno Haible  <bruno@clisp.org>
45856         mkdtemp: Use gnulib naming conventions.
45857         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
45858         * modules/mkdtemp (configure.ac): Update.
45860 2011-05-20  Eric Blake  <eblake@redhat.com>
45862         strerror_r: avoid corrupting errno on Solaris
45863         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
45864         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
45866         strerror_r: avoid compiler warning
45867         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
45869         strerror_r: simplify AIX code
45870         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
45872         test-perror: avoid spurious failure on FreeBSD
45873         * modules/perror-tests (Depends-on): Add strerror, now that
45874         strerror_r no longer pulls it in.
45876 2011-05-20  Bruno Haible  <bruno@clisp.org>
45878         strerror_r-posix: Remove unused dependencies.
45879         * modules/strerror_r-posix (Depends-on): Remove strerror.
45880         Reported by Eric Blake.
45882 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
45884         intprops: remove assumption about A|B representation
45885         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
45886         is a valid integer if both A and B are.  Although this is true for
45887         all known practical hosts, the C standard doesn't guarantee it,
45888         and the code need not assume it.  Also, this change may work around
45889         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
45890         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
45892 2011-05-20  Eric Blake  <eblake@redhat.com>
45894         perror: work around FreeBSD bug
45895         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
45896         is broken.  Move AC_LIBOBJ...
45897         * modules/perror (configure.ac): Here.
45898         * doc/posix-functions/perror.texi (perror): Document this.
45899         * tests/test-perror2.c (main): Enhance test.
45901         test-perror: check for strerror interactions
45902         * tests/macros.h (STREQ): Add macro.
45903         * modules/perror-tests (Files): Add second test.
45904         * tests/test-perror2.c (main): New file.
45905         * doc/posix-functions/perror.texi (perror): Document glibc bug.
45907         test-perror: rewrite to use init script
45908         * modules/perror-tests (Files): Add init.sh.
45909         * tests/test-perror.sh: Use temporary directory.
45911 2011-05-20  Jim Meyering  <meyering@redhat.com>
45913         maint: replace misused "a" with "an"
45914         * doc/intprops.texi: "a integer"
45915         * doc/regex.texi: "a explanation"
45916         * lib/alignof.h: "a object"
45917         * lib/argmatch.h: "a explanation"
45918         * lib/argp-help.c: "a option" and "a OPTION_DOC"
45919         * lib/stdint.in.h: "a integer"
45920         * lib/userspec.c: "a owner"
45921         * doc/gnulib.texi: Fix "a idea", and reword.
45923 2011-05-19  Jim Meyering  <meyering@redhat.com>
45925         maint: correct misuse of "a" and "an"
45926         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
45927         * lib/argp-help.c: "an docum...": s/an/a/
45928         * lib/argp-parse.c: "An vector": s/An/A/
45929         * lib/execute.c: "an native": s/an/a/
45930         * lib/spawn-pipe.c: Likewise.
45931         * lib/gc.h: "an Gc_rc": s/an/a/
45932         * lib/unigbrk.in.h: "an grapheme": s/an/a/
45933         * lib/fts.c: "an stat.st_dev": s/an/a/
45935 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
45937         intprops-tests: work around HP-UX 11.23 cc bug with constants
45938         * tests/test-intprops.c (VERIFY): New macro.
45939         (main): Use it, instead of verify, to work around the compiler bug; see
45940         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
45942         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
45943         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
45944         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
45945         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
45946         (_GL_REMAINDER_OVERFLOW): Use it.
45948         intprops-tests: revert unsigned part of previous change
45949         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
45950         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
45951         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
45952         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
45954 2011-05-19  Bruno Haible  <bruno@clisp.org>
45956         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
45957         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
45958         strerror_r() returned without filling the buffer.
45959         Reported by Eric Blake.
45961 2011-05-19  Eric Blake  <eblake@redhat.com>
45963         strerror_r: guarantee unchanged errno
45964         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
45965         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
45966         failure.
45967         * tests/test-strerror_r.c (main): Enhance test.
45969 2011-05-19  Bruno Haible  <bruno@clisp.org>
45971         strerror_r: Reorder #if blocks.
45972         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
45973         for consistency with the previous commit.
45975 2011-05-19  Bruno Haible  <bruno@clisp.org>
45977         perror: Avoid clobbering the strerror buffer when possible.
45978         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
45979         * lib/strerror.c: Include it.
45980         * modules/strerror (Files): Add lib/strerror-impl.h.
45981         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
45982         (my_strerror): New function, defined through lib/strerror-impl.h.
45983         (perror): Use it instead of strerror.
45984         * modules/perror (Files): Add lib/strerror-impl.h.
45985         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
45987 2011-05-19  Eric Blake  <eblake@redhat.com>
45989         strerror_r: fix on newer cygwin
45990         * lib/strerror_r.c (strerror_r): Cygwin now has
45991         __xpg_strerror_r, use it.
45993 2011-05-19  Bruno Haible  <bruno@clisp.org>
45995         strerror_r: Avoid clobbering the strerror buffer when possible.
45996         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
45997         (sys_nerr, sys_errlist): New declarations.
45998         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
45999         HP-UX, native Win32, IRIX, and 32-bit Solaris.
46000         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
46002 2011-05-19  Bruno Haible  <bruno@clisp.org>
46004         strerror_r: Fix test failure on mingw.
46005         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
46006         EXTEND_STRERROR_R.
46007         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
46008         macros from errno.in.h instead.
46010 2011-05-19  Eric Blake  <eblake@redhat.com>
46012         strerror: relax test for Solaris
46013         * tests/test-strerror.c (main): Permit Solaris behavior.
46014         * tests/test-strerror_r.c (main): Likewise.
46016         strerror: enforce POSIX ruling on strerror(0)
46017         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
46018         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
46019         * lib/strerror_r.c (rpl_strerror_r): Work around it.
46020         * doc/posix-functions/strerror.texi (strerror): Document it.
46021         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
46022         * tests/test-strerror.c (main): Strengthen test.
46023         * tests/test-strerror_r.c (main): Likewise.
46025 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
46027         intprop-tests: port to older and more-pedantic compilers
46028         * modules/intprops-tests (Files): Add tests/macros.h.
46029         * tests/test-intprops.c: Include macros.h.
46030         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
46031         it's no longer documented to expand to an integer constant expression.
46032         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
46033         argument is floating point, as it's no longer documented to expand
46034         to an integer constant expression in that case.
46035         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
46036         compiler bugs reported by Bruno Haible.  See
46037         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
46038         (U0, U1): New constants, to work around the same bugs.  Also,
46039         in tests, use e.g., "(unsigned int) 39" rather than "39u".
46041         intprops: work around C compiler bugs
46042         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
46043         bug in Sun C 5.11 2010/08/13 and other compilers; see
46044         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
46046         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
46047         * doc/intprops.texi (Integer Type Determination): Fix
46048         documentation for TYPE_IS_INTEGER: it returns an constant
46049         expression, not an integer constant expression.  Fix doc for
46050         TYPE_SIGNED: it returns an integer constant expression only if its
46051         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
46052         hardly worth documented that way....)
46054 2011-05-18  Bruno Haible  <bruno@clisp.org>
46056         strerror_r: Avoid clobbering the strerror buffer when possible.
46057         * lib/strerror_r.c (strerror_r): Merge the three implementations.
46058         Handle gnulib defined errno values here. When strerror() returns NULL
46059         or an empty string, return EINVAL.
46060         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
46061         gnulib defined errno values here.
46062         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
46064 2011-05-18  Eric Blake  <eblake@redhat.com>
46066         fnmatch: avoid compiler warning
46067         * lib/fnmatch_loop.c (FCT): Use correct type.
46068         Reported by Matthias Bolte.
46070 2011-05-13  Jim Meyering  <meyering@redhat.com>
46072         maint.mk: three new prohibit_<HDR>_without_use rules
46073         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
46074         (sc_prohibit_stdio-safer_without_use): Likewise.
46075         (sc_prohibit_xfreopen_without_use): Likewise.
46077 2011-05-17  Jim Meyering  <meyering@redhat.com>
46079         announce-gen: fail if the NEWS delta is empty
46080         If there's nothing noteworthy in NEWS, then either you forgot
46081         or you shouldn't be releasing.
46082         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
46084 2011-05-17  Pádraig Brady  <P@draigBrady.com>
46086         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
46087         reserved symbols starting with double underscore from the check.
46089 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
46091         intprops: add doc
46092         * doc/intprops.texi: New file, documenting intprops.
46093         * doc/gnulib.texi (Particular Modules): Include it.
46095         verify: add doc to gnulib manual and fix example
46096         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
46097         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
46098         (Compile-time Assertions): Fix example so it can't overflow.
46100 2011-05-17  Jim Meyering  <meyering@redhat.com>
46102         warnings.m4: don't usurp save_CPPFLAGS variable name
46103         * m4/warnings.m4: Prefix local temporary variable name with gl_.
46105         doc: fix typo
46106         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
46108 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
46109             Bruno Haible  <bruno@clisp.org>
46111         doc: Tweak recent change.
46112         * README (Portability guidelines): Tweak new text.
46113         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
46114         Interix 6.1.
46116 2011-05-16  Eric Blake  <eblake@redhat.com>
46118         inttypes: avoid autoconf warning
46119         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
46120         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46122 2011-05-16  Sam Steingold  <sds@gnu.org>
46123         and Eric Blake  <eblake@redhat.com>
46125         vc-list-files: accept multiple directory operands
46126         * build-aux/vc-list-files: Iterate over all remaining operands.
46128 2011-05-16  Bruno Haible  <bruno@clisp.org>
46130         Fix confusion regarding deprecated modules.
46131         * modules/calloc (Status, Notice): Mark module as deprecated, not
46132         obsolete.
46133         * modules/fnmatch-posix (Status, Notice): Likewise.
46134         * modules/getdate (Status, Notice): Likewise.
46135         * modules/getopt (Status, Notice): Likewise.
46136         * modules/malloc (Status, Notice): Likewise.
46137         * modules/pipe (Status, Notice): Likewise.
46138         * modules/realloc (Status, Notice): Likewise.
46139         * modules/rename-dest-slash (Status, Notice): Likewise.
46140         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
46141         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
46142         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
46143         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
46144         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
46146 2011-05-16  Bruno Haible  <bruno@clisp.org>
46148         doc: List the target platforms.
46149         * doc/gnulib-intro.texi (Target Platforms): New section.
46150         * doc/gnulib.texi (Introduction): Update menu.
46151         * README (Portability guidelines): Refer to the new section. Update
46152         statement about oldest supported environment. Remove rationale why
46153         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
46154         unportable C89 function.
46155         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
46156         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
46158 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
46160         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
46162 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
46164         intprops-tests: new module
46165         * modules/intprops-tests, tests/test-intprops.c: New files.
46167         intprops: add safe, portable integer overflow checking
46168         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
46169         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
46170         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
46171         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
46172         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
46173         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
46174         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
46175         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
46176         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
46177         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
46178         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
46180 2011-05-12  James Youngman  <jay@gnu.org>
46182         Add a test for glibc's Bugzilla bug #12378.
46183         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
46184         doesn't allow the literal matching of a lone "[" (which is
46185         required by POSIX).
46186         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
46188 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
46190         Sync glibc change fixing Bugzilla bug #12378.
46191         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
46192         beginning and fall back to matching as normal character if the
46193         string ends before the matching ']' is found.  This is what POSIX
46194         requires.
46196 2011-05-13  Eric Blake  <eblake@redhat.com>
46198         getcwd-lgpl: relax test for FreeBSD
46199         * doc/posix-functions/getcwd.texi (getcwd): Document portability
46200         issue.
46201         * tests/test-getcwd-lgpl.c (main): Relax test.
46202         Reported by Matthias Bolte.
46204 2011-05-11  Eric Blake  <eblake@redhat.com>
46206         test-fflush: silence compiler warning
46207         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
46209 2011-05-11  Bruno Haible  <bruno@clisp.org>
46211         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
46212         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
46213         * modules/canonicalize (Depends-on): Add 'nocrash'.
46214         * modules/canonicalize-lgpl (Depends-on): Likewise.
46215         * doc/posix-functions/realpath.texi: Update platforms list.
46216         Reported by Ryan Schmidt <ryandesign@macports.org>.
46218 2011-05-11  Bruno Haible  <bruno@clisp.org>
46220         group-member: Declare function in <unistd.h>.
46221         * lib/unistd.in.h (group_member): New declaration.
46222         * lib/group-member.h: Remove file.
46223         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
46224         * tests/test-unistd-c++.cc: Check signature of group_member.
46225         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
46226         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
46227         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
46228         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
46229         HAVE_GROUP_MEMBER.
46230         * modules/group-member (Files): Remove lib/group-member.h.
46231         (Depends-on): Add unistd. Specify conditions.
46232         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46233         (Include): Change to <unistd.h>.
46234         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
46235         HAVE_GROUP_MEMBER.
46236         * NEWS: Mention the change.
46237         * lib/euidaccess.c: Don't include group-member.h.
46239 2011-05-11  Bruno Haible  <bruno@clisp.org>
46241         group-member: Document module.
46242         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
46243         module.
46245 2011-05-11  Bruno Haible  <bruno@clisp.org>
46247         fclose: Fix mistake earlier today.
46248         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
46250 2011-05-11  Eric Blake  <eblake@redhat.com>
46252         fclose: preserve fflush errors
46253         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
46254         Reported by Jim Meyering.
46256         bootstrap: support a prereq of 'rpcgen -' on RHEL5
46257         * build-aux/bootstrap (check_versions): When no specific version
46258         is required, merely check that the app produces an exit status
46259         that indicates its existence.
46261         maint.mk: drop redundant check
46262         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
46263         the same but better.
46265 2011-05-11  Bruno Haible  <bruno@clisp.org>
46267         fclose: Fix possible link error.
46268         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
46269         unregister_shadow_fd. Improve comments.
46270         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
46271         Eric Blake.
46273 2011-05-11  Jim Meyering  <meyering@redhat.com>
46275         maint.mk: improve "can not" detection and generalize rule name
46276         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
46277         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
46278         Use the same technique as in sc_prohibit_doubled_word, so that
46279         we recognize "can not" also when the words are separated by a newline.
46280         Suggested by Eric Blake.
46281         (perl_filename_lineno_text_): Define.  Factored out of...
46282         (prohibit_doubled_word_): ...here.  Use the new definition.
46283         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
46284         (prohibit_undesirable_word_seq_RE_): New overridable variable.
46285         (ignore_undesirable_word_sequence_RE_): New overridable variable.
46287 2011-05-10  Eric Blake  <eblake@redhat.com>
46289         fclose: avoid double close race when possible
46290         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
46291         all but WINDOWS_SOCKETS.
46293 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
46295         openat: correct new comment
46296         * lib/openat-proc.c (openat_proc_name): Correct the comment.
46298 2011-05-10  Jim Meyering  <meyering@redhat.com>
46300         openat: add comments
46301         * lib/openat-proc.c (openat_proc_name): Add comments,
46302         mostly from Eric Blake.
46304 2011-05-09  Eric Blake  <eblake@redhat.com>
46306         openat: reduce syscalls in first probe of /proc
46307         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
46308         be a directory.  Simplify the probe for .. bugs.
46309         * modules/openat (Depends-on): Drop same-inode.
46310         Reported by Bastien ROUCARIES.
46312 2011-05-09  Jim Meyering  <meyering@redhat.com>
46314         maint.mk: change semantics/name of tight_scope variables
46315         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
46316         Rename variables to align with semantics that make them more useful.
46318         maint.mk: tweak new rule's name not to impinge
46319         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
46320         (sc_tight_scope): Use new rule name rather than $@-0.
46322         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
46323         * top/maint.mk (sc_tight_scope): New rule.
46324         (sc_tight_scope-0): New rule, ifdef'd out.
46325         (_gl_TS_dir): Default.
46326         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
46327         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
46329 2011-05-09  Simon Josefsson  <simon@josefsson.org>
46331         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
46332         Haible <bruno@clisp.org>.
46334 2011-05-08  Bruno Haible  <bruno@clisp.org>
46336         Comments.
46337         * m4/isnanf.m4: Add comment.
46338         * m4/isnanl.m4: Likewise.
46340 2011-05-08  Bruno Haible  <bruno@clisp.org>
46342         glob: Remove obsolete macro.
46343         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
46345 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
46347         intprops: Sun C 5.11 supports __typeof__
46348         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
46349         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
46350         which is new.
46351         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
46353         intprops: switch to usual gnulib indenting and naming
46354         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
46355         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
46357         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
46359 2011-05-08  Jim Meyering  <meyering@redhat.com>
46361         maint.mk: suppress "Entering/Leaving directory" diag in announcement
46362         * top/maint.mk (release-prep): Use make's --no-print-directory
46363         option when generating the announcement.  This eliminates the
46364         pesky "make[2]: Entering/Leaving directory" diagnostics in the
46365         generated announcement template.
46367 2011-05-08  Bruno Haible  <bruno@clisp.org>
46369         tzset: Fix gettimeofday wrapper on Solaris 2.6.
46370         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
46371         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
46373 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
46375         ignore-value, verify: Omit include files from lib_SOURCES.
46376         * modules/ignore-value, modules/verify (Makefile.am):
46377         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
46378         that leads Automake to duplicate use of am__objects_... variables
46379         in Makefile.in.  See
46380         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
46382 2011-05-07  Bruno Haible  <bruno@clisp.org>
46384         fclose: Simplify autoconf macro.
46385         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
46386         defined.
46388 2011-05-07  Bruno Haible  <bruno@clisp.org>
46390         canonicalize-lgpl: Fix autoconf macro ordering bug.
46391         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
46392         gl_STDLIB_H_DEFAULTS.
46394 2011-05-06  Eric Blake  <eblake@redhat.com>
46396         maintainer-makefile: make sc_po_check easier to tune
46397         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
46398         to probe for strings, such as an alternate location for gnulib.
46400         fclose: guarantee behavior on seekable stdin
46401         * modules/fclose (Depends-on): Add fflush.
46402         * doc/posix-functions/fclose.texi (fclose): Document this.
46403         * tests/test-fclose.c (main): Make test for this unconditional.
46405 2011-05-06  Bruno Haible  <bruno@clisp.org>
46407         fflush, fpurge: Relicense under LGPLv2+.
46408         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
46409         * modules/fpurge (License): Likewise.
46410         With permission from Eric Blake and Jim Meyering.
46411         Suggested by Eric Blake.
46413 2011-05-06  Karl Berry  <karl@gnu.org>
46415         * MODULES.html.sh (func_all_modules): remove exit.
46417 2011-05-06  Jim Meyering  <meyering@redhat.com>
46419         maint.mk: use info-gnu@ as the default only for a stable release
46420         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
46421         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
46422         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
46423         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
46425 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
46427         assert-h: new module, which supports C1X-style static_assert
46428         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
46429         * lib/verify.h: Revamp so that this can be copied into assert.h,
46430         while retaining the ability to use it standalone as before.
46431         Rename private identifiers so as not to encroach on the
46432         standard C namespace, since this is now used by assert.h.
46433         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
46434         the old verify_true.
46435         (_GL_VERIFY_TRUE): New macro, with much of the contents of
46436         the old verify_true.  Use _GL_VERIFY_TYPE.
46437         (_GL_VERIFY): New macro, with much of the contents of the old verify.
46438         (static_assert): New macro, if _GL_STATIC_ASSERT_H
46439         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
46440         defined when this file is copied into the replacement assert.h.
46441         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
46442         and _Static_assert is not built in.
46443         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
46444         defined, and use the new macros mentioned above.
46445         * doc/posix-headers/assert.texi: Document this.
46447 2011-05-05  Bruno Haible  <bruno@clisp.org>
46449         fclose, fflush: Respect rules for use of AC_LIBOBJ.
46450         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
46451         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
46452         gl_REPLACE_FCLOSE here.
46453         * modules/fflush (Depends-on): Remove fclose.
46454         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
46455         combination with module 'fclose'.
46457 2011-05-05  Bruno Haible  <bruno@clisp.org>
46459         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
46460         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
46461         gl_FUNC_FFLUSH.
46462         (gl_FUNC_FFLUSH): Use it.
46463         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
46464         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
46465         gl_REPLACE_FSEEKO here.
46467 2011-05-05  Bruno Haible  <bruno@clisp.org>
46469         tzset: Relicense under LGPL.
46470         * modules/tzset (License): Change to LGPL.
46471         No agreement needed; it's a no-op.
46473         strtoimax, strtoumax: Relicense under LGPL.
46474         * modules/strtoimax (License): Change to LGPL.
46475         * modules/strtoumax (License): Likewise.
46476         With permission from Jim Meyering, Paul Eggert:
46477         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
46478         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
46480         getgroups: Relicense under LGPL.
46481         * modules/getgroups (License): Change to LGPL.
46482         With permission from Jim Meyering, Paul Eggert, Eric Blake:
46483         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
46484         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
46485         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
46487         nanosleep: Relicense under LGPL.
46488         * modules/nanosleep (License): Change to LGPL.
46489         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
46490         Haible:
46491         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
46492         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
46493         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
46494         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
46496         futimens: Relicense under LGPL.
46497         * modules/futimens (License): Change to LGPL.
46498         With permission from Eric Blake:
46499         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
46501         fflush: Relicense under LGPL.
46502         * modules/fflush (License): Change to LGPL.
46503         With permission from Eric Blake, Bruno Haible, Jim Meyering:
46504         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
46505         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
46506         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
46508         tmpfile: Relicense under LGPL.
46509         * modules/tmpfile (License): Change to LGPL.
46510         With permission from Ben Pfaff:
46511         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
46513         isfinite: Relicense under LGPL.
46514         * modules/isfinite (License): Change to LGPL.
46515         With permission from Ben Pfaff, Bruno Haible:
46516         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
46517         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
46519         acosl..tanl: Relicense under LGPL.
46520         * modules/acosl (License): Change to LGPL.
46521         * modules/asinl (License): Likewise.
46522         * modules/atanl (License): Likewise.
46523         * modules/cosl (License): Likewise.
46524         * modules/expl (License): Likewise.
46525         * modules/logl (License): Likewise.
46526         * modules/sinl (License): Likewise.
46527         * modules/sqrtl (License): Likewise.
46528         * modules/tanl (License): Likewise.
46529         Source code originally from glibc and Paolo Bonzini. Agreements:
46530         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
46531         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
46533 2011-05-05  Bruno Haible  <bruno@clisp.org>
46535         signal: Define sighandler_t.
46536         * lib/signal.in.h (sighandler_t): New type.
46537         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
46538         whether sighandler_t is defined.
46539         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
46540         * modules/signal (Depends-on): Add extensions.
46541         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
46542         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
46543         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
46545 2011-05-05  Eric Blake  <eblake@redhat.com>
46547         maint: remove useless REPLACE_*_H macros
46548         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
46549         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
46550         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
46551         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
46552         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
46553         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
46554         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
46555         * m4/btowc.m4: Update callers.
46556         * m4/dirfd.m4: Likewise.
46557         * m4/duplocale.m4: Likewise.
46558         * m4/fchdir.m4: Likewise.
46559         * m4/fdopendir.m4: Likewise.
46560         * m4/inet_ntop.m4: Likewise.
46561         * m4/inet_pton.m4: Likewise.
46562         * m4/ioctl.m4: Likewise.
46563         * m4/mbrlen.m4: Likewise.
46564         * m4/mbrtowc.m4: Likewise.
46565         * m4/mbsinit.m4: Likewise.
46566         * m4/mbsnrtowcs.m4: Likewise.
46567         * m4/mbsrtowcs.m4: Likewise.
46568         * m4/poll.m4: Likewise.
46569         * m4/setlocale.m4: Likewise.
46570         * m4/wcrtomb.m4: Likewise.
46571         * m4/wcsnrtombs.m4: Likewise.
46572         * m4/wcsrtombs.m4: Likewise.
46573         * m4/wctob.m4: Likewise.
46574         * m4/wcwidth.m4: Likewise.
46575         * modules/posix_spawn: Likewise.
46576         * modules/posix_spawn_file_actions_addclose: Likewise.
46577         * modules/posix_spawn_file_actions_adddup2: Likewise.
46578         * modules/posix_spawn_file_actions_addopen: Likewise.
46579         * modules/posix_spawn_file_actions_destroy: Likewise.
46580         * modules/posix_spawn_file_actions_init: Likewise.
46581         * modules/posix_spawnattr_destroy: Likewise.
46582         * modules/posix_spawnattr_getflags: Likewise.
46583         * modules/posix_spawnattr_getpgroup: Likewise.
46584         * modules/posix_spawnattr_getschedparam: Likewise.
46585         * modules/posix_spawnattr_getschedpolicy: Likewise.
46586         * modules/posix_spawnattr_getsigdefault: Likewise.
46587         * modules/posix_spawnattr_getsigmask: Likewise.
46588         * modules/posix_spawnattr_init: Likewise.
46589         * modules/posix_spawnattr_setflags: Likewise.
46590         * modules/posix_spawnattr_setpgroup: Likewise.
46591         * modules/posix_spawnattr_setschedparam: Likewise.
46592         * modules/posix_spawnattr_setschedpolicy: Likewise.
46593         * modules/posix_spawnattr_setsigdefault: Likewise.
46594         * modules/posix_spawnattr_setsigmask: Likewise.
46595         * modules/posix_spawnp: Likewise.
46597 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
46599         Add option to do-release-commit-and-tag to specify branch.
46600         * build-aux/do-release-commit-and-tag: Add --branch.
46602 2011-05-03  Bruno Haible  <bruno@clisp.org>
46604         Avoid unnecessary compilation units, through conditional dependencies.
46605         * modules/accept (Depends-on): Add conditions to the dependencies.
46606         * modules/acosl (Depends-on): Likewise.
46607         * modules/argz (Depends-on): Likewise.
46608         * modules/asinl (Depends-on): Likewise.
46609         * modules/atanl (Depends-on): Likewise.
46610         * modules/atoll (Depends-on): Likewise.
46611         * modules/bind (Depends-on): Likewise.
46612         * modules/btowc (Depends-on): Likewise.
46613         * modules/canonicalize-lgpl (Depends-on): Likewise.
46614         * modules/ceil (Depends-on): Likewise.
46615         * modules/ceilf (Depends-on): Likewise.
46616         * modules/ceill (Depends-on): Likewise.
46617         * modules/chdir-long (Depends-on): Likewise.
46618         * modules/chown (Depends-on): Likewise.
46619         * modules/close (Depends-on): Likewise.
46620         * modules/connect (Depends-on): Likewise.
46621         * modules/cosl (Depends-on): Likewise.
46622         * modules/dirfd (Depends-on): Likewise.
46623         * modules/dprintf (Depends-on): Likewise.
46624         * modules/dprintf-posix (Depends-on): Likewise.
46625         * modules/error (Depends-on): Likewise.
46626         * modules/euidaccess (Depends-on): Likewise.
46627         * modules/expl (Depends-on): Likewise.
46628         * modules/faccessat (Depends-on): Likewise.
46629         * modules/fchdir (Depends-on): Likewise.
46630         * modules/fclose (Depends-on): Likewise.
46631         * modules/fcntl (Depends-on): Likewise.
46632         * modules/fdopendir (Depends-on): Likewise.
46633         * modules/fflush (Depends-on): Likewise.
46634         * modules/floor (Depends-on): Likewise.
46635         * modules/floorf (Depends-on): Likewise.
46636         * modules/floorl (Depends-on): Likewise.
46637         * modules/fnmatch (Depends-on): Likewise.
46638         * modules/fopen (Depends-on): Likewise.
46639         * modules/fprintf-posix (Depends-on): Likewise.
46640         * modules/frexp (Depends-on): Likewise.
46641         * modules/frexp-nolibm (Depends-on): Likewise.
46642         * modules/frexpl (Depends-on): Likewise.
46643         * modules/frexpl-nolibm (Depends-on): Likewise.
46644         * modules/fseek (Depends-on): Likewise.
46645         * modules/fsusage (Depends-on): Likewise.
46646         * modules/ftell (Depends-on): Likewise.
46647         * modules/ftello (Depends-on): Likewise.
46648         * modules/futimens (Depends-on): Likewise.
46649         * modules/getcwd (Depends-on): Likewise.
46650         * modules/getcwd-lgpl (Depends-on): Likewise.
46651         * modules/getdelim (Depends-on): Likewise.
46652         * modules/getdomainname (Depends-on): Likewise.
46653         * modules/getgroups (Depends-on): Likewise.
46654         * modules/gethostname (Depends-on): Likewise.
46655         * modules/getline (Depends-on): Likewise.
46656         * modules/getlogin_r (Depends-on): Likewise.
46657         * modules/getopt-posix (Depends-on): Likewise.
46658         * modules/getpeername (Depends-on): Likewise.
46659         * modules/getsockname (Depends-on): Likewise.
46660         * modules/getsockopt (Depends-on): Likewise.
46661         * modules/getsubopt (Depends-on): Likewise.
46662         * modules/getusershell (Depends-on): Likewise.
46663         * modules/glob (Depends-on): Likewise.
46664         * modules/grantpt (Depends-on): Likewise.
46665         * modules/iconv_open (Depends-on): Likewise.
46666         * modules/iconv_open-utf (Depends-on): Likewise.
46667         * modules/inet_ntop (Depends-on): Likewise.
46668         * modules/inet_pton (Depends-on): Likewise.
46669         * modules/ioctl (Depends-on): Likewise.
46670         * modules/isapipe (Depends-on): Likewise.
46671         * modules/isfinite (Depends-on): Likewise.
46672         * modules/isinf (Depends-on): Likewise.
46673         * modules/lchown (Depends-on): Likewise.
46674         * modules/ldexpl (Depends-on): Likewise.
46675         * modules/link (Depends-on): Likewise.
46676         * modules/linkat (Depends-on): Likewise.
46677         * modules/listen (Depends-on): Likewise.
46678         * modules/logl (Depends-on): Likewise.
46679         * modules/lstat (Depends-on): Likewise.
46680         * modules/mbrlen (Depends-on): Likewise.
46681         * modules/mbrtowc (Depends-on): Likewise.
46682         * modules/mbsinit (Depends-on): Likewise.
46683         * modules/mbsnrtowcs (Depends-on): Likewise.
46684         * modules/mbsrtowcs (Depends-on): Likewise.
46685         * modules/mbtowc (Depends-on): Likewise.
46686         * modules/memcmp (Depends-on): Likewise.
46687         * modules/mkdir (Depends-on): Likewise.
46688         * modules/mkdtemp (Depends-on): Likewise.
46689         * modules/mkfifo (Depends-on): Likewise.
46690         * modules/mkfifoat (Depends-on): Likewise.
46691         * modules/mknod (Depends-on): Likewise.
46692         * modules/mkostemp (Depends-on): Likewise.
46693         * modules/mkostemps (Depends-on): Likewise.
46694         * modules/mkstemp (Depends-on): Likewise.
46695         * modules/mkstemps (Depends-on): Likewise.
46696         * modules/mktime (Depends-on): Likewise.
46697         * modules/nanosleep (Depends-on): Likewise.
46698         * modules/open (Depends-on): Likewise.
46699         * modules/openat (Depends-on): Likewise.
46700         * modules/perror (Depends-on): Likewise.
46701         * modules/poll (Depends-on): Likewise.
46702         * modules/popen (Depends-on): Likewise.
46703         * modules/posix_spawn (Depends-on): Likewise.
46704         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
46705         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
46706         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
46707         * modules/posix_spawnp (Depends-on): Likewise.
46708         * modules/pread (Depends-on): Likewise.
46709         * modules/printf-posix (Depends-on): Likewise.
46710         * modules/ptsname (Depends-on): Likewise.
46711         * modules/putenv (Depends-on): Likewise.
46712         * modules/pwrite (Depends-on): Likewise.
46713         * modules/readline (Depends-on): Likewise.
46714         * modules/readlink (Depends-on): Likewise.
46715         * modules/readlinkat (Depends-on): Likewise.
46716         * modules/recv (Depends-on): Likewise.
46717         * modules/recvfrom (Depends-on): Likewise.
46718         * modules/regex (Depends-on): Likewise.
46719         * modules/remove (Depends-on): Likewise.
46720         * modules/rename (Depends-on): Likewise.
46721         * modules/renameat (Depends-on): Likewise.
46722         * modules/rmdir (Depends-on): Likewise.
46723         * modules/round (Depends-on): Likewise.
46724         * modules/roundf (Depends-on): Likewise.
46725         * modules/roundl (Depends-on): Likewise.
46726         * modules/rpmatch (Depends-on): Likewise.
46727         * modules/select (Depends-on): Likewise.
46728         * modules/send (Depends-on): Likewise.
46729         * modules/sendto (Depends-on): Likewise.
46730         * modules/setenv (Depends-on): Likewise.
46731         * modules/setlocale (Depends-on): Likewise.
46732         * modules/setsockopt (Depends-on): Likewise.
46733         * modules/shutdown (Depends-on): Likewise.
46734         * modules/sigaction (Depends-on): Likewise.
46735         * modules/signbit (Depends-on): Likewise.
46736         * modules/sigprocmask (Depends-on): Likewise.
46737         * modules/sinl (Depends-on): Likewise.
46738         * modules/sleep (Depends-on): Likewise.
46739         * modules/snprintf (Depends-on): Likewise.
46740         * modules/snprintf-posix (Depends-on): Likewise.
46741         * modules/socket (Depends-on): Likewise.
46742         * modules/sprintf-posix (Depends-on): Likewise.
46743         * modules/sqrtl (Depends-on): Likewise.
46744         * modules/stat (Depends-on): Likewise.
46745         * modules/strchrnul (Depends-on): Likewise.
46746         * modules/strdup-posix (Depends-on): Likewise.
46747         * modules/strerror (Depends-on): Likewise.
46748         * modules/strerror_r-posix (Depends-on): Likewise.
46749         * modules/strndup (Depends-on): Likewise.
46750         * modules/strnlen (Depends-on): Likewise.
46751         * modules/strptime (Depends-on): Likewise.
46752         * modules/strsep (Depends-on): Likewise.
46753         * modules/strsignal (Depends-on): Likewise.
46754         * modules/strstr-simple (Depends-on): Likewise.
46755         * modules/strtod (Depends-on): Likewise.
46756         * modules/strtoimax (Depends-on): Likewise.
46757         * modules/strtok_r (Depends-on): Likewise.
46758         * modules/strtoumax (Depends-on): Likewise.
46759         * modules/symlink (Depends-on): Likewise.
46760         * modules/symlinkat (Depends-on): Likewise.
46761         * modules/tanl (Depends-on): Likewise.
46762         * modules/tcgetsid (Depends-on): Likewise.
46763         * modules/tmpfile (Depends-on): Likewise.
46764         * modules/trunc (Depends-on): Likewise.
46765         * modules/truncf (Depends-on): Likewise.
46766         * modules/truncl (Depends-on): Likewise.
46767         * modules/uname (Depends-on): Likewise.
46768         * modules/unlink (Depends-on): Likewise.
46769         * modules/unlockpt (Depends-on): Likewise.
46770         * modules/unsetenv (Depends-on): Likewise.
46771         * modules/usleep (Depends-on): Likewise.
46772         * modules/utimensat (Depends-on): Likewise.
46773         * modules/vasprintf (Depends-on): Likewise.
46774         * modules/vdprintf (Depends-on): Likewise.
46775         * modules/vdprintf-posix (Depends-on): Likewise.
46776         * modules/vfprintf-posix (Depends-on): Likewise.
46777         * modules/vprintf-posix (Depends-on): Likewise.
46778         * modules/vsnprintf (Depends-on): Likewise.
46779         * modules/vsnprintf-posix (Depends-on): Likewise.
46780         * modules/vsprintf-posix (Depends-on): Likewise.
46781         * modules/wcrtomb (Depends-on): Likewise.
46782         * modules/wcscasecmp (Depends-on): Likewise.
46783         * modules/wcscspn (Depends-on): Likewise.
46784         * modules/wcsdup (Depends-on): Likewise.
46785         * modules/wcsncasecmp (Depends-on): Likewise.
46786         * modules/wcsnrtombs (Depends-on): Likewise.
46787         * modules/wcspbrk (Depends-on): Likewise.
46788         * modules/wcsrtombs (Depends-on): Likewise.
46789         * modules/wcsspn (Depends-on): Likewise.
46790         * modules/wcsstr (Depends-on): Likewise.
46791         * modules/wcstok (Depends-on): Likewise.
46792         * modules/wcswidth (Depends-on): Likewise.
46793         * modules/wctob (Depends-on): Likewise.
46794         * modules/wctomb (Depends-on): Likewise.
46795         * modules/wctype (Depends-on): Likewise.
46796         * modules/wcwidth (Depends-on): Likewise.
46797         * modules/write (Depends-on): Likewise.
46799 2011-05-03  Bruno Haible  <bruno@clisp.org>
46801         Support for conditional dependencies.
46802         * doc/gnulib.texi (Module description): Document the syntax of
46803         conditional dependencies.
46804         * gnulib-tool: New option --conditional-dependencies.
46805         (func_usage): Document it.
46806         (cond_dependencies): New variable.
46807         (func_get_automake_snippet_conditional,
46808         func_get_automake_snippet_unconditional): New functions, extracted from
46809         func_get_automake_snippet.
46810         (func_get_automake_snippet): Use them.
46811         (sed_first_32_chars): New variable.
46812         (func_module_shellfunc_name): New function.
46813         (func_module_shellvar_name): New function.
46814         (func_module_conditional_name): New function.
46815         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
46816         func_cond_module_condition): New functions.
46817         (func_modules_transitive_closure): Add support for conditional
46818         dependencies.
46819         (func_emit_lib_Makefile_am): For a conditional module, enclose the
46820         conditional automake snippet in an automake conditional.
46821         (func_emit_autoconf_snippets): Emit shell functions that contain the
46822         code for conditional modules.
46823         (func_import, func_create_testdir): Update specification.
46825 2011-05-03  Eric Blake  <eblake@redhat.com>
46827         test-getaddrinfo: report error information
46828         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
46830 2011-05-03  Jim Meyering  <meyering@redhat.com>
46832         bootstrap: avoid build failure when $GZIP is set
46833         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
46834         program name.  If defined at all, it is supposed to list gzip options.
46835         Reported by Alan Curry in http://debbugs.gnu.org/8609
46837 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
46839         readme-release: new module with release instructions
46840         * modules/readme-release: New module.
46841         * top/README-release: New file, from coreutils, grep, diffutils.
46842         * MODULES.html.sh (Support for maintaining and releasing): Add it.
46844 2011-05-02  Eric Blake  <eblake@redhat.com>
46846         fflush: also replace fclose when fixing fflush
46847         * modules/fflush (Depends-on): Add fclose.
46848         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
46849         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
46850         memstreams with no backing fd.
46851         * doc/posix-functions/fclose.texi (fclose): Document the use of
46852         fflush module to fix the bug.
46853         * tests/test-fclose.c (main): Relax test when fclose is used in
46854         isolation.
46856         fclose: add some tests
46857         * modules/fclose-tests: New test module.
46858         * tests/test-fclose.c: New file.
46859         * doc/posix-functions/fclose.texi (fclose): Document the bug.
46861         fclose: reduced dependencies
46862         * modules/fclose (Depends-on): Switch from fflush/fseeko to
46863         simpler lseek.
46864         * lib/fclose.c (rpl_fclose): Likewise.
46865         Reported by Simon Josefsson.
46867         exit: drop remaining clients
46868         * modules/argmatch (Depends-on): Replace exit with stdlib.
46869         * modules/copy-file (Depends-on): Likewise.
46870         * modules/execute (Depends-on): Likewise.
46871         * modules/exitfail (Depends-on): Likewise.
46872         * modules/obstack (Depends-on): Likewise.
46873         * modules/pagealign_alloc (Depends-on): Likewise.
46874         * modules/pipe-filter-gi (Depends-on): Likewise.
46875         * modules/pipe-filter-ii (Depends-on): Likewise.
46876         * modules/savewd (Depends-on): Likewise.
46877         * modules/spawn-pipe (Depends-on): Likewise.
46878         * modules/wait-process (Depends-on): Likewise.
46879         * modules/xsetenv (Depends-on): Likewise.
46880         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
46881         * modules/git-merge-changelog (Depends-on): Likewise.
46882         * modules/long-options (Depends-on): Likewise.
46883         * modules/pt_chown (Depends-on): Likewise.
46884         * modules/sysexits (Depends-on): Likewise.
46886         freading: relax license from LGPLv3+ to LGPLv2+
46887         * modules/freading (License): Relax LGPL version.
46889 2011-05-02  Bruno Haible  <bruno@clisp.org>
46891         fchdir: Remove unused dependencies.
46892         * modules/fchdir (Depends-on): Remove include_next.
46894 2011-05-02  Bruno Haible  <bruno@clisp.org>
46896         gnulib-tool: Refactor.
46897         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
46898         from func_emit_autoconf_snippets.
46899         (func_emit_autoconf_snippets): Use it.
46901 2011-05-02  Simon Josefsson  <simon@josefsson.org>
46903         * NEWS: Document removal of 'exit'.
46904         * modules/exit: Remove file.
46906 2011-05-01  Bruno Haible  <bruno@clisp.org>
46908         Update DEPENDENCIES.
46909         * DEPENDENCIES (gettext): Recommend the newest release.
46910         Reported by Simon Josefsson.
46912 2011-05-01  Bruno Haible  <bruno@clisp.org>
46914         gnulib-tool: Reduce code duplication.
46915         * gnulib-tool (func_emit_autoconf_snippets): New function.
46916         (func_import, func_create_testdir): Use it.
46918 2011-04-30  Eric Blake  <eblake@redhat.com>
46920         fclose: don't fail on non-seekable input stream
46921         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
46922         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
46923         since fflush is allowed to fail in that case.
46925 2011-04-30  Bruno Haible  <bruno@clisp.org>
46927         dup3: cleanup
46928         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
46930 2011-04-30  Bruno Haible  <bruno@clisp.org>
46932         netdb: Make it work in C++ mode.
46933         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
46934         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
46935         module.
46936         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
46937         gl_MODULE_INDICATOR_FOR_TESTS.
46938         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
46939         * modules/netdb-c++-tests: New file.
46940         * tests/test-netdb-c++.cc: New file.
46942 2011-04-30  Bruno Haible  <bruno@clisp.org>
46944         New modules 'vfscanf', 'vscanf'.
46945         * modules/vfscanf: New file.
46946         * modules/vscanf: New file.
46947         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
46948         here.
46949         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
46950         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
46952 2011-04-30  Bruno Haible  <bruno@clisp.org>
46954         passfd: Add comments.
46955         * lib/passfd.c: Add comments about platforms.
46957 2011-04-30  Bruno Haible  <bruno@clisp.org>
46959         sys_uio: Make <sys/uio.h> self-contained.
46960         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
46961         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
46963 2011-04-30  Bruno Haible  <bruno@clisp.org>
46965         sys_socket: Ensure 'struct iovec' definition.
46966         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
46967         <sys/socket.h>.
46968         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
46970 2011-04-30  Bruno Haible  <bruno@clisp.org>
46972         sys_uio: Protect definition of 'struct iovec'.
46973         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
46974         it as a C struct.
46976 2011-04-30  Bruno Haible  <bruno@clisp.org>
46978         manywarnings: fix indentation
46979         * m4/manywarnings.m4: Indent by 2 spaces consistently.
46981 2011-04-30  Pádraig Brady  <P@draigBrady.com>
46983         manywarnings: add -Wno-missing-field-initializers if needed.
46984         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
46985         option if it's needed to allow initialization with { 0, }
46987 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
46989         announce-gen: cosmetic improvement
46990         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
46992 2011-04-29  Jim Meyering  <meyering@redhat.com>
46994         vc-list-files: indent with spaces, not TABs
46995         * build-aux/vc-list-files: Convert leading TABs to spaces,
46996         to match the style of most other files in gnulib.
46998         announce-gen: indent with spaces, not TABs
46999         * build-aux/announce-gen: Convert all TABs to spaces, to match
47000         the style of most other files in gnulib.
47002 2011-04-29  Eric Blake  <eblake@redhat.com>
47004         quotearg: avoid uninitialized variable use
47005         * lib/quotearg.c (quoting_options_from_style): Initialize
47006         remaining fields, and ensure that custom styles are only used via
47007         quoting_options rather than quoting_style.
47009 2011-04-29  Jim Meyering  <meyering@redhat.com>
47011         maint.mk: remove unused VC-tag variable
47012         * top/maint.mk (VC-tag): Remove unused variable.
47014 2011-04-29  Bruno Haible  <bruno@clisp.org>
47016         netdb: fix gai_strerror replacements
47017         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
47018         * modules/netdb: Substitute it.
47020 2011-04-29  Jim Meyering  <meyering@redhat.com>
47022         test-getcwd.c: avoid new set-but-not-used warning
47023         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
47024         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
47025         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
47026         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
47028         test-hash.c: avoid a new shadowing warning
47029         * tests/test-hash.c (main): Don't shadow "dup".
47031 2011-04-28  Eric Blake  <eblake@redhat.com>
47033         getaddrinfo: fix gai_strerror signature
47034         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
47035         and work around mingw with UNICODE defined.
47036         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
47037         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
47038         * modules/netdb (Makefile.am): Substitute it.
47039         * lib/netdb.in.h (gai_strerror): Declare replacement.
47040         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
47041         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
47042         the fix.
47044         getsockopt: avoid compiler warning
47045         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
47046         Reported by Matthias Bolte.
47048         tests: drop unused link dependency
47049         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
47050         * modules/dirent-safer-tests (Makefile.am): Likewise.
47051         * modules/fdopendir-tests (Makefile.am): Likewise.
47052         * modules/mkfifoat-tests (Makefile.am): Likewise.
47053         * modules/openat-safer-tests (Makefile.am): Likewise.
47054         * modules/openat-tests (Makefile.am): Likewise.
47055         * modules/readlinkat-tests (Makefile.am): Likewise.
47056         * modules/symlinkat-tests (Makefile.am): Likewise.
47057         * modules/linkat-tests (Makefile.am): Likewise.
47058         (Depends-on): Switch to filenamecat-lgpl.
47059         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
47060         LIBINTL.
47061         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
47062         * tests/test-linkat.c (main): Don't require xalloc.
47064         hash, mgetgroups: drop xalloc dependency
47065         * lib/hash.c (includes): Adjust includes.
47066         * lib/mgetgroups.c (includes): Likewise.
47067         (xgetgroups): Move...
47068         * lib/xgetgroups.c: ...to new file.
47069         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
47070         * modules/xgetgroups: New file, split from...
47071         * modules/mgetgroups: ...here.
47072         (Depends-on): Add xalloc-oversized.
47073         * modules/hash (Depends-on): Likewise.
47074         * modules/hash-tests (Depends-on): Drop xalloc.
47075         (test_hash_LDADD): Drop unused library.
47076         * tests/test-hash.c (main): Break xalloc dependency.
47077         (includes): Drop unused include.
47079         xalloc-oversized: new module
47080         * modules/xalloc-oversized: New module.
47081         * modules/xalloc (Depends-on): Add it.
47082         * lib/xalloc.h (xalloc_oversized): Move...
47083         * lib/xalloc-oversized.h: ...into new file.
47085         utimecmp: drop dependency on xmalloc
47086         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
47087         due to memory pressure.
47088         * modules/utimecmp (Depends-on): Drop xalloc.
47090 2011-04-27  Eric Blake  <eblake@redhat.com>
47092         getcwd: fix mingw bugs
47093         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
47094         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
47095         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
47097 2011-04-27  Bruno Haible  <bruno@clisp.org>
47099         mkstemps: Ensure declaration on MacOS X 10.5.
47100         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
47101         * doc/glibc-functions/mkstemps.texi: Document header file problem on
47102         MacOS X.
47104 2011-04-27  Bruno Haible  <bruno@clisp.org>
47106         mkstemp: More documentation.
47107         * doc/posix-functions/mkstemp.texi: Document header file problem on
47108         MacOS X.
47110 2011-04-27  Bruno Haible  <bruno@clisp.org>
47112         mkstemp: Tweak configure message when cross-compiling.
47113         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
47114         result as a guess.
47116 2011-04-27  Bruno Haible  <bruno@clisp.org>
47118         clean-temp: Clarify what it does.
47119         * lib/clean-temp.h: Add more comments.
47120         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
47121         module.
47122         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
47123         * doc/glibc-functions/mkstemps.texi: Likewise.
47124         * doc/glibc-functions/mkostemps.texi: Likewise.
47126 2011-04-27  Eric Blake  <eblake@redhat.com>
47128         fchdir: avoid extra chdir and fix test
47129         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
47130         getcwd-lgpl.
47131         * lib/fchdir.c (get_name): Any absolute name will do; it does not
47132         have to be canonical.
47133         (canonicalize_file_name): Drop unused macro.
47134         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
47136         filenamecat-lgpl: fix licence
47137         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
47138         when it was first created.
47140         linkat, renameat: add missing dependency
47141         * modules/linkat (Depends-on): Require getcwd-lgpl.
47142         * modules/renameat (Depends-on): Likewise.
47144         tests: reduce dependencies
47145         * tests/test-linkat.c (main): Use lighter-weight getcwd.
47146         * tests/test-renameat.c (main): Likewise.
47147         * modules/linkat-tests (Depends-on): Relax dependency.
47148         * modules/renameat-tests (Depends-on): Likewise.
47149         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
47150         dependency explicit.
47152         save-cwd: reduce default dependency
47153         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
47154         * lib/save-cwd.c: Update comments.
47155         * NEWS: Document the semantic change.
47157         getcwd: enhance tests
47158         * tests/test-getcwd-lgpl.c: New file, taken from...
47159         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
47160         repeat long path stress tests from m4 probe.
47161         * modules/getcwd-lgpl-tests: New module.
47162         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
47163         * m4/getcwd-abort-bug.m4: Update comment.
47164         * m4/getcwd-path-max.m4: Likewise.
47166         getcwd-lgpl: new module
47167         * modules/getcwd-lgpl: New module.
47168         * lib/getcwd-lgpl.c: New file.
47169         * doc/posix-functions/getcwd.texi (getcwd): Document it.
47170         * MODULES.html.sh (lacking POSIX:2008): Likewise.
47171         * modules/getcwd (configure.ac): Set C witness.
47172         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
47174         getcwd: tweak comments
47175         * m4/getcwd-abort-bug.m4: Fix comments.
47176         * m4/getcwd-path-max.m4: Likewise.
47177         * m4/getcwd.m4: Likewise.
47179 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
47180         and Eric Blake  <eblake@redhat.com>
47182         mkstemp: replace if system version uses wrong permissions
47183         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
47184         read/write mode bits set in file created by mkstemp.
47185         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
47187 2011-04-27  Eric Blake  <eblake@redhat.com>
47189         passfd: avoid compiler warning
47190         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
47191         Reported by Laine Stump.
47193 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
47195         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
47196         required by the NetBSD (and perhaps other 4.4BSD derived) join.
47198 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
47199         and Eric Blake  <eblake@redhat.com>
47201         mkstemp: mention clean-temp module
47202         * lib/mkstemp.c: Add comment.
47203         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
47205 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
47207         inttypes: also provide default values for 32-bit tests
47208         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
47209         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
47211 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
47213         strtoumax: remove dependency on strtoimax
47214         This is like the strtoull change of yesterday.
47215         * modules/strtoumax (Files): Add lib/strtoimax.c.
47216         (Depends-on): Remove strtoimax and add verify.
47218         inttypes-incomplete: new module
47219         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
47220         all but the PRI* and SCN* parts of gl_INTTYPES_H.
47221         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
47222         of gl_INTTYPES_H.
47223         (gl_INTTYPES_H): Rewrite in terms of these new macros.
47224         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
47225         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
47226         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
47227         * modules/strtoumax, modules/xstrtol (Depends-on):
47228         Depend on inttypes-incomplete, not inttypes.
47229         * modules/inttypes-incomplete: New module, containing the contents
47230         of the old modules/inttypes module, except that the Files: section
47231         omits m4/inttypes-pri.m4, and the configure.ac section invokes
47232         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
47233         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
47234         (Depends-on): Depend only on inttypes-incomplete.
47235         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
47237         inttypes: omit now-redundant strtoimax and strtoumax work
47238         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
47239         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
47241         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
47242         This supports apps that need pointers to strtoimax and strtoumax,
47243         and ports to HP-UX 11.00 64.bit, which has macros that expand to
47244         nonexistent functions.  See
47245         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
47246         et seq.
47247         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
47248         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
47249         a macro.
47250         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
47252 2011-04-25  Simon Josefsson  <simon@josefsson.org>
47254         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
47256 2011-04-25  Bruno Haible  <bruno@clisp.org>
47258         strtol, strtoul: Mark modules as obsolete.
47259         * modules/strtol (Status, Notice): New sections.
47260         * modules/strtoul (Status, Notice): New sections.
47262 2011-04-25  Bruno Haible  <bruno@clisp.org>
47264         strtod: Remove check for strtod, unless supporting old platforms.
47265         * modules/strtod-obsolete: New file.
47266         * m4/strtod-obsolete.m4: New file.
47267         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
47268         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
47269         * modules/strtod (Depends-on): Add strtod-obsolete.
47270         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
47272 2011-04-25  Bruno Haible  <bruno@clisp.org>
47274         strcase: Make module obsolete.
47275         * modules/strcase (Status, Notice): New sections.
47277 2011-04-25  Bruno Haible  <bruno@clisp.org>
47279         dup2: Remove check for dup2, unless supporting old obsolete platforms.
47280         * modules/dup2-obsolete: New file.
47281         * m4/dup2-obsolete.m4: New file.
47282         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
47283         gl_FUNC_DUP2_OBSOLETE is not also defined.
47284         * modules/dup2 (Depends-on): Add dup2-obsolete.
47285         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
47287 2011-04-25  Bruno Haible  <bruno@clisp.org>
47289         strnlen: Avoid memchr related link error on old obsolete platforms.
47290         * modules/memchr-obsolete: New file.
47291         * m4/memchr-obsolete.m4: New file.
47292         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
47293         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
47294         * modules/memchr (Depends-on): Add memchr-obsolete.
47295         * modules/strnlen (Depends-on): Likewise.
47296         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
47298 2011-04-25  Jim Meyering  <meyering@redhat.com>
47300         maint.mk: makefile_at_at_check extend and clean up
47301         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
47302         in addition to */Makefile.am.
47303         Exempt legitimate uses of @VAR@ notation, e.g.,
47304         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
47305         Remove obsolete coreutils-specific comment.
47306         Prompted by discussion here:
47307         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
47309 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47311         strtoul: remove dependency on strtol
47312         This is so that 'configure' need not check for strtol merely because
47313         the application needs strtoul.
47314         * modules/strtoul (Files): Add lib/strtol.c.
47315         (Depends-on): Remove strtol.
47317         strtoull: remove dependency on strtoul
47318         This is like the strtoll change.
47319         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
47320         (Depends-on): Remove strtoul.
47322         strtoll: remove dependency on strtol
47323         This is so that 'configure' need not check for strtol merely because
47324         the application needs strtoll.
47325         * modules/strtoll (Files): Add lib/strtol.c.
47326         (Depends-on): Remove strtol.
47328 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
47330         inttypes: Move some configure check to module 'imaxdiv'.
47331         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
47332         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
47333         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
47335 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
47337         inttypes: Move some configure check to module 'imaxabs'.
47338         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
47339         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
47340         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
47342 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
47344         inttypes: Remove configure tests that are not needed since 2009-12-31.
47345         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
47346         gl_cv_header_working_inttypes_h.
47348 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
47350         * modules/strnlen (Depends-on): Remove memchr.
47351         The strnlen implementation doesn't need the memchr module's fixes; see
47352         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
47354         strtol: remove dependency on wchar
47355         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
47356         * modules/strtol (Depends-on): Remove wchar.
47358 2011-04-21  Eric Blake  <eblake@redhat.com>
47360         passfd: fix test regression on Linux
47361         * modules/passfd-tests (configure.ac): Correct socketpair check.
47363         passfd: speed up configure and drop unused code
47364         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
47365         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
47366         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
47367         Instead of probing at configure for unix_scm_rights_bsd44_way,
47368         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
47369         check to a struct member probe.
47370         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
47371         (sendfd, recvfd): Update preprocessor checks.
47372         * modules/passfd (Files): Reflect rename, and drop unused file.
47373         (Depends-on): Drop unused dependency.
47375         passfd: allow compilation on mingw
47376         * modules/sys_socket (Depends-on): Add sys_uio.
47377         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
47378         iovec and a minimal struct msghdr.
47379         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
47380         * tests/test-sys_socket.c (main): Enhance test.
47381         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
47382         guaranteed to provide what we need.
47383         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
47384         * modules/passfd-tests (Depends-on): Add sys_wait.
47385         * tests/test-passfd.c (main): Skip test on mingw, for now.
47386         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
47387         partial 'struct msghdr' implementation.
47389         sys_uio: new module
47390         * modules/sys_uio: New module.
47391         * modules/sys_uio-tests: Likewise.
47392         * lib/sys_uio.in.h: New file.
47393         * m4/sys_uio_h.m4: Likewise.
47394         * tests/test-sys_uio.c: Likewise.
47395         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
47396         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
47398 2011-04-20  Jim Meyering  <meyering@redhat.com>
47400         useless-if-before-free: avoid false-positive
47401         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
47402         disjunct so that it too requires a terminating ";".  Without that,
47403         this script would identify as useless one statement from gcc that
47404         was not:
47405           if (aligned_ptr)
47406             free (((void **) aligned_ptr) [-1]);
47408 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
47410         doc: update users.txt.
47411         * users.txt: Add barcode.
47413 2011-04-19  Bruno Haible  <bruno@clisp.org>
47415         ioctl: Remove link dependency on native Windows.
47416         * lib/fd-hook.h: Renamed from lib/close-hook.h.
47417         (gl_close_fn, gl_ioctl_fn): New types.
47418         (struct fd_hook): Renamed from struct close_hook. Change type of
47419         private_close_fn field. Add private_ioctl_fn field.
47420         (close_hook_fn): Add parameter for primary close method.
47421         (execute_close_hooks, execute_all_close_hooks): Likewise.
47422         (ioctl_hook_fn): New type.
47423         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
47424         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
47425         argument.
47426         (unregister_fd_hook): Renamed from unregister_close_hook.
47427         * lib/fd-hook.c: Renamed from lib/close-hook.c.
47428         Don't include <unistd.h>.
47429         (close): Remove undef.
47430         (anchor): Update.
47431         (execute_close_hooks): Add argument for primary close method.
47432         (execute_all_close_hooks): Likewise.
47433         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
47434         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
47435         argument. Allow each argument to be NULL.
47436         (unregister_fd_hook): Renamed from unregister_close_hook.
47437         * lib/close.c (rpl_close): Pass 'close' function pointer to
47438         execute_all_close_hooks.
47439         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
47440         (primary_ioctl): New function.
47441         (ioctl): Don't call ioctlsocket here. Instead, call
47442         execute_all_ioctl_hooks.
47443         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
47444         close method.
47445         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
47446         (fd_sockets_hook): Renamed from close_sockets_hook.
47447         (gl_sockets_startup, gl_sockets_cleanup): Update.
47448         * modules/fd-hook: Renamed from modules/close-hook. Update.
47449         * modules/close (Depends-on): Add fd-hook, remove close-hook.
47450         * modules/sockets (Depends-on): Likewise.
47451         * modules/ioctl (Depends-on): Add fd-hook.
47452         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
47453         GNULIB_SOCKET.
47455 2011-04-19  Bruno Haible  <bruno@clisp.org>
47457         Move the support of O_NONBLOCK in open() to the 'open' module.
47458         * modules/nonblocking (Depends-on): Remove 'open'.
47459         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
47460         gl_cv_have_open_O_NONBLOCK.
47461         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
47462         O_NONBLOCK support.
47463         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
47465 2011-04-17  Bruno Haible  <bruno@clisp.org>
47467         pipe2: Simplify code.
47468         * lib/pipe2.c (pipe2): Reduce code duplication.
47470 2011-04-17  Bruno Haible  <bruno@clisp.org>
47472         nonblocking: Add comment.
47473         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
47475 2011-04-17  Bruno Haible  <bruno@clisp.org>
47477         nonblocking: Add tests for sockets.
47478         * tests/test-nonblocking-socket.sh: New file.
47479         * tests/test-nonblocking-socket-main.c: New file.
47480         * tests/test-nonblocking-socket-child.c: New file.
47481         * tests/test-nonblocking-socket.h: New file.
47482         * tests/socket-server.h: New file.
47483         * tests/socket-client.h: New file.
47484         * modules/nonblocking-socket-tests: New file.
47485         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
47487 2011-04-17  Bruno Haible  <bruno@clisp.org>
47489         nonblocking: Add tests for pipes.
47490         * tests/test-nonblocking-pipe.sh: New file.
47491         * tests/test-nonblocking-pipe-main.c: New file.
47492         * tests/test-nonblocking-pipe-child.c: New file.
47493         * tests/test-nonblocking-pipe.h: New file.
47494         * tests/test-nonblocking-writer.h: New file.
47495         * tests/test-nonblocking-reader.h: New file.
47496         * tests/test-nonblocking-misc.h: New file.
47497         * modules/nonblocking-pipe-tests: New file.
47498         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
47500 2011-04-16  Bruno Haible  <bruno@clisp.org>
47502         gettext: Clarify the needed programmer actions.
47503         * modules/gettext (Notice): New field.
47504         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
47506 2011-04-16  Bruno Haible  <bruno@clisp.org>
47508         strchrnul: Tweak last commit.
47509         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
47510         bug.
47511         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
47512         as in _GL_FUNCDECL_SYS.
47513         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
47514         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
47516 2011-04-15  Eric Blake  <eblake@redhat.com>
47518         strchrnul: work around cygwin bug
47519         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
47520         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
47521         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
47522         * modules/string (Makefile.am): Substitute it.
47523         * lib/string.in.h (strchrnul): Use it.
47525 2011-04-15  Bruno Haible  <bruno@clisp.org>
47527         Don't require lib/stdio-write.c when only module 'stdio' is used.
47528         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
47529         invocation.
47530         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
47532 2011-04-14  Bruno Haible  <bruno@clisp.org>
47534         Support non-blocking pipe I/O in read() on native Windows.
47535         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
47536         (read): New declaration.
47537         * lib/read.c: New file.
47538         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
47539         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
47540         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
47541         vscanf): New declarations.
47542         * lib/stdio-read.c: New file.
47543         * m4/read.m4: New file.
47544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
47545         REPLACE_READ.
47546         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
47547         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
47548         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
47549         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
47550         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
47551         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
47552         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
47553         * modules/read: New file.
47554         * modules/nonblocking (Files): Add lib/stdio-read.c.
47555         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
47556         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
47557         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
47558         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
47559         * modules/pread (Depends-on): Add read.
47560         * modules/safe-read (Depends-on): Likewise.
47561         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
47562         gets, scanf, vfscanf, vscanf): Verify signatures.
47563         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
47564         problem with non-blocking pipes.
47565         * doc/posix-functions/fgetc.texi: Likewise.
47566         * doc/posix-functions/fgets.texi: Likewise.
47567         * doc/posix-functions/fread.texi: Likewise.
47568         * doc/posix-functions/fscanf.texi: Likewise.
47569         * doc/posix-functions/getc.texi: Likewise.
47570         * doc/posix-functions/getchar.texi: Likewise.
47571         * doc/posix-functions/gets.texi: Likewise.
47572         * doc/posix-functions/scanf.texi: Likewise.
47573         * doc/posix-functions/vfscanf.texi: Likewise.
47574         * doc/posix-functions/vscanf.texi: Likewise.
47576 2011-04-14  Bruno Haible  <bruno@clisp.org>
47578         Support non-blocking pipe I/O in write() on native Windows.
47579         * lib/write.c (rpl_write): Split a write request that failed merely
47580         because the byte count was larger than the pipe buffer's size.
47581         * doc/posix-functions/write.texi: Mention the problem with large byte
47582         counts.
47584 2011-04-14  Bruno Haible  <bruno@clisp.org>
47586         wchar: Ensure that wchar_t gets defined on uClibc.
47587         * lib/wchar.in.h: On uClibc, include <stddef.h>.
47588         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
47590 2011-04-13  Bruno Haible  <bruno@clisp.org>
47592         safe-write, full-read: Avoid unnecessary compilation units.
47593         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
47594         (Depends-on): Remove safe-read. Add ssize_t.
47595         * modules/full-read (Files): Add lib/full-write.c.
47596         (Depends-on): Add full-write.
47598 2011-04-13  Bruno Haible  <bruno@clisp.org>
47600         Support non-blocking pipe I/O and SIGPIPE in pwrite().
47601         * modules/pwrite (Depends-on): Add 'write'.
47603 2011-04-13  Bruno Haible  <bruno@clisp.org>
47605         Support non-blocking pipe I/O in write() on native Windows.
47606         * lib/unistd.in.h (write): Enable replacement also if
47607         GNULIB_UNISTD_H_NONBLOCKING is 1.
47608         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
47609         (rpl_write): When failing to write on a non-blocking pipe, change
47610         errno from ENOSPC to EAGAIN.
47611         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
47612         putchar, puts, vfprintf, vprintf): Enable replacement also if
47613         GNULIB_STDIO_H_NONBLOCKING is 1.
47614         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
47615         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
47616         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
47617         CALL_WITH_SIGPIPE_EMULATION.
47618         (CALL_WITH_SIGPIPE_EMULATION): Use them.
47619         * m4/nonblocking.m4: New file.
47620         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
47621         for non-blocking I/O support.
47622         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47623         GNULIB_UNISTD_H_NONBLOCKING.
47624         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
47625         required for non-blocking I/O support.
47626         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
47627         * modules/nonblocking (Files): Add m4/nonblocking.m4,
47628         lib/stdio-write.c, m4/asm-underscore.m4.
47629         (Depends-on): Add stdio, unistd.
47630         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
47631         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
47632         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
47633         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
47634         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
47635         problem with non-blocking pipes.
47636         * doc/posix-functions/fputc.texi: Likewise.
47637         * doc/posix-functions/fputs.texi: Likewise.
47638         * doc/posix-functions/fwrite.texi: Likewise.
47639         * doc/posix-functions/printf.texi: Likewise.
47640         * doc/posix-functions/putc.texi: Likewise.
47641         * doc/posix-functions/putchar.texi: Likewise.
47642         * doc/posix-functions/puts.texi: Likewise.
47643         * doc/posix-functions/vfprintf.texi: Likewise.
47644         * doc/posix-functions/vprintf.texi: Likewise.
47645         * doc/posix-functions/write.texi: Likewise.
47647 2011-04-10  Jim Meyering  <meyering@redhat.com>
47649         maint.mk: prohibit doubled words
47650         Detect them also when they're separated by a newline.
47651         There are 3 ways to customize it:
47652           - disable the test on a per file basis, as usual with rules using
47653             $(VC_LIST_EXCEPT)
47654           - replace the default doubled-word-selecting regexp (affects all files)
47655           - ignore a particular file-vs-doubled-word match
47656         I nearly used that last one to ignore the "is is" match in
47657         coreutils' NEWS file, since the text was "ls -is is ..."
47658         To do that, I would have added this line to cfg.mk:
47659           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
47660         but it would have ignored any "is is" match in NEWS.
47661         Low probability, but still...
47662         Instead, I changed the text, slightly:
47663           -  ls -is is now consistent with ls -lis in ignoring values returned
47664           +  "ls -is" is now consistent with ls -lis in ignoring values returned
47665         * top/maint.mk (prohibit_double_word_RE_): Provide default.
47666         (prohibit_doubled_word_): Define.
47667         (sc_prohibit_doubled_word): New rule.
47668         (sc_prohibit_the_the): Remove.  Subsumed by the above.
47670 2011-04-10  Jim Meyering  <meyering@redhat.com>
47672         maint: fix doubled-word typo in comment
47673         * m4/gethostname.m4: s/is is/it is/
47674         * m4/getdomainname.m4: Likewise.
47676 2011-04-10  Jim Meyering  <meyering@redhat.com>
47678         maint: remove doubled word: s/it it/it/
47679         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
47681 2011-04-10  Jim Meyering  <meyering@redhat.com>
47683         maint.mk: remove useless semicolon and backslash
47684         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
47685         semicolon and backslash.
47687 2011-04-10  Bruno Haible  <bruno@clisp.org>
47689         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
47690         * modules/stdint-tests (Depends-on): Add wchar.
47692 2011-04-10  Jim Meyering  <meyering@redhat.com>
47694         maint: remove doubled words in comments, e.g., s/a a/a/
47695         * lib/strptime.c (day_of_the_week): s/the the/the/
47696         * tests/test-chown.h (test_chown): s/a a/a/
47698         test-chown.h: correct a cast
47699         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
47700         when the destination is a stat.st_gid.
47702 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
47704         getaddrinfo: Fix test for sa_len member.
47705         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
47706         include <sys/types.h> before <sys/socket.h>.
47708 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
47710         maint: change "can not" to "cannot"
47711         * doc/posix-functions/iconv.texi (iconv): This one crossed line
47712         boundaries.
47714 2011-04-09  Jim Meyering  <meyering@redhat.com>
47716         maint: change "a a" to "a"
47717         * tests/test-lchown.h (test_lchown): s/a a/a/
47719         maint.mk: prohibit \<the the\>
47720         * top/maint.mk (sc_prohibit_the_the): New rule.
47722         maint: fix "the the" in comment
47723         * lib/count-one-bits.h: s/the the/the/
47725         maint: change "can not" to "cannot"
47726         But do not change the occurrences in maintain.texi or in
47727         build-aux/po/Makefile.in.in, which I presume comes from gettext.
47728         * doc/gnulib-tool.texi: s/can not/cannot/
47729         * doc/posix-functions/accept.texi (accept): Likewise.
47730         * doc/posix-functions/socket.texi (socket): Likewise.
47731         * lib/mbrtowc.c: Likewise.
47733         maint.mk: prohibit use of "can not"
47734         * top/maint.mk (sc_prohibit_can_not): New rule.
47735         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
47737 2011-04-09  Bruno Haible  <bruno@clisp.org>
47739         careadlinkat: Guard against misuse of careadlinkatcwd.
47740         * lib/careadlinkat.c: Include <stdlib.h>.
47741         (careadlinkatcwd): Check that the fd argument is as expected.
47743 2011-04-09  Bruno Haible  <bruno@clisp.org>
47745         careadlinkat: Use common coding style.
47746         * lib/careadlinkat.c: Move gnulib includes after system includes.
47748 2011-04-09  Bruno Haible  <bruno@clisp.org>
47750         careadlinkat: Clarify specification.
47751         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
47752         (careadlinkatcwd): Add comment.
47753         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
47755 2011-04-09  Bruno Haible  <bruno@clisp.org>
47757         areadlinkat: Avoid link error on many platforms.
47758         * modules/areadlinkat (Depends-on): Add areadlink.
47760 2011-04-09  Bruno Haible  <bruno@clisp.org>
47762         allocator, careadlinkat: Fix double-inclusion guard.
47763         * lib/allocator.h: Fix double-inclusion guard.
47764         * lib/careadlinkat.h: Likewise.
47766 2011-04-09  Bruno Haible  <bruno@clisp.org>
47768         relocatable-prog-wrapper: Update after module 'areadlink' changed.
47769         * lib/relocwrapper.c: Update dependencies hierarchy.
47770         * build-aux/install-reloc: Update list of files to be compiled.
47771         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
47772         lib/allocator.[hc].
47774 2011-04-08  Eric Blake  <eblake@redhat.com>
47776         strftime: silence gnulib-tool warning
47777         * modules/strftime-tests (Depends-on): Drop automatic dependency.
47779 2011-04-08  Bruno Haible  <bruno@clisp.org>
47781         verify: Fix syntax error with GCC 4.6 in C++ mode.
47782         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
47783         (HAVE_STATIC_ASSERT): New macro.
47784         (verify_true, verify): Use 'static_assert' if it is supported and
47785         '_Static_assert' is not supported.
47787 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
47789         allocator: New module.
47790         * modules/allocator, lib/allocator.c: New files.
47791         * lib/allocator.h (stdlib_allocator): New decl.
47792         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
47793         Remove.  Do not include <stdlib.h>.
47794         (careadlinkat): Use stdlib_allocator instead of rolling our own.
47795         * modules/careadlinkat (Files): Remove lib/allocator.h.
47796         (Depends-on): Add allocator.
47798         stdlib: let modules use system malloc, realloc
47799         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
47800         if !_GL_USE_STDLIB_ALLOC.
47801         (malloc, realloc): Limit this change to a smaller scope.
47803         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
47804         (malloc, realloc): Don't #undef; no longer needed.
47805         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
47806         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
47807         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
47808         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
47809         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
47810         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
47811         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
47812         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
47814         careadlinkat: rename members to avoid problem
47815         * lib/allocator.h (struct allocator): Rename members from
47816         malloc/realloc to allocate/reallocate, to avoid problems if malloc
47817         and realloc are #define'd.  Reported by Eric Blake in
47818         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
47819         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
47821 2011-04-08  Eric Blake  <eblake@redhat.com>
47823         nonblocking: reduce dependency
47824         * tests/test-nonblocking.c: Only test sockets when in use.
47825         * modules/nonblocking-tests (Depends-on): Drop socket.
47826         (Makefile.am): Link even if sockets are not present.
47827         * modules/pipe2-tests (Makefile.am): Likewise.
47828         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
47830         pipe2: fix O_NONBLOCK support on mingw
47831         * modules/pipe2 (Depends-on): Add nonblocking.
47832         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
47833         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
47834         * tests/test-nonblocking.c (main): Likewise.
47835         * modules/pipe2-tests (Makefile.am): Avoid link failure.
47837         fcntl-h: fix O_ACCMODE on cygwin
47838         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
47839         * lib/fcntl.in.h (O_ACCMODE): Fix it.
47841         pipe-filter: drop O_NONBLOCK workarounds
47842         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
47843         * modules/pipe-filter-ii (Depends-on): Likewise.
47844         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
47846         nonblocking: provide O_NONBLOCK for mingw
47847         * modules/nonblocking (Depends-on): Add open.
47848         (configure.ac): Set new witness macro.
47849         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
47850         * modules/fcntl-h (Makefile.am): Substitute it.
47851         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
47852         nonblocking module is in use.
47853         * lib/nonblocking.c: Adjust portability test.
47854         * lib/open.c (open): Don't let native open see gnulib flag.
47855         * tests/test-fcntl-h.c (main): Enhance test.
47856         * tests/test-open.h (test_open): Likewise.
47857         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
47859         careadlinkat: fix compilation error on mingw
47860         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
47861         within struct allocator.
47863 2011-04-06  Eric Blake  <eblake@redhat.com>
47865         binary-io: relicense under LGPLv2+
47866         * modules/binary-io (License): Relax to LGPLv2+.
47867         Requested for libvirt, and required by pipe2.
47869 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
47871         verify: use _Static_assert if available
47872         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
47873         (verify_true, verify): Use it if available.  This generates better
47874         diagnostics with GCC 4.6.0 and later.
47876 2011-04-05  Bruno Haible  <bruno@clisp.org>
47878         Remove leftover generated .h files after config.status changed.
47880         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
47881         GL_GENERATE_ALLOCA_H.
47882         * modules/alloca-opt (Makefile.am): Remove alloca.h if
47883         GL_GENERATE_ALLOCA_H evaluates to false.
47885         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
47886         GL_GENERATE_ARGZ_H.
47887         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
47888         evaluates to false.
47890         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
47891         GL_GENERATE_BYTESWAP_H.
47892         * modules/byteswap (Makefile.am): Remove byteswap.h if
47893         GL_GENERATE_BYTESWAP_H evaluates to false.
47895         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
47896         GL_GENERATE_ERRNO_H.
47897         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
47898         evaluates to false.
47900         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
47901         GL_GENERATE_FLOAT_H.
47902         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
47903         evaluates to false.
47905         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
47906         GL_GENERATE_FNMATCH_H.
47907         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
47908         GL_GENERATE_FNMATCH_H evaluates to false.
47910         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
47911         GL_GENERATE_GLOB_H.
47912         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
47913         evaluates to false.
47915         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
47916         automake conditional GL_GENERATE_ICONV_H.
47917         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
47918         evaluates to false.
47920         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
47921         GL_GENERATE_NETINET_IN_H.
47922         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
47923         GL_GENERATE_NETINET_IN_H evaluates to false.
47925         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
47926         conditional GL_GENERATE_PTHREAD_H.
47927         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
47928         * modules/pthread (Makefile.am): Remove pthread.h if
47929         GL_GENERATE_PTHREAD_H evaluates to false.
47931         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
47932         GL_GENERATE_SCHED_H.
47933         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
47934         evaluates to false.
47936         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
47937         conditional GL_GENERATE_SELINUX_CONTEXT_H.
47938         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
47939         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
47941         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
47942         GL_GENERATE_STDARG_H.
47943         * modules/stdarg (Makefile.am): Remove stdarg.h if
47944         GL_GENERATE_STDARG_H evaluates to false.
47946         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
47947         GL_GENERATE_STDBOOL_H.
47948         * modules/stdbool (Makefile.am): Remove stdbool.h if
47949         GL_GENERATE_STDBOOL_H evaluates to false.
47951         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
47952         conditional GL_GENERATE_STDDEF_H.
47953         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
47954         * modules/stddef (Makefile.am): Remove stddef.h if
47955         GL_GENERATE_STDDEF_H evaluates to false.
47957         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
47958         GL_GENERATE_STDINT_H.
47959         * modules/stdint (Makefile.am): Remove stdint.h if
47960         GL_GENERATE_STDINT_H evaluates to false.
47962         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
47963         GL_GENERATE_SYSEXITS_H.
47964         * modules/sysexits (Makefile.am): Remove sysexits.h if
47965         GL_GENERATE_SYSEXITS_H evaluates to false.
47967         Reported by Karl Berry and Ralf Wildenhues.
47969 2011-04-05  Bruno Haible  <bruno@clisp.org>
47971         Ensure to rebuild generated .h files when config.status has changed.
47972         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
47973         config.status.
47974         * modules/ctype (Makefile.am): Likewise.
47975         * modules/dirent (Makefile.am): Likewise.
47976         * modules/errno (Makefile.am): Likewise.
47977         * modules/fcntl-h (Makefile.am): Likewise.
47978         * modules/float (Makefile.am): Likewise.
47979         * modules/getopt-posix (Makefile.am): Likewise.
47980         * modules/glob (Makefile.am): Likewise.
47981         * modules/iconv-h (Makefile.am): Likewise.
47982         * modules/inttypes (Makefile.am): Likewise.
47983         * modules/langinfo (Makefile.am): Likewise.
47984         * modules/locale (Makefile.am): Likewise.
47985         * modules/math (Makefile.am): Likewise.
47986         * modules/netdb (Makefile.am): Likewise.
47987         * modules/netinet_in (Makefile.am): Likewise.
47988         * modules/poll-h (Makefile.am): Likewise.
47989         * modules/pthread (Makefile.am): Likewise.
47990         * modules/pty (Makefile.am): Likewise.
47991         * modules/sched (Makefile.am): Likewise.
47992         * modules/search (Makefile.am): Likewise.
47993         * modules/selinux-h (Makefile.am): Likewise.
47994         * modules/signal (Makefile.am): Likewise.
47995         * modules/spawn (Makefile.am): Likewise.
47996         * modules/stdarg (Makefile.am): Likewise.
47997         * modules/stdbool (Makefile.am): Likewise.
47998         * modules/stddef (Makefile.am): Likewise.
47999         * modules/stdint (Makefile.am): Likewise.
48000         * modules/stdio (Makefile.am): Likewise.
48001         * modules/stdlib (Makefile.am): Likewise.
48002         * modules/string (Makefile.am): Likewise.
48003         * modules/strings (Makefile.am): Likewise.
48004         * modules/sys_file (Makefile.am): Likewise.
48005         * modules/sys_ioctl (Makefile.am): Likewise.
48006         * modules/sys_select (Makefile.am): Likewise.
48007         * modules/sys_socket (Makefile.am): Likewise.
48008         * modules/sys_stat (Makefile.am): Likewise.
48009         * modules/sys_time (Makefile.am): Likewise.
48010         * modules/sys_times (Makefile.am): Likewise.
48011         * modules/sys_utsname (Makefile.am): Likewise.
48012         * modules/sys_wait (Makefile.am): Likewise.
48013         * modules/sysexits (Makefile.am): Likewise.
48014         * modules/termios (Makefile.am): Likewise.
48015         * modules/time (Makefile.am): Likewise.
48016         * modules/unistd (Makefile.am): Likewise.
48017         * modules/wchar (Makefile.am): Likewise.
48018         * modules/wctype-h (Makefile.am): Likewise.
48019         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
48021 2011-04-05  Bruno Haible  <bruno@clisp.org>
48023         pipe2: Relicense under LGPLv2+.
48024         * modules/pipe2 (License): Change to LGPLv2+.
48025         Requested by Eric Blake, for libvirt.
48027 2011-04-05  Bruce Korb  <bkorb@gnu.org>
48029         bootstrap: compute gnulib_extra_files after updating build_aux
48030         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
48031         change build_aux or also supply gnulib_extra_files.  Handle correctly.
48033 2011-04-05  Eric Blake  <eblake@redhat.com>
48035         bootstrap: preserve git whitelist item sorting
48036         * build-aux/bootstrap (sort_patterns): New function.
48037         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
48039 2011-04-05  Simon Josefsson  <simon@josefsson.org>
48041         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
48042         sc_space_tab check.
48044 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
48046         areadlink, areadlinkat: rewrite in terms of careadlinkat
48047         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
48048         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
48049         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
48050         (malloc, realloc): Remove #undefs.
48051         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
48052         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
48053         readlink, ssize_t, stdint, unistd.
48054         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
48055         areadlink, stdint.
48057         careadlinkat: new module
48058         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
48059         * modules/careadlinkat: New files, written by me with
48060         a review and feedback from Ben Pfaff in
48061         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
48063 2011-04-01  Bruno Haible  <bruno@clisp.org>
48065         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
48066         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
48067         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
48068         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
48069         Reported by Bruce Korb <bruce.korb@gmail.com>.
48071 2011-04-01  Bruno Haible  <bruno@clisp.org>
48073         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
48074         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
48075         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
48076         * modules/wcpcpy (Depends-on): Add extensions.
48077         * modules/wcpncpy (Depends-on): Likewise.
48078         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
48079         systems.
48080         * doc/posix-functions/wcpncpy.texi: Likewise.
48081         * doc/posix-functions/wcwidth.texi: Likewise.
48083 2011-03-31  Eric Blake  <eblake@redhat.com>
48085         nonblocking: fix mingw test failures
48086         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
48087         non-blocking flag on regular file.
48088         (get_nonblocking_flag): Set errno on invalid fd.
48089         * tests/test-nonblocking.c (main): Avoid test failure on
48090         directories if fchdir is not active.
48091         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
48093 2011-03-31  Bruno Haible  <bruno@clisp.org>
48095         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
48096         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
48097         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
48098         Reported by Simon Josefsson <simon@josefsson.org>.
48100 2011-03-31  Bruno Haible  <bruno@clisp.org>
48101         and Eric Blake  <eblake@redhat.com>
48103         nonblocking: new module
48104         * modules/nonblocking: New module.
48105         * modules/nonblocking-tests: Likewise.
48106         * lib/nonblocking.h: New file.
48107         * lib/nonblocking.c: Likewise.
48108         * tests/test-nonblocking.c: New test.
48109         * lib/ioctl.c (ioctl) [mingw]: Update comment.
48111 2011-03-30  Bruno Haible  <bruno@clisp.org>
48113         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
48114         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
48115         instead of 'printf' format for GCC >= 4.4.
48116         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
48117         (fprintf, printf, vfprintf, vprintf): Declare with
48118         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
48119         the system's vfprintf() function.
48120         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
48122 2011-03-30  Eric Blake  <eblake@redhat.com>
48124         passfd: fix scoping bug
48125         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
48126         before sendmsg/recvmsg.
48128         passfd: standardize coding conventions
48129         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
48130         can be learned at compile time.
48131         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
48132         ifdefs.
48133         (sendfd, recvfd): Follow gnulib code conventions.
48135         passfd: fix incorrect sendmsg arguments
48136         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
48137         incorrect msg_controllen value.
48138         * modules/passfd-tests (Depends-on): Check for alarm.
48139         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
48140         Reported by Bastien ROUCARIES.
48142 2011-03-30  Bruno Haible  <bruno@clisp.org>
48144         c-strcasestr: Relicense under LGPLv2+.
48145         * modules/c-strcasestr (License): Change to LGPLv2+.
48146         Requested by Eric Blake, for libvirt.
48148 2011-03-30  Simon Josefsson  <simon@josefsson.org>
48150         * users.txt: Add libidn2.  Fix libtasn1 link.
48152 2011-03-30  Jim Meyering  <meyering@redhat.com>
48154         tests: readlink* ("",... fails with EINVAL on newer kernels
48155         readlink and readlinkat have typically failed with ENOENT for
48156         the invalid, empty file name,  "".  However, with the advent
48157         of linux-2.6.39, they fail with EINVAL.
48158         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
48159         when operating on the empty file name.
48160         * tests/test-readlink.h (test_readlink): Likewise.
48162 2011-03-29  Bruno Haible  <bruno@clisp.org>
48164         Relicense some modules under LGPLv2+, for libidn2.
48165         * modules/array-mergesort (License): Change to LGPLv2+.
48166         * modules/c-strcaseeq (License): Likewise.
48167         * modules/striconveh (License): Likewise.
48168         * modules/striconveha (License): Likewise.
48169         * modules/uniconv/base (License): Likewise.
48170         * modules/uniconv/u8-conv-from-enc (License): Likewise.
48171         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
48172         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
48173         * modules/unictype/base (License): Likewise.
48174         * modules/unictype/bidiclass-of (License): Likewise.
48175         * modules/unictype/category-M (License): Likewise.
48176         * modules/unictype/category-none (License): Likewise.
48177         * modules/unictype/category-of (License): Likewise.
48178         * modules/unictype/category-test (License): Likewise.
48179         * modules/unictype/category-test-withtable (License): Likewise.
48180         * modules/unictype/combining-class (License): Likewise.
48181         * modules/unictype/joiningtype-of (License): Likewise.
48182         * modules/unictype/scripts (License): Likewise.
48183         * modules/uninorm/base (License): Likewise.
48184         * modules/uninorm/canonical-decomposition (License): Likewise.
48185         * modules/uninorm/composition (License): Likewise.
48186         * modules/uninorm/decompose-internal (License): Likewise.
48187         * modules/uninorm/decomposition-table (License): Likewise.
48188         * modules/uninorm/nfc (License): Likewise.
48189         * modules/uninorm/nfd (License): Likewise.
48190         * modules/uninorm/u32-normalize (License): Likewise.
48191         * modules/unistr/base (License): Likewise.
48192         * modules/unistr/u32-cpy (License): Likewise.
48193         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
48194         * modules/unistr/u32-to-u8 (License): Likewise.
48195         * modules/unistr/u32-uctomb (License): Likewise.
48196         * modules/unistr/u8-check (License): Likewise.
48197         * modules/unistr/u8-mblen (License): Likewise.
48198         * modules/unistr/u8-mbtouc (License): Likewise.
48199         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
48200         * modules/unistr/u8-mbtoucr (License): Likewise.
48201         * modules/unistr/u8-prev (License): Likewise.
48202         * modules/unistr/u8-strlen (License): Likewise.
48203         * modules/unistr/u8-to-u32 (License): Likewise.
48204         * modules/unistr/u8-uctomb (License): Likewise.
48205         * modules/unitypes (License): Likewise.
48206         Requested by Simon Josefsson.
48208 2011-03-29  Simon Josefsson  <simon@josefsson.org>
48210         lib-symbol-visibility: Add a notice.
48211         * modules/lib-symbol-visibility (Notice): New field.
48213 2011-03-29  Bruno Haible  <bruno@clisp.org>
48215         getaddrinfo: Doc fix.
48216         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
48217         section "fixed in Gnulib".
48219 2011-03-28  Simon Josefsson  <simon@josefsson.org>
48221         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
48222         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
48224 2011-03-26  Bruno Haible  <bruno@clisp.org>
48226         unictype/property-byname: Reduce the number of load-time relocations.
48227         * lib/unictype/pr_byname.c: Include <stdlib.h>.
48228         (UC_PROPERTY_INDEX_*): New enumeration values.
48229         (uc_property_byname): Convert an index from the lookup table to an
48230         uc_property_t.
48231         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
48232         values.
48234 2011-03-26  Bruno Haible  <bruno@clisp.org>
48236         unictype/property-byname: Allow omitted word separators and aliases.
48237         * lib/unictype/pr_byname.gperf: Add property names without word
48238         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
48239         for 'space'.
48241 2011-03-26  Bruno Haible  <bruno@clisp.org>
48243         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
48244         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
48245         also hyphens to space.
48246         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
48247         without spaces.
48248         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
48250 2011-03-26  Bruno Haible  <bruno@clisp.org>
48252         unictype/joiningtype-byname: Recognize long names as well.
48253         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
48254         a long name.
48255         * lib/unictype/joiningtype_byname.c: Include <string.h>,
48256         unictype/joiningtype_byname.h.
48257         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
48258         * lib/unictype/joiningtype_byname.gperf: New file.
48259         * modules/unictype/joiningtype-byname (Files): Add
48260         lib/unictype/joiningtype_byname.gperf.
48261         (Depends-on): Add gperf.
48262         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
48263         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
48264         long names.
48266         Tests for module 'unictype/joiningtype-longname'.
48267         * modules/unictype/joiningtype-longname-tests: New file.
48268         * tests/unictype/test-joiningtype_longname.c: New file.
48270         New module 'unictype/joiningtype-longname'.
48271         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
48272         * lib/unictype/joiningtype_longname.c: New file.
48273         * modules/unictype/joiningtype-longname: New file.
48274         * modules/unictype/joiningtype-all (Depends-on): Add
48275         unictype/joiningtype-longname.
48277 2011-03-26  Bruno Haible  <bruno@clisp.org>
48279         unictype/bidiclass-byname: Recognize long names as well.
48280         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
48281         name.
48282         * lib/unictype/bidi_byname.c: Include <string.h>,
48283         unictype/bidi_byname.h.
48284         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
48285         * lib/unictype/bidi_byname.gperf: New file.
48286         * modules/unictype/bidiclass-byname (Files): Add
48287         lib/unictype/bidi_byname.gperf.
48288         (Depends-on): Add gperf.
48289         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
48290         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
48291         long names.
48293         Tests for module 'unictype/bidiclass-longname'.
48294         * modules/unictype/bidiclass-longname-tests: New file.
48295         * tests/unictype/test-bidi_longname.c: New file.
48297         New module 'unictype/bidiclass-longname'.
48298         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
48299         * lib/unictype/bidi_longname.c: New file.
48300         * modules/unictype/bidiclass-longname: New file.
48301         * modules/unictype/bidiclass-all (Depends-on): Add
48302         unictype/bidiclass-longname.
48304 2011-03-26  Bruno Haible  <bruno@clisp.org>
48306         unictype/bidi*: Rename modules.
48307         * modules/unictype/bidiclass-all: Renamed from
48308         modules/unictype/bidicategory-all.
48309         * modules/unictype/bidiclass-name: Renamed from
48310         modules/unictype/bidiclass-name.
48311         (Description): Update.
48312         * modules/unictype/bidiclass-name-tests: Renamed from
48313         modules/unictype/bidicategory-name-tests.
48314         * modules/unictype/bidiclass-byname: Renamed from
48315         modules/unictype/bidicategory-byname.
48316         (Description): Update.
48317         * modules/unictype/bidiclass-byname-tests: Renamed from
48318         modules/unictype/bidicategory-byname-tests.
48319         * modules/unictype/bidiclass-of: Renamed from
48320         modules/unictype/bidicategory-of.
48321         (Description): Update.
48322         * modules/unictype/bidiclass-of-tests: Renamed from
48323         modules/unictype/bidicategory-of-tests.
48324         * modules/unictype/bidiclass-test: Renamed from
48325         modules/unictype/bidicategory-test.
48326         (Description): Update.
48327         * modules/unictype/bidiclass-test-tests: Renamed from
48328         modules/unictype/bidicategory-test-tests.
48329         * modules/unictype/bidicategory-all: New file, a simple redirection.
48330         * modules/unictype/bidicategory-name: Likewise.
48331         * modules/unictype/bidicategory-byname: Likewise.
48332         * modules/unictype/bidicategory-of: Likewise.
48333         * modules/unictype/bidicategory-test: Likewise.
48334         * modules/unictype/property-bidi-* (Dependencies): Update.
48335         * lib/unictype/bidi_*.c: Update comment.
48337 2011-03-26  Bruno Haible  <bruno@clisp.org>
48339         unictype/bidi*: Rename functions, part 2.
48340         * modules/unictype/bidicategory-name (configure.ac): Update required
48341         libunistring version.
48342         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
48344 2011-03-25  Bruno Haible  <bruno@clisp.org>
48346         New module 'unictype/combining-class-all'.
48347         * modules/unictype/combining-class-all: New file.
48349         Tests for module 'unictype/combining-class-byname'.
48350         * modules/unictype/combining-class-byname-tests: New file.
48351         * tests/unictype/test-combiningclass_byname.c: New file.
48353         New module 'unictype/combining-class-byname'.
48354         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
48355         * lib/unictype/combiningclass_byname.c: New file.
48356         * lib/unictype/combiningclass_byname.gperf: New file.
48357         * modules/unictype/combining-class-byname: New file.
48359         Tests for module 'unictype/combining-class-longname'.
48360         * modules/unictype/combining-class-longname-tests: New file.
48361         * tests/unictype/test-combiningclass_longname.c: New file.
48363         New module 'unictype/combining-class-longname'.
48364         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
48365         * lib/unictype/combiningclass_longname.c: New file.
48366         * modules/unictype/combining-class-longname: New file.
48368         Tests for module 'unictype/combining-class-name'.
48369         * modules/unictype/combining-class-name-tests: New file.
48370         * tests/unictype/test-combiningclass_name.c: New file.
48372         New module 'unictype/combining-class-name'.
48373         * lib/unictype.in.h (uc_combining_class_name): New declaration.
48374         * lib/unictype/combiningclass_name.c: New file.
48375         * modules/unictype/combining-class-name: New file.
48377 2011-03-25  Bruno Haible  <bruno@clisp.org>
48379         unictype/combining-class: Rename source files.
48380         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
48381         of unictype/combining.h.
48382         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
48383         Update.
48384         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
48385         * modules/unictype/combining-class (Description): Fix.
48386         (Files, Makefile.am): Update.
48387         * tests/unictype/test-combiningclass.c: Renamed from
48388         tests/unictype/test-combining.c.
48389         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
48391 2011-03-25  Bruno Haible  <bruno@clisp.org>
48393         unictype: Update list of canonical combining classes.
48394         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
48396 2011-03-25  Bruno Haible  <bruno@clisp.org>
48398         unictype/category-byname: Recognize long names as well.
48399         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
48400         a long name.
48401         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
48402         unictype/categ_byname.h.
48403         (UC_CATEGORY_INDEX_*): New enumeration values.
48404         (uc_general_category_byname): Use uc_general_category_lookup and
48405         convert from index to value.
48406         * lib/unictype/categ_byname.gperf: New file.
48407         * modules/unictype/category-byname (Files): Add
48408         lib/unictype/categ_byname.gperf.
48409         (Depends-on): Add gperf.
48410         (Makefile.am): Add rule for generating unictype/categ_byname.h.
48411         * tests/unictype/test-categ_byname.c (main): Test the recognition of
48412         long names.
48414         Tests for module 'unictype/category-longname'.
48415         * modules/unictype/category-longname-tests: New file.
48416         * tests/unictype/test-categ_longname.c: New file.
48418         New module 'unictype/category-longname'.
48419         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
48420         * lib/unictype/categ_longname.c: New file.
48421         * modules/unictype/category-longname: New file.
48422         * modules/unictype/category-all (Depends-on): Add it.
48424 2011-03-25  Bruno Haible  <bruno@clisp.org>
48426         Tests for module 'unictype/category-LC'.
48427         * modules/unictype/category-LC-tests: New file.
48428         * tests/unictype/test-categ_LC.c: New file, automatically generated.
48430         New module 'unictype/category-LC'.
48431         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
48432         (UC_CATEGORY_LC): New declaration.
48433         (UC_CASED_LETTER): New macro.
48434         * lib/gen-uni-tables.c (is_category_LC): New function.
48435         (output_categories): Also handle category LC.
48436         (UC_CATEGORY_MASK_LC): New enumeration value.
48437         (general_category_byname): Also handle category LC.
48438         * lib/unictype/categ_LC.c: New file.
48439         * lib/unictype/categ_LC.h: New file, automatically generated.
48440         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
48441         category LC.
48442         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
48443         * modules/unictype/category-LC: New file.
48444         * modules/unictype/category-byname (Depends-on): Add
48445         unictype/category-LC.
48446         * modules/unictype/category-all (Depends-on): Likewise.
48448 2011-03-25  Eric Blake  <eblake@redhat.com>
48450         xmalloc: revert yesterday's regression
48451         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
48452         realloc's underlying behavior (allowing allocation of zero-size
48453         objects, especially if malloc-gnu is also in use).
48455 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
48457         maint.mk: add missing version to VC-tag
48458         * top/maint.mk: git tag was missing actual tag name; add it.
48460         valgrind: do leak checking, and exit with code 1 on error (not 0)
48461         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
48462         to VALGRIND.
48464 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
48466         posix-modules: say what it does.
48467         * posix-modules: Add a line to the --help output saying what it does.
48469 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
48471         xmalloc: Do not leak if underlying realloc is C99 compatible.
48472         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
48473         This avoids a leak on C99-based systems.  See
48474         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
48476 2011-03-24  Eric Blake  <eblake@redhat.com>
48478         realloc: document portability problem
48479         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
48480         passing 0 size to realloc.
48482 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
48484         doc: update users.txt
48485         * users.txt: Add cvsps, tmpwatch
48487 2011-03-23  Matt Rice  <ratmice@gmail.com>
48489         doc: update users.txt
48490         * users.txt: Add gdb.
48492 2011-03-23  Jim Meyering  <meyering@redhat.com>
48494         doc: update users.txt
48495         Looking through matches up to the following URL (there are still
48496         several more pages), I found several projects that use gnulib:
48497         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
48498         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
48499         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
48501 2011-03-22  Bruno Haible  <bruno@clisp.org>
48503         unictype/bidi*: Rename functions.
48504         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
48505         uc_bidi_class, uc_is_bidi_class): New declarations.
48506         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
48507         uc_bidi_category_byname.
48508         (uc_bidi_category_byname): New function.
48509         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
48510         u_bidi_category_name.
48511         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
48512         (uc_bidi_category_name): New function.
48513         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
48514         uc_bidi_category.
48515         (uc_bidi_category): New function.
48516         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
48517         uc_is_bidi_category. Invoke uc_bidi_class.
48518         (uc_is_bidi_category): New function.
48519         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
48520         instead of uc_bidi_category_byname.
48521         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
48522         instead of uc_bidi_category_name.
48523         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
48524         uc_bidi_category.
48525         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
48526         instead of uc_is_bidi_category.
48528 2011-03-21  Bruno Haible  <bruno@clisp.org>
48530         New module 'unictype/joininggroup-all'.
48531         * modules/unictype/joininggroup-all: New file.
48533         Tests for module 'unictype/joininggroup-of'.
48534         * modules/unictype/joininggroup-of-tests: New file.
48535         * tests/unictype/test-joininggroup_of.c: New file.
48536         * tests/unictype/test-joininggroup_of.h: New file, automatically
48537         generated by gen-uni-tables.
48539         New module 'unictype/joininggroup-of'.
48540         * modules/unictype/joininggroup-of: New file.
48541         * lib/unictype/joininggroup_of.c: New file.
48542         * lib/unictype/joininggroup_of.h: New file, automatically generated by
48543         gen-uni-tables.
48545         Tests for module 'unictype/joininggroup-byname'.
48546         * modules/unictype/joininggroup-byname-tests: New file.
48547         * tests/unictype/test-joininggroup_byname.c: New file.
48549         New module 'unictype/joininggroup-byname'.
48550         * modules/unictype/joininggroup-byname: New file.
48551         * lib/unictype/joininggroup_byname.c: New file.
48552         * lib/unictype/joininggroup_byname.gperf: New file.
48554         Tests for module 'unictype/joininggroup-name'.
48555         * modules/unictype/joininggroup-name-tests: New file.
48556         * tests/unictype/test-joininggroup_name.c: New file.
48558         New module 'unictype/joininggroup-name'.
48559         * modules/unictype/joininggroup-name: New file.
48560         * lib/unictype/joininggroup_name.c: New file.
48561         * lib/unictype/joininggroup_name.h: New file.
48563         New module 'unictype/joiningtype-all'.
48564         * modules/unictype/joiningtype-all: New file.
48566         Tests for module 'unictype/joiningtype-of'.
48567         * modules/unictype/joiningtype-of-tests: New file.
48568         * tests/unictype/test-joiningtype_of.c: New file.
48569         * tests/unictype/test-joiningtype_of.h: New file, automatically
48570         generated by gen-uni-tables.
48572         New module 'unictype/joiningtype-of'.
48573         * modules/unictype/joiningtype-of: New file.
48574         * lib/unictype/joiningtype_of.c: New file.
48575         * lib/unictype/joiningtype_of.h: New file, automatically generated by
48576         gen-uni-tables.
48578         Tests for module 'unictype/joiningtype-byname'.
48579         * modules/unictype/joiningtype-byname-tests: New file.
48580         * tests/unictype/test-joiningtype_byname.c: New file.
48582         New module 'unictype/joiningtype-byname'.
48583         * modules/unictype/joiningtype-byname: New file.
48584         * lib/unictype/joiningtype_byname.c: New file.
48586         Tests for module 'unictype/joiningtype-name'.
48587         * modules/unictype/joiningtype-name-tests: New file.
48588         * tests/unictype/test-joiningtype_name.c: New file.
48590         New module 'unictype/joiningtype-name'.
48591         * modules/unictype/joiningtype-name: New file.
48592         * lib/unictype/joiningtype_name.c: New file.
48594         unictype: Add support for Arabic shaping properties.
48595         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
48596         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
48597         declarations.
48598         (UC_JOINING_GROUP_*): New enumeration values.
48599         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
48600         declarations.
48601         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
48602         (unicode_joining_type): New variable.
48603         (UC_JOINING_GROUP_*): New enumeration values.
48604         (unicode_joining_group): New variable.
48605         (fill_arabicshaping, joining_type_as_c_identifier,
48606         output_joining_type_test, output_joining_type,
48607         joining_group_as_c_identifier, output_joining_group_test,
48608         output_joining_group): New functions.
48609         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
48610         fill_arabicshaping and output_joining_type_test, output_joining_type,
48611         output_joining_group_test, output_joining_group.
48612         Reported by Simon Josefsson.
48614 2011-03-21  Jim Meyering  <meyering@redhat.com>
48616         strftime: fix a bug in yesterday's change
48617         * lib/strftime.c (add): Accommodate width's initial value of -1.
48618         Otherwise, nstrftime would copy uninitialized data into
48619         the result buffer.
48621 2011-03-21  Jim Meyering  <meyering@redhat.com>
48623         tests: add strftime-tests module
48624         * tests/test-strftime.c: New file.
48625         * modules/strftime-tests: New module.
48627 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
48629         strftime: don't assume a byte count fits in 'int'
48630         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
48631         found this problem by static analysis, using gcc -Wstrict-overflow
48632         (GCC 4.5.2, x86-64).  This reported an optimization that depended
48633         on an integer overflow having undefined behavior, but it turns out
48634         that the argument is a size, which might not fit in 'int' anyway,
48636 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
48638         stdio: don't require ignore_value around fwrite
48640         This patch works around libc bug 11959
48641         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
48642         Without this patch, applications must often write
48643         ignore_value (fwrite (...)) even though the ignore_value is
48644         not helpful here.  It's common to write many objects, using
48645         fwrite/printf/etc., and then use ferror to detect output error.
48647         I considered making this patch optional, but decided against it,
48648         because libc is obviously being inconsistent here: there is no
48649         reason libc should insist that user code must inspect fwrite
48650         return's value without also insisting that it inspect printf's,
48651         putchar's, etc.  If user code wants to have a strict style where
48652         all these functions' values are checked (so that ferror need not
48653         be checked), we could add support for that style in a new gnulib
48654         module, but in the meantime it's better to be consistent and to
48655         support common usage.
48657         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
48658         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
48659         that we are compiling in checking mode, and if not C++, and
48660         if not already wrapping fwrite for some other reason.
48661         (fwrite): #define to rpl_fwrite if the latter is defined.
48663 2011-03-20  Bruno Haible  <bruno@clisp.org>
48665         verror: Fix compilation error introduced on 2011-02-13.
48666         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
48667         instead of __attribute__.
48668         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48670 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
48671             Bruno Haible  <bruno@clisp.org>
48673         socklen: do not depend on sys_socket
48674         While trying to modify Emacs to use gnulib's socklen module,
48675         I discovered a circular dependency: socklen depends on sys_socket
48676         and vice versa.  Emacs can use socklen, but it does not need
48677         sys_socket because it has its own substitute for sys/socket.h.
48678         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
48679         gl_TYPE_SOCKLEN_T.
48680         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
48681         gl_PREREQ_SYS_H_SOCKET.
48682         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
48683         gl_PREREQ_SYS_H_SOCKET.
48684         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
48685         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
48686         * modules/socklen (Depends-on): Do not depend on sys_socket.
48687         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
48689 2011-03-20  Jim Meyering  <meyering@redhat.com>
48691         maint.mk: sort file names *after* new transformation
48692         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
48693         prefix would have led to an unwarranted failure in GNU parted.
48694         Sort after that transformation.
48696 2011-03-19  Jim Meyering  <meyering@redhat.com>
48698         maint.mk: fix po-file syntax-check rule
48699         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
48700         Patch by Bruno Haible.
48702 2011-03-19  Bruno Haible  <bruno@clisp.org>
48704         socklen: Update comment.
48705         * m4/socklen.m4: Update comment about platforms.
48707 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
48708             Bruno Haible  <bruno@clisp.org>
48710         inet_ntop, inet_pton: Simplify.
48711         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
48712         documented to provide socklen_t and we already depend on sys_socket.
48713         * modules/inet_pton (Depends-on): Likewise.
48714         * lib/arpa_inet.in.h: Adjust comment.
48716 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
48717             Bruno Haible  <bruno@clisp.org>
48719         netdb: Simplify.
48720         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
48721         documented to provide socklen_t and we already depend on sys_socket.
48722         * lib/netdb.in.h: Adjust comment.
48724 2011-03-19  Bruno Haible  <bruno@clisp.org>
48726         sys_socket, netdb: Document problem with socklen_t.
48727         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
48728         platforms.
48729         * doc/posix-headers/netdb.texi: Likewise.
48731 2011-03-18  Eric Blake  <eblake@redhat.com>
48733         maint.mk: let po check work in VPATH build
48734         * top/maint.mk (po_file): Allow cfg.mk override.
48735         (sc_po_check): Allow VPATH use.
48736         Reported by Jiri Denemark.
48738 2011-03-16  Jim Meyering  <meyering@redhat.com>
48740         maint.mk: allow fine-grained syntax-check exclusion via Make variables
48741         Before, you would have had to create one .x-sc_ file per rule in order
48742         to exempt offending files.  Now, you may instead use a Make variable --
48743         usually defined in cfg.mk -- whose name identifies the affected rule.
48744         * top/maint.mk (_sc_excl): Define.
48745         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
48746         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
48748 2011-03-13  Bruno Haible  <bruno@clisp.org>
48750         ignore-value tests: Avoid warnings.
48751         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
48752         empty for gcc < 3.4.
48754 2011-03-13  Bruno Haible  <bruno@clisp.org>
48756         passfd: Fix link error on Solaris.
48757         * modules/passfd (Description): Correct.
48758         (Depends-on): Add socketlib.
48759         (Link): New section.
48760         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
48762 2011-03-13  Bruno Haible  <bruno@clisp.org>
48764         passfd: Fix link error on AIX 5.2.
48765         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
48767 2011-03-13  Bruno Haible  <bruno@clisp.org>
48769         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
48770         * lib/sys_socket.in.h: Include <stddef.h>.
48771         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
48772         CMSG_FIRSTHDR. Remove unused variable.
48774 2011-03-13  Bruno Haible  <bruno@clisp.org>
48776         passfd: Fix compilation error on OpenBSD.
48777         * lib/passfd.c: Include <sys/uio.h>.
48779 2011-03-13  Bruno Haible  <bruno@clisp.org>
48781         passfd test: Fix warnings.
48782         * tests/test-passfd.c: Include <sys/wait.h>.
48783         (main): Fix typo.
48785 2011-03-13  Bruno Haible  <bruno@clisp.org>
48787         passfd module, part 4, tweaks.
48788         * tests/test-passfd.c: Reorder includes.
48789         (main): Fix perror and printf calls.
48791 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
48793         passfd module, part 4.
48794         * modules/passfd-tests: New file.
48795         * tests/test-passfd.c: New file.
48797 2011-03-13  Jim Meyering  <meyering@redhat.com>
48799         Makefile: rely on GNU make; derive syntax-check rule names
48800         Rather than requiring that each sc_ rule be listed as a dependent
48801         of "check", use features of GNU make to derive the list.
48802         * Makefile (syntax-check-rules): Define.
48803         (check): Depend on the new variable, not the hard-coded list.
48805 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
48806             Bruno Haible  <bruno@clisp.org>
48808         passfd module, part 3.
48809         * lib/passfd.h (recvfd): Add a flags argument.
48810         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
48811         (recvfd): Add a flags argument.
48812         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
48813         exists.
48814         * modules/passfd (Depends-on): Add cloexec.
48815         Suggested by Eric Blake.
48817 2011-03-13  Bruno Haible  <bruno@clisp.org>
48819         passfd module, part 2, tweaks.
48820         * modules/passfd (Files): Reorder.
48821         (Depends-on): Remove errno.
48822         (Include): Remove <sys/socket.h>, <sys/un.h>.
48823         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
48824         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
48825         specification header. Include <sys/socket.h> always. Don't include
48826         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
48827         (sendfd): Clarify that it sets errno when it fails.
48828         (recvfd): Fix specification.
48830 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
48832         passfd module, part 2.
48833         * modules/passfd: New file.
48834         * lib/passfd.h: New file.
48835         * lib/passfd.c: New file.
48837 2011-03-12  Bruno Haible  <bruno@clisp.org>
48839         wcswidth, mbswidth: Avoid integer overflow.
48840         * lib/wcswidth.c: Include <limits.h>.
48841         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
48842         * lib/mbswidth.c: Include <limits.h>.
48843         (mbsnwidth): Avoid 'int' overflow.
48844         Reported by Jim Meyering.
48846 2011-03-12  Bruno Haible  <bruno@clisp.org>
48848         futimens, utimensat: Avoid endless recursion on Solaris 10.
48849         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
48850         Solaris.
48851         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
48852         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
48854 2011-03-11  Jim Meyering  <meyering@redhat.com>
48856         maint.mk: relax a regexp to accommodate other formatting styles
48857         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
48858         between "ngettext" and the following "(".
48860 2011-03-11  Pádraig Brady  <P@draigBrady.com>
48862         maint.mk: suppress a false positive warning
48863         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
48864         diagnostics are marked with ngettext.
48866 2011-03-10  Eric Blake  <eblake@redhat.com>
48868         wchar: add explicit dependencies, for Tru64
48869         * modules/mbmemcasecoll (Depends-on): Add wchar.
48870         * modules/mbtowc (Depends-on): Likewise.
48871         * modules/vasnprintf (Depends-on): Likewise.
48872         * modules/unistdio/u-printf-args (Depends-on): Likewise.
48873         * modules/wctomb (Depends-on): Likewise.
48874         Reported by Peter O'Gorman.
48876 2011-03-08  Bruno Haible  <bruno@clisp.org>
48878         passfd module, part 1, tweaks.
48879         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
48880         Improve indentation. Improve AC_MSG_CHECKING messages.
48881         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
48882         gl_SOCKET_FAMILIES.
48884 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
48886         passfd module, part 1.
48887         * m4/afunix.m4: New file.
48888         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
48889         sockets.
48891 2011-03-08  Bruno Haible  <bruno@clisp.org>
48893         regex-quote: New API.
48894         * lib/regex-quote.h: Include <stdbool.h>.
48895         (struct regex_quote_spec): New type.
48896         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
48897         New declarations.
48898         (regex_quote_length, regex_quote_copy, regex_quote): Take a
48899         'const struct regex_quote_spec *' argument.
48900         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
48901         (pcre_special): New constant.
48902         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
48903         New functions.
48904         (regex_quote_length, regex_quote_copy, regex_quote): Take a
48905         'const struct regex_quote_spec *' argument.
48906         * modules/regex-quote (Depends-on): Add stdbool.
48907         * tests/test-regex-quote.c (check): Update for new API. Add test for
48908         anchored results.
48909         * NEWS: Mention the API change.
48910         Reported by Reuben Thomas and Eric Blake.
48912 2011-03-06  Bruno Haible  <bruno@clisp.org>
48914         regex-quote: Fix creation of POSIX extended regular expressions.
48915         * lib/regex-quote.c (ere_special): Add grouping and alternation
48916         operators.
48918 2011-03-05  Bruno Haible  <bruno@clisp.org>
48920         doc: Improve doc regarding autopoint vs. gnulib.
48921         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
48922         disable autopoint while running autoreconf.
48923         Suggested by Ralf Wildenhues.
48925 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48927         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
48928         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
48930 2011-03-03  Bruce Korb  <bkorb@gnu.org>
48932         parse-duration: remove xalloc.h dependency
48933         * lib/parse-duration.c (parse_period): handle NULL return from
48934         strdup instead of calling xstrdup().
48935         * modules/parse-duration: remove "xalloc" dependency
48937 2011-03-03  Matthew Booth  <mbooth@redhat.com>
48939         bootstrap: honor m4_base when running aclocal
48940         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
48942 2011-03-02  Jim Meyering  <meyering@redhat.com>
48944         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
48945         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
48946         on request from Matt Booth.
48948 2011-03-01  Eric Blake  <eblake@redhat.com>
48950         test-link: work on Hurd
48951         * tests/test-link.h (test_link): Hurd rejects linking directories
48952         with EISDIR instead of the POSIX-mandated EPERM.
48954 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
48956         stdio: simplify by moving files to printf-posix, sigpipe
48957         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
48958         since this symbol is needed only if printf is replaced.
48959         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
48960         Require gl_ASM_SYMBOL_PREFIX.
48961         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
48962         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
48963         (Depends-on): Add 'raise'.
48964         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
48965         * modules/stdio (Files): Remove lib/stdio-write.c,
48966         m4/asm-underscore.m4.
48967         (Depends-on): Remove 'raise'.
48969         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
48970         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
48971         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
48972         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
48974 2011-02-28  Bruno Haible  <bruno@clisp.org>
48976         localcharset: Assume ANSI C behaviour of free().
48977         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
48978         calling free().
48979         Suggested by Simon Josefsson <simon@josefsson.org>.
48981 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
48982             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
48983             Bruno Haible  <bruno@clisp.org>  (tiny change)
48985         On Cygwin, use /proc file system instead of win32 API.
48986         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
48987         Win32 file names.
48988         (DllMain): Simplify by removing Cygwin specific code.
48989         (find_shared_library_fullname): Use Linux specific implementation also
48990         for Cygwin.
48991         (get_shared_library_fullname): Update accordingly.
48992         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
48993         Win32 file names.
48994         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
48995         Cygwin specific code.
48997 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
48998             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
49000         Fix OpenMP flag detection for various Fortran compilers.
49001         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
49002         OpenMP-conditional compilation construct, to force compile
49003         failure with missing OpenMP flag.
49004         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
49006 2011-02-25  Eric Blake  <eblake@redhat.com>
49008         strstr: expand test coverage
49009         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
49010         compilation.
49011         * tests/test-memmem.c (main): Duplicate tests.
49012         * tests/test-strcasestr.c (main): Likewise.
49013         * tests/test-c-strcasestr.c (main): Likewise.
49015 2011-02-25  Jim Meyering  <meyering@redhat.com>
49017         maint.mk: detect missing-NL-at-EOF, too
49018         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
49019         it also detects when a file lacks a newline at EOF.
49020         (require_exactly_one_NL_at_EOF_): Renamed from
49021         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
49022         since people may well have .x-sc_... file names tied to the
49023         existing name.  Suggested by Eric Blake.
49025 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
49027         dirname: move m4/dos.m4 functionality into lib/dosname.h
49029         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
49030         extracts symbols from it, puts them into config.h; but it's much
49031         easier to use the symbols directly.  filename.h already does this,
49032         but it disagrees with dos.m4 in some respects.  This patch
49033         introduces a different include file dosname.h that packages up
49034         dos.m4, and then later we can work on merging filename.h and
49035         dosname.h.  Applications that need only the easy-to-configure
49036         symbols should consider including dosname.h rather than dirname.h.
49037         * NEWS: Mention incompatible changes.
49038         * m4/dos.m4: Remove.
49039         * lib/dosname.h, modules/dosname: New files.
49040         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
49041         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
49042         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
49043         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
49044         Include dosname.h, not dirname.h.
49045         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
49046         Include dosname.h, for definitions of symbols like ISSLASH
49047         that used to be in config.h.
49048         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
49049         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
49050         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
49051         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
49052         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
49053         * modules/rmdir (Files): Likewise.
49054         * modules/stat (Files): Likewise.
49055         * modules/unlink (Files): Likewise.
49056         * modules/dirname-lgpl (Depends-on): Add dosname.
49057         * modules/lstat (Depends-on): Likewise.
49058         * modules/openat (Depends-on): Likewise.
49059         * modules/rmdir (Depends-on): Likewise.
49060         * modules/savewd (Depends-on): Likewise.
49061         * modules/stat (Depends-on): Likewise.
49062         * modules/unlink (Depends-on): Likewise.
49063         * modules/openat (Depends-on): Remove dirname-lgpl.
49064         * modules/savewd (Depends-on): Likewise.
49065         * tests/test-dirname.c: Do not use removed symbols like
49066         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
49067         the remaining symbols, e.g., ISSLASH ('\\').
49069 2011-02-25  Eric Blake  <eblake@redhat.com>
49071         strstr: revert patches that introduced bug and pessimization
49072         * lib/str-two-way.h: Add another reference.
49073         (two_way_short_needle, two_way_long_needle): Revert changes from
49074         2011-02-24; they pessimize search speed.
49075         (critical_factorization): Partially revert changes from
49076         2010-06-22; they violate the requirement that the left half of the
49077         needle be smaller than the period of the needle.
49079 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
49081         filenamecat: remove unnecessary dependency on dirname-lgpl
49082         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
49083         is no direct dependency, just an indirect one via filenamecat-lgpl.
49085         remove: remove unnecessary use of m4/dos.m4
49086         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
49087         * modules/remove (FILES): Remove m4/dos.m4.
49089         * lib/openat-proc.c: Don't include dirname.h; not needed.
49091         backupfile: remove unnecessary use of m4/dos.m4
49092         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
49093         of its symbols are used by the backupfile code.  backupfile.c does
49094         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
49095         for the rare case of programs that want all their backup file
49096         names to live within 8+3 limits, and dos.m4 doesn't address that.
49097         * modules/backupfile (Files): Remove m4/dos.m4.
49099 2011-02-24  Jim Meyering  <meyering@redhat.com>
49101         strstr: fix a bug whereby strstr would mistakenly return NULL
49102         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
49103         in period calculation.
49104         (two_way_long_needle): Likewise.
49105         The original problem was reported by Mike Stump in
49106         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
49107         Ralf Wildenhues provided the short needle and haystack.
49108         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
49109         Add a more involved test to trigger the bug in two_way_long_needle.
49111 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
49113         gnulib-tool: remove use of bold display in help screen
49114         * gnulib-tool (func_usage): Do not use bold display anymore in the
49115         help screen.  That was just meant to be a temporary emphasis for a
49116         backward-incompatible change.
49118 2011-02-23  Bruno Haible  <bruno@clisp.org>
49120         Fix misindentation of preprocessor directives.
49121         * lib/argp-namefrob.h: Reindent preprocessor directives.
49122         * lib/getopt_int.h (struct _getopt_data): Likewise.
49123         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
49124         * lib/vasnprintf.c (decode_long_double): Likewise.
49125         * tests/test-argmatch.c: Insert blank lines, for clarity.
49126         * tests/test-exclude.c: Likewise.
49128 2011-02-22  Bruno Haible  <bruno@clisp.org>
49130         ioctl: Fix for MacOS X in 64-bit mode.
49131         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
49132         value.
49133         Suggested by Eric Blake.
49134         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
49136 2011-02-22  Jim Meyering  <meyering@redhat.com>
49138         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
49139         * Makefile (sc_cpp_indent_check): Don't limit the check to files
49140         in lib/.
49142 2011-02-22  Eric Blake  <eblake@redhat.com>
49144         maint: avoid any CDPATH issue
49145         * Makefile (sc_cpp_indent_check): Anchor cd argument.
49147         maint: adjust cpp indentation for my modules, as well
49148         * Makefile (sc_cpp_indent_check): Add my name.
49149         * lib/fbufmode.c: Filter through cppi.
49150         * lib/fpurge.c: Likewise.
49151         * lib/freadable.c: Likewise.
49152         * lib/freading.c: Likewise.
49153         * lib/fwritable.c: Likewise.
49154         * lib/fwriting.c: Likewise.
49155         * lib/sigaction.c: Likewise.
49157 2011-02-22  Jim Meyering  <meyering@redhat.com>
49159         maint: adjust cpp indentation to reflect nesting depth
49160         I.e., in a block of code that begins with an unnested "#if",
49161         put one space between the "#" in column 1 and following token.
49162         For example,
49163         -#include <sys/vfs.h>
49164         +# include <sys/vfs.h>
49165         Do this only in .c files that are part of a module I maintain.
49166         * lib/linkat.c: Filter through cppi.
49167         * lib/nanosleep.c: Likewise.
49168         * lib/openat.c: Likewise.
49169         * lib/openat-die.c: Likewise.
49170         * lib/dup3.c: Likewise.
49171         * lib/fchownat.c: Likewise.
49172         * lib/flock.c: Likewise.
49173         * lib/fsync.c: Likewise.
49174         * lib/fts.c: Likewise.
49175         * lib/getpass.c: Likewise.
49176         * lib/gettimeofday.c: Likewise.
49177         * lib/userspec.c: Likewise.
49178         * Makefile (sc_cpp_indent_check): New rule, to check this.
49180 2011-02-22  Bruno Haible  <bruno@clisp.org>
49182         New module 'wctomb'.
49183         * lib/stdlib.in.h (wctomb): New declaration.
49184         * lib/wctomb.c: New file.
49185         * lib/wctomb-impl.h: New file.
49186         * m4/wctomb.m4: New file.
49187         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
49188         REPLACE_WCTOMB.
49189         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
49190         REPLACE_WCTOMB.
49191         * modules/wctomb: New file.
49192         * tests/test-stdlib-c++.cc: Test signature of wctomb.
49193         * doc/posix-functions/wctomb.texi: Mention the new module.
49194         * modules/wctob (Depends-on): Add wctomb.
49196 2011-02-22  Bruno Haible  <bruno@clisp.org>
49198         New module 'mbtowc'.
49199         * lib/stdlib.in.h (mbtowc): New declaration.
49200         * lib/mbtowc.c: New file.
49201         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
49202         * m4/mbtowc.m4: New file.
49203         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
49204         REPLACE_MBTOWC.
49205         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
49206         REPLACE_MBTOWC.
49207         * modules/mbtowc: New file.
49208         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
49209         * doc/posix-functions/mbtowc.texi: Mention the new module.
49210         * modules/btowc (Depends-on): Add mbtowc.
49212 2011-02-22  Bruno Haible  <bruno@clisp.org>
49214         wcrtomb: Add more tests for native Windows platforms.
49215         * tests/test-wcrtomb-w32-1.sh: New file.
49216         * tests/test-wcrtomb-w32-2.sh: New file.
49217         * tests/test-wcrtomb-w32-3.sh: New file.
49218         * tests/test-wcrtomb-w32-4.sh: New file.
49219         * tests/test-wcrtomb-w32-5.sh: New file.
49220         * tests/test-wcrtomb-w32.c: New file.
49221         * modules/wcrtomb-tests (Files): Add them.
49222         (Makefile.am): Arrange to run these tests.
49223         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
49224         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
49226 2011-02-20  Bruno Haible  <bruno@clisp.org>
49228         wcrtomb: Enhance test.
49229         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
49231 2011-02-20  Bruno Haible  <bruno@clisp.org>
49233         mbrtowc: Tiny optimization.
49234         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
49236 2011-02-20  Jim Meyering  <meyering@redhat.com>
49238         test-exclude.c: remove unmatched #endif
49239         * tests/test-exclude.c: Remove stray #endif, left over from
49240         the change of a week ago.
49242 2011-02-19  Jim Meyering  <meyering@redhat.com>
49244         git-version-gen: skip "-dirty" check when appropriate
49245         * build-aux/git-version-gen: Don't run any git commands when the
49246         version string comes from .tarball-version.  Prior to this, we
49247         would run git update-index --refresh even from a just-unpacked
49248         tarball directory, and that could affect a .git/ directory in a
49249         parent of the build directory.  Reported by Mike Frysinger.
49251 2011-02-19  Bruno Haible  <bruno@clisp.org>
49253         unictype/property-byname: Reduce the size of the 'data' segment.
49254         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
49256 2011-02-19  Bruno Haible  <bruno@clisp.org>
49258         unictype/scripts: Reduce the size of the 'data' segment.
49259         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
49260         '%pic'.
49261         * lib/unictype/scripts_byname.gperf: Regenerated.
49263 2011-02-19  Bruno Haible  <bruno@clisp.org>
49265         stdint: Update documentation.
49266         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
49268 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
49270         stdint: omit redundant check for wchar.h
49271         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
49272         always tests whether wchar.h exists, so remove the now-redundant test.
49274 2011-02-18  Bruno Haible  <bruno@clisp.org>
49276         stdint: Cut dependency to module 'wchar'.
49277         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
49278         include the necessary prerequisites.
49279         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
49280         * modules/stdint (Depends-on): Remove wchar.
49281         (Makefile.am): Substitute HAVE_WCHAR_H.
49282         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
49284 2011-02-18  Eric Blake  <eblake@redhat.com>
49286         longlong: skip, rather than fail, on cross-compilation
49287         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
49288         when cross-compiling; regression from 2011-02-16.
49290 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
49292         * NEWS: Mention 2011-02-08 change to stdlib.
49294 2011-02-17  Bruno Haible  <bruno@clisp.org>
49296         getloadavg: Add comments about platforms.
49297         * m4/getloadavg.m4: Add comment.
49298         * lib/getloadavg.c: Likewise.
49300 2011-02-17  Bruno Haible  <bruno@clisp.org>
49302         getloadavg: Fix link error on Solaris 2.6.
49303         * modules/getloadavg (Link): New section.
49304         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
49305         linking test-getloadavg.
49306         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
49307         getloadavg.
49309 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
49311         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
49312         It was 'int', but this doesn't match the IRIX 6.5 manual.
49313         Suggested by Bruno Haible in
49314         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
49316 2011-02-17  Bruno Haible  <bruno@clisp.org>
49318         havelib: Fix comments.
49319         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
49320         change.
49322 2011-02-17  Bruno Haible  <bruno@clisp.org>
49324         havelib: Update config.rpath.
49325         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
49327 2011-02-17  Bruno Haible  <bruno@clisp.org>
49329         getloadavg test: Add some plausibility checks.
49330         * tests/test-getloadavg.c (check_avg): Print a warning when the value
49331         is improbable.
49333 2011-02-16  Eric Blake  <eblake@redhat.com>
49335         maintainer-makefile: make syntax-check a no-op from tarballs
49336         * top/maint.mk (no-vc-detected): New rule.
49337         (local-checks-available): Use it to avoid hanging if someone tries
49338         'make syntax-check' from a tarball.  Also append to any non-syntax
49339         checks already defined in cfg.mk.
49341 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
49343         longlong: tune, particularly for common case of c99
49345         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
49346         or running anything if c99, or if unsigned long long int does not
49347         work.  In either case, we know the answer without further tests.
49348         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
49349         it at most once, and use its results for both long long int and
49350         unsigned long long int.  This is more likely to be efficient in
49351         the common case where the program wants to check for both long
49352         long int and unsigned long long int.
49353         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
49354         since the answer is already known.
49356 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
49358         getloadavg: set errno
49359         * lib/getloadavg.c: Set errno when returning -1.  If no other
49360         error number looks appropriate, set it to ENOSYS if the getloadavg
49361         looks like it can't possibly ever work, ENOTSUP otherwise.
49362         Suggested by Bruno Haible in
49363         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
49365         getloadavg: trim unused parts and speed up 'configure'
49366         * NEWS: Document this.
49367         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
49368         always compiled if getloadavg is absent.
49369         Move test code to ...
49370         * tests/test-getloadavg.c: New file, containing previous
49371         contents of test from lib/getloadavg.c.  It also contains
49372         suggestions by Bruno Haible in
49373         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
49374         * modules/getloadavg-tests: New file.
49375         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
49376         Do tests in the same order as they're needed for getloadavg.c.
49377         Omit setgid-related tests that generate symbols KMEM_GROUP,
49378         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
49379         Do only the tests that are needed to see whether the system has
49380         getloadavg, moving the other tests into ...
49381         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
49382         NLIST_NAME_UNION; nobody should be using it.  Do not define
49383         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
49384         relevant, as the user of this module shouldn't care how getloadavg
49385         is implemented.
49387         getloadavg: omit unused var
49388         * lib/getloadavg.c (getloadavg): Omit unused local variable.
49390 2011-02-15  Jim Meyering  <meyering@redhat.com>
49392         doc: update users.txt
49393         * users.txt: Update iwhd's URL.
49395 2011-02-13  Bruno Haible  <bruno@clisp.org>
49397         Consistent macro naming for macros that use GCC __attribute__.
49398         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
49399         _ATTRIBUTE_NONNULL_.
49400         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
49401         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
49402         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
49403         ATTRIBUTE_DEPRECATED.
49404         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
49405         ATTRIBUTE_NORETURN.
49406         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
49407         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
49408         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
49409         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
49410         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
49411         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
49412         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
49413         ATTRIBUTE_SENTINEL.
49414         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
49415         ATTRIBUTE_RETURN_CHECK.
49416         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
49417         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
49418         ATTRIBUTE_NORETURN.
49419         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
49420         Reported by Paul Eggert.
49422 2011-02-13  Bruno Haible  <bruno@clisp.org>
49424         Don't interfere with a program's definition of __attribute__.
49425         * lib/argp.h (__attribute__): Remove definition.
49426         (_GL_ATTRIBUTE_FORMAT): New macro.
49427         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
49428         * lib/argp-fmtstream.h (__attribute__): Remove definition.
49429         (_GL_ATTRIBUTE_FORMAT): New macro.
49430         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
49431         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
49432         GCC 3 or newer.
49433         * lib/error.h (__attribute__): Remove definition.
49434         (_GL_ATTRIBUTE_FORMAT): New macro.
49435         (error, error_at_line): Use it.
49436         * lib/hash.h (__attribute__): Remove definition.
49437         (ATTRIBUTE_WUR): Update definition. Define always.
49438         * lib/openat.h (__attribute__): Remove definition.
49439         (ATTRIBUTE_NORETURN): Update definition. Define always.
49440         * lib/sigpipe-die.h (__attribute__): Remove definition.
49441         (ATTRIBUTE_NORETURN): Update definition. Define always.
49442         * lib/vasnprintf.h (__attribute__): Remove definition.
49443         (_GL_ATTRIBUTE_FORMAT): New macro.
49444         (asnprintf, vasnprintf): Use it.
49445         * lib/xalloc.h (__attribute__): Remove definition.
49446         (ATTRIBUTE_NORETURN): Update definition. Define always.
49447         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
49448         * lib/xmemdup0.h (__attribute__): Remove definition.
49449         (ATTRIBUTE_NORETURN): Update definition. Define always.
49450         * lib/xprintf.h (__attribute__): Remove definition.
49451         (_GL_ATTRIBUTE_FORMAT): New macro.
49452         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
49453         * lib/xstrtol.h (__attribute__): Remove definition.
49454         (ATTRIBUTE_NORETURN): Update definition. Define always.
49455         * lib/xvasprintf.h (__attribute__): Remove definition.
49456         (_GL_ATTRIBUTE_FORMAT): New macro.
49457         (xasprintf, xvasprintf): Use it.
49458         * tests/test-argmatch.c (__attribute__): Remove definition.
49459         (ATTRIBUTE_NORETURN): Update definition. Define always.
49460         * tests/test-exclude.c (__attribute__): Remove definition.
49461         (ATTRIBUTE_NORETURN): Update definition. Define always.
49462         Reported by Paul Eggert.
49464 2011-02-13  Bruno Haible  <bruno@clisp.org>
49466         mbrtowc: Add more tests for native Windows platforms.
49467         * tests/test-mbrtowc-w32-1.sh: New file.
49468         * tests/test-mbrtowc-w32-2.sh: New file.
49469         * tests/test-mbrtowc-w32-3.sh: New file.
49470         * tests/test-mbrtowc-w32-4.sh: New file.
49471         * tests/test-mbrtowc-w32-5.sh: New file.
49472         * tests/test-mbrtowc-w32.c: New file.
49473         * modules/mbrtowc-tests (Files): Add them.
49474         (Makefile.am): Arrange to run these tests.
49475         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
49476         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
49478 2011-02-13  Bruno Haible  <bruno@clisp.org>
49480         mbrtowc: Work around native Windows bug.
49481         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
49482         guess when no suitable locale for testing was found.
49483         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
49485 2011-02-13  Bruno Haible  <bruno@clisp.org>
49487         mbsinit: Work around mingw bug.
49488         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
49489         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
49490         Windows.
49491         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
49493 2011-02-13  Bruno Haible  <bruno@clisp.org>
49495         mbsinit: Don't crash for a NULL argument.
49496         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
49497         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
49499 2011-02-13  Bruno Haible  <bruno@clisp.org>
49501         Don't interfere with a program's definition of __attribute__.
49502         * lib/stdio.in.h (__attribute__): Remove definition.
49503         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
49504         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
49505         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
49506         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
49507         * lib/string.in.h (__attribute__): Remove definition.
49508         Reported by Paul Eggert.
49510 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
49512         stdlib: don't get in the way of non-GCC __attribute__
49513         See thread starting at
49514         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
49515         Revert previous stdlib change, installing the following instead:
49516         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
49517         to get in the way of a non-GCC compiler that supports __attribute__.
49518         (_GL_ATTRIBUTE_RETURN): New macro.
49519         (_Exit): Use it instead of __attribute__.
49521 2011-02-12  Bruno Haible  <bruno@clisp.org>
49523         quotearg test: Avoid test failure on mingw.
49524         * tests/test-quotearg.sh: Convert the locale identifier from native
49525         Windows syntax to Unix syntax.
49527 2011-02-12  Bruno Haible  <bruno@clisp.org>
49529         setlocale: Prefer gnulib's override over libintl's override.
49530         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
49531         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
49532         GNULIB_defined_setlocale is set.
49534 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
49536         stdlib: support non-GCC __attribute__
49538         Fix a serious and tricky problem encountered when attempting to
49539         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
49540         5.5, but it crashed due to memory corruption on Solaris 10 with
49541         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
49542         bits that are otherwise zero.  This tagging is optional inside
49543         Emacs but is preferred and is used when __attribute__ ((__aligned
49544         (8))) works, as it does with both recent-enough GCC and with Sun C
49545         5.11.  However, Sun C 5.11 is not GCC and does not #define
49546         __GNUC__ and __GNUC_MINOR__.
49548         When I added the getloadavg module to Emacs, it brought in
49549         stdlib.in.h, which contained this fragment:
49551            #ifndef __attribute__
49552            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
49553            #  define __attribute__(Spec)   /* empty */
49554            # endif
49555            #endif
49557         When files that include <stdlib.h> were compiled with Sun C 5.11,
49558         the above code disabled __attribute__ ((__aligned (8))), which
49559         caused variables to not be properly aligned, which eventually led
49560         to the pointer corruption mentioned above.  (This was a bit hard
49561         to diagnose, unfortunately.)
49563         Several "#define __attribute__(X) /* empty */" code snippets need
49564         to be eradicated from Gnulib to work with non-GCC compilers that
49565         support __attribute__.  The Autoconf way to do this is to test for
49566         each kind of attribute that we want support for, and selectively
49567         enable that in source code.
49569         Fix this problem just for stdlib.h, by adding a test for the
49570         __noreturn__ attribute, and change stdlib.in.h to use that test
49571         when needed.  This technique can be easily generalized to the
49572         other *.in.h files and attributes, and a similar technique can be
49573         used for *.h and *.c files.  This patch is enough to solve the
49574         problem for Emacs + getloadavg, and I thought I'd publish it for
49575         feedback before undertaking further, similar fixes in other
49576         modules.
49578         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
49579         because it's not needed for stdlib.h.  It merely substitutes the
49580         value directly into stdlib.h.  We may well need to #define it, or
49581         similar symbols, for other modules, but it's nice to also have an
49582         option to not #define it for applications like Emacs that do not
49583         need it.
49585         * lib/stdlib.in.h (__attribute__): Do not #define.
49586         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
49587         be defined only if the _Exit module is also used.
49588         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
49589         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
49590         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
49591         platforms.
49592         * modules/_Exit (Files): Add m4/attribute.m4.
49593         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
49594         * m4/attribute.m4: New file.
49596 2011-02-12  Bruno Haible  <bruno@clisp.org>
49598         wcsrtombs: Work around bug on native Windows.
49599         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
49600         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
49601         instead of len.
49602         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
49604 2011-02-12  Bruno Haible  <bruno@clisp.org>
49606         mbsrtowcs: Work around bug on native Windows.
49607         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
49608         against mingw bug.
49609         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
49611 2011-02-12  Bruno Haible  <bruno@clisp.org>
49613         Avoid setlocale bugs in tests.
49614         * modules/btowc (Dependencies): Add setlocale.
49615         * modules/c-strcase (Dependencies): Likewise.
49616         * modules/mbmemcasecmp (Dependencies): Likewise.
49617         * modules/mbmemcasecoll (Dependencies): Likewise.
49618         * modules/mbrtowc (Dependencies): Likewise.
49619         * modules/mbscasecmp (Dependencies): Likewise.
49620         * modules/mbscasestr (Dependencies): Likewise.
49621         * modules/mbschr (Dependencies): Likewise.
49622         * modules/mbscspn (Dependencies): Likewise.
49623         * modules/mbsinit (Dependencies): Likewise.
49624         * modules/mbsncasecmp (Dependencies): Likewise.
49625         * modules/mbsnrtowcs (Dependencies): Likewise.
49626         * modules/mbspbrk (Dependencies): Likewise.
49627         * modules/mbspcasecmp (Dependencies): Likewise.
49628         * modules/mbsrchr (Dependencies): Likewise.
49629         * modules/mbsrtowcs (Dependencies): Likewise.
49630         * modules/mbsspn (Dependencies): Likewise.
49631         * modules/mbsstr (Dependencies): Likewise.
49632         * modules/nl_langinfo (Dependencies): Likewise.
49633         * modules/quotearg (Dependencies): Likewise.
49634         * modules/unicase/locale-language (Dependencies): Likewise.
49635         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
49636         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
49637         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
49638         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
49639         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
49640         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
49641         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
49642         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
49643         * modules/vasnprintf-posix (Dependencies): Likewise.
49644         * modules/wcrtomb (Dependencies): Likewise.
49645         * modules/wcsnrtombs (Dependencies): Likewise.
49646         * modules/wcsrtombs (Dependencies): Likewise.
49648 2011-02-12  Bruno Haible  <bruno@clisp.org>
49650         setlocale: Workaround native Windows bug.
49651         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
49652         succeeds but sets LC_CTYPE to "C", report a failure.
49653         * tests/test-setlocale2.sh: New file.
49654         * tests/test-setlocale2.c: New file.
49655         * modules/setlocale-tests (Files): Add the new files.
49656         (Makefile.am): Enable test-setlocale2.sh test.
49657         * doc/posix-functions/setlocale.texi: Mention workaround.
49659 2011-02-11  Bruno Haible  <bruno@clisp.org>
49661         Tests for module 'setlocale'.
49662         * modules/setlocale-tests: New file.
49663         * tests/test-setlocale1.sh: New file.
49664         * tests/test-setlocale1.c: New file.
49666         New module 'setlocale'.
49667         * lib/locale.in.h (setlocale): New declaration.
49668         * lib/setlocale.c: New file, based on
49669         gettext/gettext-runtime/intl/setlocale.c.
49670         * m4/setlocale.m4: New file.
49671         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
49672         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
49673         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
49674         REPLACE_SETLOCALE.
49675         * modules/setlocale: New file.
49676         * tests/test-locale-c++.cc: Test the declaration of setlocale.
49677         * doc/posix-functions/setlocale.texi: Mention the new module.
49679 2011-02-11  Bruno Haible  <bruno@clisp.org>
49681         Prepare for locale dependent tests on mingw.
49682         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
49683         because it has the wrong locale encoding.
49684         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
49685         French_France.1252 instead of "fr".
49686         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
49687         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
49688         because it has the wrong locale encoding.
49689         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
49690         native Windows, try Turkish_Turkey.65001.
49691         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
49692         Chinese_China.54936.
49694         Prepare for locale dependent tests on mingw.
49695         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
49696         differently.
49697         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
49698         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
49699         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
49700         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
49702 2011-02-11  Eric Blake  <eblake@redhat.com>
49704         strptime: avoid compiler warnings
49705         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
49706         compiler warnings about dead code.
49707         Reported by Daniel P. Berrange.
49709 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
49711         doc: update users.txt
49712         * users.txt: Add rcs.
49714 2011-02-10  John W. Eaton  <jwe@gnu.org>
49716         doc: update users.txt
49717         * users.txt: Add octave.
49719 2011-02-10  Jim Meyering  <meyering@redhat.com>
49721         doc: update users.txt
49722         * users.txt: Add iwhd.
49724 2011-02-09  Bruno Haible  <bruno@clisp.org>
49726         gnulib-tool: Make copyright notice adjustment more robust.
49727         * gnulib-tool (func_import): In sed_transform_main_lib_file,
49728         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
49729         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
49730         License".
49731         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
49733 2011-02-06  Bruno Haible  <bruno@clisp.org>
49735         New module 'towctrans'.
49736         * modules/towctrans: New file.
49737         * lib/wctype.in.h (towctrans): New declaration.
49738         * lib/towctrans.c: New file.
49739         * lib/towctrans-impl.h: New file.
49740         * m4/towctrans.m4: New file.
49741         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
49742         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
49743         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
49744         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
49745         * doc/posix-functions/towctrans.texi: Mention the new module.
49747 2011-02-06  Bruno Haible  <bruno@clisp.org>
49749         New module 'wctrans'.
49750         * modules/wctrans: New file.
49751         * lib/wctype.in.h (wctrans): New declaration.
49752         * lib/wctrans.c: New file.
49753         * lib/wctrans-impl.h: New file.
49754         * m4/wctrans.m4: New file.
49755         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
49756         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
49757         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
49758         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
49759         * doc/posix-functions/wctrans.texi: Mention the new module.
49761 2011-02-06  Bruno Haible  <bruno@clisp.org>
49763         New module 'iswctype'.
49764         * modules/iswctype: New file.
49765         * lib/wctype.in.h (iswctype): New declaration.
49766         * lib/iswctype.c: New file.
49767         * lib/iswctype-impl.h: New file.
49768         * m4/iswctype.m4: New file.
49769         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
49770         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
49771         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
49772         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
49773         * doc/posix-functions/iswctype.texi: Mention the new module and the
49774         HP-UX 11.00 problem.
49776 2011-02-06  Bruno Haible  <bruno@clisp.org>
49778         New module 'wctype'.
49779         * modules/wctype: Change to represent the wctype() substitute.
49780         * lib/wctype.in.h (wctype): New declaration.
49781         * lib/wctype.c: New file.
49782         * lib/wctype-impl.h: New file.
49783         * m4/wctype.m4: New file.
49784         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
49785         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
49786         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
49787         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
49788         * doc/posix-functions/wctype.texi: Mention the new module and the
49789         HP-UX 11.00 problem.
49791 2011-02-06  Bruno Haible  <bruno@clisp.org>
49793         wctype-h: Ensure wctype_t and wctrans_t are defined.
49794         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
49795         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
49796         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
49797         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
49798         HAVE_WCTRANS_T.
49799         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
49801 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
49803         flock: fix license typo
49805         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
49806         omitted.
49808 2011-02-08  Bruno Haible  <bruno@clisp.org>
49810         Split large sed scripts, for HP-UX sed.
49811         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
49812         to avoid HP-UX limit of 99 commands, in the near future.
49813         * modules/stdlib (Makefile.am): Likewise.
49814         * modules/unistd (Makefile.am): Likewise.
49815         * modules/wchar (Makefile.am): Likewise.
49816         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49817         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
49818         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
49820 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
49821             Bruno Haible  <bruno@clisp.org>
49823         stdlib: improve random_r modularization
49824         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
49825         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
49826         you also need the random_r module to get this material right.
49827         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
49828         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
49829         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
49831 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
49833         stdlib: don't depend on stdint
49834         * lib/stdlib.in.h: Don't include <stdint.h> merely because
49835         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
49836         be independent of whether stdint.h is needed.
49837         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
49838         here, instead of ...
49839         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
49840         struct random_data should be using the random_r module, not just
49841         the stdlib module (which wouldn't make sense: what package needs
49842         just struct random_data without also needing random_r?).
49843         * modules/stdlib (Depends-on): Remove stdint.
49845         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
49846         See the thread rooted at
49847         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
49848         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
49849         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
49850         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
49851         __VMS)); previously it was always included (via fcntl--.h).
49852         (getloadavg): Do not use c_strtod.  Instead, approximate it by
49853         hand; this is good enough for load averages.  Also, do not use
49854         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
49855         flags directly if available and don't bother otherwise.  (Packages
49856         that need the extra reliability should use the modules that define
49857         these flags on older platforms that lack them.)
49858         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
49859         fcntl-safer.
49861 2011-02-08  Jim Meyering  <meyering@redhat.com>
49863         di-set.h, ino-map.h: add multiple-inclusion guard
49864         Technically, the guard is required only for ino-map.h, due to its
49865         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
49866         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
49867         * lib/ino-map.h: Likewise.
49869 2011-02-06  Bruno Haible  <bruno@clisp.org>
49871         iswblank: Ensure declaration on glibc systems.
49872         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
49873         * modules/iswblank (Dependencies): Add 'extensions'.
49874         * doc/posix-functions/iswblank.texi: Document the glibc problem.
49876 2011-02-06  Bruno Haible  <bruno@clisp.org>
49878         New module 'iswblank'.
49879         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
49880         * modules/iswblank: New file.
49881         * modules/wctype-h (Files): Remove lib/iswblank.c.
49882         (Makefile.am): Substitute GNULIB_ISWBLANK.
49883         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
49884         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
49885         (gl_WCTYPE_H_DEFAULTS): New macro.
49886         (gl_WCTYPE_H): Require it. Remove iswblank related code.
49887         * modules/iswblank-tests: New file.
49888         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
49889         * tests/test-wctype-h.c (main): Remove iswblank tests.
49890         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
49891         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
49892         of 'wctype-h'.
49893         * NEWS: Mention the change.
49894         * modules/mbchar (Depends-on): Add iswblank.
49896 2011-02-08  Bruno Haible  <bruno@clisp.org>
49898         di-set tests: Refactor.
49899         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
49900         unnecessary includes.
49901         (ASSERT): Remove macro.
49902         (main): Make C90 compliant by avoiding variable declaration after
49903         statement.
49904         * modules/di-set-tests (Files): Add tests/macros.h.
49906 2011-02-08  Bruno Haible  <bruno@clisp.org>
49908         ino-map tests: Refactor.
49909         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
49910         unnecessary includes.
49911         (ASSERT): Remove macro.
49912         (main): Make C90 compliant by avoiding variable declaration after
49913         statement.
49914         * modules/ino-map-tests (Files): Add tests/macros.h.
49916 2011-02-08  Jim Meyering  <meyering@redhat.com>
49918         di-set: add "const" to a cast
49919         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
49920         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
49922 2011-02-06  Bruno Haible  <bruno@clisp.org>
49924         Rename module 'wctype' to 'wctype-h'.
49925         * modules/wctype-h: Renamed from modules/wctype.
49926         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
49927         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
49928         (Files, Depends-on, Makefile.am): Update.
49929         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
49930         (Files, Makefile.am): Update.
49931         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
49932         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
49933         * doc/posix-headers/wctype.texi: Update.
49934         * doc/posix-functions/iswalnum.texi: Update.
49935         * doc/posix-functions/iswalpha.texi: Update.
49936         * doc/posix-functions/iswblank.texi: Update.
49937         * doc/posix-functions/iswcntrl.texi: Update.
49938         * doc/posix-functions/iswdigit.texi: Update.
49939         * doc/posix-functions/iswgraph.texi: Update.
49940         * doc/posix-functions/iswlower.texi: Update.
49941         * doc/posix-functions/iswprint.texi: Update.
49942         * doc/posix-functions/iswpunct.texi: Update.
49943         * doc/posix-functions/iswspace.texi: Update.
49944         * doc/posix-functions/iswupper.texi: Update.
49945         * doc/posix-functions/iswxdigit.texi: Update.
49946         * doc/posix-functions/towlower.texi: Update.
49947         * doc/posix-functions/towupper.texi: Update.
49948         * NEWS: Mention the change.
49949         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
49950         * modules/mbchar (Dependencies): Likewise.
49951         * modules/mbswidth (Dependencies): Likewise.
49952         * modules/quotearg (Dependencies): Likewise.
49953         * modules/regex (Dependencies): Likewise.
49954         * modules/wcscasecmp (Dependencies): Likewise.
49955         * modules/wcsncasecmp (Dependencies): Likewise.
49956         * modules/wcwidth (Dependencies): Likewise.
49958 2011-02-06  Bruno Haible  <bruno@clisp.org>
49960         New module 'wcswidth'.
49961         * modules/wcswidth: New file.
49962         * lib/wchar.in.h (wcswidth): New declaration.
49963         * lib/wcswidth.c: New file.
49964         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
49965         * m4/wcswidth.m4: New file.
49966         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
49967         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
49968         REPLACE_WCSWIDTH.
49969         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
49970         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
49971         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
49972         * doc/posix-functions/wcswidth.texi: Mention the new module.
49974 2011-02-06  Bruno Haible  <bruno@clisp.org>
49976         New module 'wcstok'.
49977         * modules/wcstok: New file.
49978         * lib/wchar.in.h (wcstok): New declaration.
49979         * lib/wcstok.c: New file.
49980         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
49981         * m4/wcstok.m4: New file.
49982         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
49983         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
49984         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
49985         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
49986         * doc/posix-functions/wcstok.texi: Mention the new module.
49988 2011-02-06  Bruno Haible  <bruno@clisp.org>
49990         New module 'wcsstr'.
49991         * modules/wcsstr: New file.
49992         * lib/wchar.in.h (wcsstr): New declaration.
49993         * lib/wcsstr.c: New file.
49994         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
49995         * m4/wcsstr.m4: New file.
49996         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
49997         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
49998         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
49999         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
50000         * doc/posix-functions/wcsstr.texi: Mention the new module.
50002 2011-02-06  Bruno Haible  <bruno@clisp.org>
50004         New module 'wcspbrk'.
50005         * modules/wcspbrk: New file.
50006         * lib/wchar.in.h (wcspbrk): New declaration.
50007         * lib/wcspbrk.c: New file.
50008         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
50009         * m4/wcspbrk.m4: New file.
50010         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
50011         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
50012         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
50013         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
50014         * doc/posix-functions/wcspbrk.texi: Mention the new module.
50016 2011-02-06  Bruno Haible  <bruno@clisp.org>
50018         New module 'wcsspn'.
50019         * modules/wcsspn: New file.
50020         * lib/wchar.in.h (wcsspn): New declaration.
50021         * lib/wcsspn.c: New file.
50022         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
50023         * m4/wcsspn.m4: New file.
50024         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
50025         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
50026         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
50027         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
50028         * doc/posix-functions/wcsspn.texi: Mention the new module.
50030 2011-02-06  Bruno Haible  <bruno@clisp.org>
50032         New module 'wcscspn'.
50033         * modules/wcscspn: New file.
50034         * lib/wchar.in.h (wcscspn): New declaration.
50035         * lib/wcscspn.c: New file.
50036         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
50037         * m4/wcscspn.m4: New file.
50038         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
50039         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
50040         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
50041         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
50042         * doc/posix-functions/wcscspn.texi: Mention the new module.
50044 2011-02-06  Bruno Haible  <bruno@clisp.org>
50046         New module 'wcsrchr'.
50047         * modules/wcsrchr: New file.
50048         * lib/wchar.in.h (wcsrchr): New declaration.
50049         * lib/wcsrchr.c: New file.
50050         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
50051         * m4/wcsrchr.m4: New file.
50052         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
50053         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
50054         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
50055         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
50056         * doc/posix-functions/wcsrchr.texi: Mention the new module.
50058 2011-02-06  Bruno Haible  <bruno@clisp.org>
50060         New module 'wcschr'.
50061         * modules/wcschr: New file.
50062         * lib/wchar.in.h (wcschr): New declaration.
50063         * lib/wcschr.c: New file.
50064         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
50065         * m4/wcschr.m4: New file.
50066         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
50067         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
50068         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
50069         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
50070         * doc/posix-functions/wcschr.texi: Mention the new module.
50072 2011-02-06  Bruno Haible  <bruno@clisp.org>
50074         New module 'wcsdup'.
50075         * modules/wcsdup: New file.
50076         * lib/wchar.in.h (wcsdup): New declaration.
50077         * lib/wcsdup.c: New file.
50078         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
50079         * m4/wcsdup.m4: New file.
50080         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
50081         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
50082         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
50083         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
50084         * doc/posix-functions/wcsdup.texi: Mention the new module.
50086 2011-02-06  Bruno Haible  <bruno@clisp.org>
50088         New module 'wcsxfrm'.
50089         * modules/wcsxfrm: New file.
50090         * lib/wchar.in.h (wcsxfrm): New declaration.
50091         * lib/wcsxfrm.c: New file.
50092         * lib/wcsxfrm-impl.h: New file.
50093         * m4/wcsxfrm.m4: New file.
50094         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
50095         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
50096         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
50097         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
50098         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
50100 2011-02-06  Bruno Haible  <bruno@clisp.org>
50102         New module 'wcscoll'.
50103         * modules/wcscoll: New file.
50104         * lib/wchar.in.h (wcscoll): New declaration.
50105         * lib/wcscoll.c: New file.
50106         * lib/wcscoll-impl.h: New file.
50107         * m4/wcscoll.m4: New file.
50108         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
50109         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
50110         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
50111         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
50112         * doc/posix-functions/wcscoll.texi: Mention the new module.
50114 2011-02-06  Bruno Haible  <bruno@clisp.org>
50116         New module 'wcsncasecmp'.
50117         * modules/wcsncasecmp: New file.
50118         * lib/wchar.in.h (wcsncasecmp): New declaration.
50119         * lib/wcsncasecmp.c: New file.
50120         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
50121         * m4/wcsncasecmp.m4: New file.
50122         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
50123         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
50124         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
50125         HAVE_WCSNCASECMP.
50126         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
50127         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
50129 2011-02-06  Bruno Haible  <bruno@clisp.org>
50131         New module 'wcscasecmp'.
50132         * modules/wcscasecmp: New file.
50133         * lib/wchar.in.h (wcscasecmp): New declaration.
50134         * lib/wcscasecmp.c: New file.
50135         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
50136         * m4/wcscasecmp.m4: New file.
50137         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
50138         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
50139         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
50140         HAVE_WCSCASECMP.
50141         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
50142         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
50144 2011-02-05  Bruno Haible  <bruno@clisp.org>
50146         New module 'wcsncmp'.
50147         * modules/wcsncmp: New file.
50148         * lib/wchar.in.h (wcsncmp): New declaration.
50149         * lib/wcsncmp.c: New file.
50150         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
50151         * m4/wcsncmp.m4: New file.
50152         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
50153         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
50154         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
50155         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
50156         * doc/posix-functions/wcsncmp.texi: Mention the new module.
50158 2011-02-05  Bruno Haible  <bruno@clisp.org>
50160         New module 'wcscmp'.
50161         * modules/wcscmp: New file.
50162         * lib/wchar.in.h (wcscmp): New declaration.
50163         * lib/wcscmp.c: New file.
50164         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
50165         * m4/wcscmp.m4: New file.
50166         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
50167         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
50168         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
50169         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
50170         * doc/posix-functions/wcscmp.texi: Mention the new module.
50172 2011-02-05  Bruno Haible  <bruno@clisp.org>
50174         New module 'wcsncat'.
50175         * modules/wcsncat: New file.
50176         * lib/wchar.in.h (wcsncat): New declaration.
50177         * lib/wcsncat.c: New file.
50178         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
50179         * m4/wcsncat.m4: New file.
50180         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
50181         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
50182         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
50183         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
50184         * doc/posix-functions/wcsncat.texi: Mention the new module.
50186 2011-02-05  Bruno Haible  <bruno@clisp.org>
50188         New module 'wcscat'.
50189         * modules/wcscat: New file.
50190         * lib/wchar.in.h (wcscat): New declaration.
50191         * lib/wcscat.c: New file.
50192         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
50193         * m4/wcscat.m4: New file.
50194         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
50195         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
50196         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
50197         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
50198         * doc/posix-functions/wcscat.texi: Mention the new module.
50200 2011-02-05  Bruno Haible  <bruno@clisp.org>
50202         New module 'wcpncpy'.
50203         * modules/wcpncpy: New file.
50204         * lib/wchar.in.h (wcpncpy): New declaration.
50205         * lib/wcpncpy.c: New file.
50206         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
50207         * m4/wcpncpy.m4: New file.
50208         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
50209         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
50210         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
50211         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
50212         * doc/posix-functions/wcpncpy.texi: Mention the new module.
50214 2011-02-05  Bruno Haible  <bruno@clisp.org>
50216         New module 'wcsncpy'.
50217         * modules/wcsncpy: New file.
50218         * lib/wchar.in.h (wcsncpy): New declaration.
50219         * lib/wcsncpy.c: New file.
50220         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
50221         * m4/wcsncpy.m4: New file.
50222         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
50223         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
50224         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
50225         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
50226         * doc/posix-functions/wcsncpy.texi: Mention the new module.
50228 2011-02-05  Bruno Haible  <bruno@clisp.org>
50230         New module 'wcpcpy'.
50231         * modules/wcpcpy: New file.
50232         * lib/wchar.in.h (wcpcpy): New declaration.
50233         * lib/wcpcpy.c: New file.
50234         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
50235         * m4/wcpcpy.m4: New file.
50236         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
50237         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
50238         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
50239         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
50240         * doc/posix-functions/wcpcpy.texi: Mention the new module.
50242 2011-02-05  Bruno Haible  <bruno@clisp.org>
50244         New module 'wcscpy'.
50245         * modules/wcscpy: New file.
50246         * lib/wchar.in.h (wcscpy): New declaration.
50247         * lib/wcscpy.c: New file.
50248         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
50249         * m4/wcscpy.m4: New file.
50250         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
50251         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
50252         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
50253         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
50254         * doc/posix-functions/wcscpy.texi: Mention the new module.
50256 2011-02-05  Bruno Haible  <bruno@clisp.org>
50258         New module 'wcsnlen'.
50259         * modules/wcsnlen: New file.
50260         * lib/wchar.in.h (wcsnlen): New declaration.
50261         * lib/wcsnlen.c: New file.
50262         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
50263         * m4/wcsnlen.m4: New file.
50264         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
50265         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
50266         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
50267         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
50268         * doc/posix-functions/wcsnlen.texi: Mention the new module.
50270 2011-02-05  Bruno Haible  <bruno@clisp.org>
50272         New module 'wcslen'.
50273         * modules/wcslen: New file.
50274         * lib/wchar.in.h (wcslen): New declaration.
50275         * lib/wcslen.c: New file.
50276         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
50277         * m4/wcslen.m4: New file.
50278         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
50279         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
50280         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
50281         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
50282         * doc/posix-functions/wcslen.texi: Mention the new module.
50284 2011-02-05  Bruno Haible  <bruno@clisp.org>
50286         New module 'wmemset'.
50287         * modules/wmemset: New file.
50288         * lib/wchar.in.h (wmemset): New declaration.
50289         * lib/wmemset.c: New file.
50290         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
50291         * m4/wmemset.m4: New file.
50292         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
50293         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
50294         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
50295         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
50296         * doc/posix-functions/wmemset.texi: Mention the new module.
50298 2011-02-05  Bruno Haible  <bruno@clisp.org>
50300         New module 'wmemmove'.
50301         * modules/wmemmove: New file.
50302         * lib/wchar.in.h (wmemmove): New declaration.
50303         * lib/wmemmove.c: New file.
50304         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
50305         * m4/wmemmove.m4: New file.
50306         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
50307         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
50308         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
50309         HAVE_WMEMMOVE.
50310         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
50311         * doc/posix-functions/wmemmove.texi: Mention the new module.
50313 2011-02-05  Bruno Haible  <bruno@clisp.org>
50315         New module 'wmemcpy'.
50316         * modules/wmemcpy: New file.
50317         * lib/wchar.in.h (wmemcpy): New declaration.
50318         * lib/wmemcpy.c: New file.
50319         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
50320         * m4/wmemcpy.m4: New file.
50321         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
50322         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
50323         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
50324         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
50325         * doc/posix-functions/wmemcpy.texi: Mention the new module.
50327 2011-02-05  Bruno Haible  <bruno@clisp.org>
50329         New module 'wmemcmp'.
50330         * modules/wmemcmp: New file.
50331         * lib/wchar.in.h (wmemcmp): New declaration.
50332         * lib/wmemcmp.c: New file.
50333         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
50334         * m4/wmemcmp.m4: New file.
50335         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
50336         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
50337         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
50338         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
50339         * doc/posix-functions/wmemcmp.texi: Mention the new module.
50341 2011-02-07  Jim Meyering  <meyering@redhat.com>
50343         di-set, ino-map: new modules, from coreutils
50344         * lib/di-set.c: New file.
50345         * lib/di-set.h: Likewise.
50346         * lib/ino-map.c: Likewise.
50347         * lib/ino-map.h: Likewise.
50348         * modules/di-set: Likewise.
50349         * modules/di-set-tests: Likewise.
50350         * modules/ino-map: Likewise.
50351         * modules/ino-map-tests: Likewise.
50352         * tests/test-di-set.c: Likewise.
50353         * tests/test-ino-map.c: Likewise.
50355 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
50357         getloadavg: merge minor changes from Emacs
50359         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
50360         (getloadavg): Use memset, not bzero.
50362         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
50363         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
50364         clash (bug#86).
50366 2010-11-14  Bruno Haible  <bruno@clisp.org>
50368         Allow multiple gnulib generated replacements to coexist.
50369         * lib/getopt.in.h (struct option): Avoid identical redefinition.
50370         * lib/inttypes.in.h (imaxdiv_t): Likewise.
50371         * lib/langinfo.in.h (nl_item): Likewise.
50372         * lib/math.in.h (_NaN, NAN): Likewise.
50373         * lib/netdb.in.h (struct addrinfo): Likewise.
50374         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
50375         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
50376         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
50377         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
50378         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
50379         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
50380         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
50381         pthread_mutexattr_init, pthread_mutexattr_settype,
50382         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
50383         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
50384         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
50385         pthread_spin_trylock, pthread_spin_unlock): Likewise.
50386         * lib/sched.in.h (struct sched_param): Likewise.
50387         * lib/se-selinux.in.h (security_class_t, security_context_t,
50388         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
50389         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
50390         lsetfilecon, fsetfilecon, security_check_context,
50391         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
50392         Likewise.
50393         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
50394         Likewise.
50395         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
50396         _gl_function_taking_int_returning_void_t, union sigval,
50397         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
50398         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
50399         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
50400         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
50401         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
50402         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
50403         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
50404         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
50405         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
50406         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
50407         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
50408         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
50409         socklen_t, rpl_fd_isset): Likewise.
50410         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
50411         * lib/sys_time.in.h (struct timeval): Likewise.
50412         * lib/sys_times.in.h (struct tms): Likewise.
50413         * lib/sys_utsname.in.h (struct utsname):
50414         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
50415         * lib/unistd.in.h (getpagesize): Likewise.
50416         * lib/wchar.in.h (mbstate_t): Likewise.
50417         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
50418         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
50419         towlower, towupper): Likewise.
50420         Reported by Sam Steingold <sds@gnu.org>.
50422 2011-02-05  Eric Blake  <eblake@redhat.com>
50424         unsetenv: work around Haiku issues
50425         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
50426         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
50428 2010-12-30  Bruce Korb  <bkorb@gnu.org>
50430         libposix: avoid calling error() within libposix
50431         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
50432         is defined.
50434 2011-02-05  Eric Blake  <eblake@redhat.com>
50436         strerror_r-posix: port to cygwin
50437         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
50438         implementation.
50439         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
50440         * tests/test-strerror_r.c (main): Fix test.
50441         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
50442         issue.
50444 2011-02-05  Bruno Haible  <bruno@clisp.org>
50446         New module 'wmemchr'.
50447         * modules/wmemchr: New file.
50448         * lib/wchar.in.h (wmemchr): New declaration.
50449         * lib/wmemchr.c: New file.
50450         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
50451         * m4/wmemchr.m4: New file.
50452         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
50453         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
50454         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
50455         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
50456         * doc/posix-functions/wmemchr.texi: Mention the new module.
50458 2011-02-04  Eric Blake  <eblake@redhat.com>
50460         fdopendir: detect FreeBSD bug
50461         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
50462         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
50464 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
50466         stdbool: do not define HAVE_STDBOOL_H
50467         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
50468         AC_HEADER_STDBOOL.  All uses changed.  Do not define
50469         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
50470         imported from the latest Autoconf git.  It was motivated by Emacs,
50471         which uses gnulib but does not need HAVE_STDBOOL_H.
50473 2011-02-04  Bruno Haible  <bruno@clisp.org>
50475         wcsnrtombs: Prepare for new module wwcsnrtombs.
50476         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
50477         * lib/wcsnrtombs.c: Include it.
50478         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
50480         wcsrtombs: Prepare for new module wwcsrtombs.
50481         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
50482         * lib/wcsrtombs.c: Include it.
50483         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
50485         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
50486         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
50487         * lib/mbsnrtowcs.c: Include it.
50488         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
50490         mbsrtowcs: Prepare for new module mbsrtowwcs.
50491         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
50492         * lib/mbsrtowcs.c: Include it.
50493         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
50495 2011-02-04  Bruno Haible  <bruno@clisp.org>
50497         vasnprintf: Reduce use of malloc for small format strings.
50498         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
50499         (arguments): Add room for the first 7 arguments.
50500         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
50501         (char_directives, u8_directives, u16_directives, u32_directives): Add
50502         room for the first 7 directives.
50503         * lib/printf-parse.c: Include <string.h>.
50504         (PRINTF_PARSE): Change memory handling code so that it uses the first
50505         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
50506         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
50507         Reported by Pádraig Brady <P@draigbrady.com>.
50509 2011-01-31  Eric Blake  <eblake@redhat.com>
50511         dup2: work around Haiku bug
50512         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
50513         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
50514         * doc/posix-functions/dup2.texi (dup2): Document the bug.
50515         * tests/test-dup2.c (main): Enhance test.
50517 2011-01-31  Simon Josefsson  <simon@josefsson.org>
50519         doc: off_t is not available in eglibc 2.11.2 stdio.h.
50520         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
50521         declared by eglibc 2.11.2.
50522         * lib/stdio.in.h: Likewise.
50524 2011-01-31  Eric Blake  <eblake@redhat.com>
50526         ignore-value: add missing test dependency
50527         * tests/test-ignore-value.c: Revert previous change; stdio.h
50528         provides off_t.
50529         * modules/ignore-value-tests (Depends-on): Add missing dependency.
50531 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
50533         mktime: clarify long_int width checking
50534         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
50535         the top level, to make it clearer that the assumption about
50536         long_int width is being checked.  See
50537         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
50539 2011-01-30  Simon Josefsson  <simon@josefsson.org>
50541         ignore-value: Fix self-test.
50542         * tests/test-ignore-value.c: Include sys/types.h for off_t.
50544 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
50546         TYPE_MAXIMUM: avoid theoretically undefined behavior
50547         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
50548         negative number, which the C Standard says has undefined behavior.
50549         In practice this is not a problem, but might as well do it by the book.
50550         Reported by Rich Felker and Eric Blake; see
50551         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
50552         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
50553         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
50554         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50555         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
50556         * m4/stdint.m4 (gl_STDINT_H): Likewise.
50557         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
50559         mktime: #undef mktime before #defining it
50560         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
50562         mktime: systematically normalize tm_isdst comparisons
50563         * lib/mktime.c (isdst_differ): New function.
50564         (__mktime_internal): Use it systematically for all isdst comparisons.
50565         This completes the fix for libc BZ #6723, and removes the need for
50566         normalizing tm_isdst.  See
50567         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
50568         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
50570         mktime: fix some integer overflow issues and sidestep the rest
50572         This was prompted by a bug report by Benjamin Lindner for MinGW
50573         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
50574         His bug is due to signed integer overflow (0 - INT_MIN), and I
50575         I scanned through mktime.c looking for other integer overflow
50576         problems, fixing all the bugs I found.
50578         Although the C Standard says the resulting code is still not safe
50579         in the presence of integer overflow, in practice it should be good
50580         enough for all real-world two's-complement implementations, except
50581         for debugging environments that deliberately trap on integer
50582         overflow (e.g., gcc -ftrapv).
50584         * lib/mktime.c (WRAPV): New macro.
50585         (SHR): Also check that long_int and time_t shift right in the
50586         usual way, before using the fast-but-unportable method.
50587         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
50588         used.  The code already assumed two's complement, so there's
50589         no need to test for alternatives.  All uses removed.
50590         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
50591         the C standard.  Problem reported by Rich Felker in
50592         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
50593         (twos_complement_arithmetic): Also check long_int and time_t.
50594         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
50595         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
50596         (__mktime_internal): Avoid integer overflow with unary subtraction
50597         in two instances where -1 - X is an adequate replacement for -X,
50598         since the calculations are approximate.
50600 2011-01-29  Eric Blake  <eblake@redhat.com>
50602         mktime: avoid infinite loop
50603         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
50604         type; behavior is still undefined but portable to all known targets.
50605         Reported by Rich Felker.
50607 2011-01-29  Simon Josefsson  <simon@josefsson.org>
50609         rename, unlink, same-inode: Relicense.
50610         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
50611         * modules/unlink (License): Likewise.
50612         * modules/same-inode (License): Likewise.
50614 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
50616         mktime: avoid problems on NetBSD 5 / i386
50617         * lib/mktime.c (long_int): New type.  This works around a problem
50618         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
50619         but time_t is 64 bits, and where I expect the existing code is
50620         wrong in some cases.
50621         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
50622         (ydhms_diff): Bring back the compile-time check for wide-enough
50623         year and yday.
50625         mktime: fix misspelling in comment
50626         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
50627         This merges all recent glibc changes of importance.
50629 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50631         move-if-change: cope with concurrent mv of identical file.
50632         * build-aux/move-if-change (CMPPROG): Accept environment
50633         variable as an override for `cmp'.
50634         (usage): Document CMPPROG.
50635         Adjust comparison to drop stdout.  Cope with failure of mv if
50636         the target file exists and is identical to the source, for
50637         parallel builds.
50638         Report from H.J. Lu against binutils in PR binutils/12283.
50640 2011-01-28  Bruce Korb  <bkorb@gnu.org>
50642         * users.txt: Mention sharutils.
50644 2011-01-28  Simon Josefsson  <simon@josefsson.org>
50646         * users.txt: Mention OATH Toolkit.
50648 2011-01-27  Bruno Haible  <bruno@clisp.org>
50650         Prepare for supporting FreeBSD 10.
50651         * build-aux/config.libpath: Remove handling of freebsd1*.
50653 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
50655         Prepare for supporting FreeBSD 10.
50656         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
50657         match FreeBSD 10.0.
50659 2011-01-27  Bruno Haible  <bruno@clisp.org>
50661         vma-iter, get-rusage-as: Add OpenBSD support.
50662         * modules/vma-iter (configure.ac): Test for mquery.
50663         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
50664         * lib/vma-iter.c: Include <sys/mman.h>.
50665         (vma_iterate): Add an implementation based on mquery().
50666         * lib/resource-ext.h (get_rusage_as): Update comments.
50667         * lib/get-rusage-as.c: Likewise.
50668         * lib/get-rusage-data.c: Likewise.
50670 2011-01-26  Karl Berry  <karl@gnu.org>
50672         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
50673         variables to make it easier to override the makeinfo program used.
50675 2011-01-26  Eric Blake  <eblake@redhat.com>
50677         fcntl: work around Haiku F_DUPFD bugs
50678         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
50679         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
50680         cloexec bit on duplication.
50681         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
50683 2011-01-26  Bruno Haible  <bruno@clisp.org>
50685         Enable memory leak tests on AIX.
50686         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
50687         * tests/test-fprintf-posix3.c (main): Likewise.
50689 2011-01-26  Bruno Haible  <bruno@clisp.org>
50691         Tests for module 'get-rusage-data'.
50692         * modules/get-rusage-data-tests: New file.
50693         * tests/test-get-rusage-data.c: New file.
50695         New module 'get-rusage-data'.
50696         * lib/resource-ext.h (get_rusage_data): New declaration.
50697         * lib/get-rusage-data.c: New file.
50698         * modules/get-rusage-data: New file.
50700 2011-01-25  Bruno Haible  <bruno@clisp.org>
50702         get-rusage-as: Allow for easier testing.
50703         * lib/resource-ext.h (get_rusage_as): Add comment.
50704         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
50705         (main): New function for interactive testing.
50707 2011-01-25  Bruno Haible  <bruno@clisp.org>
50709         vma-iter: Treat Haiku like BeOS.
50710         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
50711         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
50713 2011-01-25  Eric Blake  <eblake@redhat.com>
50715         c-stack: fix regression on cygwin when libsigsegv is present
50716         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
50718 2011-01-24  Bruno Haible  <bruno@clisp.org>
50720         vma-iter: Avoid empty intervals.
50721         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
50722         on an empty interval.
50724 2011-01-24  Jim Meyering  <meyering@redhat.com>
50726         u64: remove unnecessary #include
50727         * lib/u64.h: Don't include <stddef.h>.  It was not used.
50729 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50731         Allow the user to avoid the HAVE_RAW_DECL_* macros.
50732         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
50734 2011-01-23  Bruno Haible  <bruno@clisp.org>
50736         New module 'vma-iter'.
50737         * lib/vma-iter.h: New file.
50738         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
50739         * modules/vma-iter: New file.
50740         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
50741         for get_rusage_as_via_iterator.
50742         (vma_iterate_callback): New function.
50743         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
50744         * modules/get-rusage-as (Depends-on): Add vma-iter.
50746 2011-01-23  Bruno Haible  <bruno@clisp.org>
50748         uninorm: Tweak includes.
50749         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
50750         Reported by Jim Meyering.
50752 2011-01-23  Bruno Haible  <bruno@clisp.org>
50754         get-rusage-as: Improve on NetBSD.
50755         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
50756         /proc, like on FreeBSD.
50758 2011-01-23  Jim Meyering  <meyering@redhat.com>
50760         xreadlink.h: remove unnecessary #include
50761         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
50763         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
50764         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
50766 2011-01-23  Bruno Haible  <bruno@clisp.org>
50768         get-rusage-as: Fix bug.
50769         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
50770         original limit when aborting the first loop.
50772 2011-01-23  Bruno Haible  <bruno@clisp.org>
50774         wctype: Ensure valid C syntax.
50775         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
50776         unconditionally, instead of gl_NEXT_HEADERS conditionally.
50778 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
50780         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
50781         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
50782         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
50783         as they are needed only for configure's test case.
50784         This removes two unnecessary symbols from config.h.
50786         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
50787         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
50788         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
50789         AC_CHECK_HEADERS_ONCE on a header that we also invoke
50790         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
50791         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
50792         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
50793         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
50794         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
50795         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
50796         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
50797         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50798         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
50799         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
50800         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
50801         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
50802         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
50803         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
50805 2011-01-21  Eric Blake  <eblake@redhat.com>
50807         maintainer-makefile: work with older git for submodule check
50808         * top/maint.mk (public-submodule-commit): Rewrite to avoid
50809         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
50810         Reported by Matthias Bolte.
50812         bootstrap: minor portability fixes
50813         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
50814         (usage): Omit leading capital and trailing . on help phrases, per
50815         GNU Coding Standards.
50816         (check_versions, top level): Prefix messages with script name.
50818 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
50820         bootstrap: support --no-git option
50821         * build-aux/bootstrap: Add --no-git option, to be used when
50822         --gnulib-srcdir points to the exact desired checkout.
50824 2011-01-21  Eric Blake  <eblake@redhat.com>
50826         strerror_r-posix: work with glibc 2.13
50827         * lib/strerror_r.c (strerror_r): Fix return type.
50829 2011-01-21  Pádraig Brady  <P@draigBrady.com>
50830             Bruno Haible  <bruno@clisp.org>
50832         uN_strstr: New unit tests.
50833         * modules/unistr/u8-strstr-tests: New file.
50834         * modules/unistr/u16-strstr-tests: New file.
50835         * modules/unistr/u32-strstr-tests: New file.
50836         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
50837         * tests/unistr/test-u8-strstr.c: New file.
50838         * tests/unistr/test-u16-strstr.c: New file.
50839         * tests/unistr/test-u32-strstr.c: New file.
50841 2011-01-21  Pádraig Brady  <P@draigBrady.com>
50842             Bruno Haible  <bruno@clisp.org>
50844         Make uN_strstr functions O(n) worst-case.
50845         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
50846         16-bit and 32-bit unit cases, use the unibyte algorithm from
50847         lib/mbsstr.c.
50848         * lib/unistr/u8-strstr.c: Include <string.h>.
50849         (UNIT_IS_UINT8_T): New macro.
50850         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
50851         (U_STRLEN, U_STRNLEN): New macros.
50852         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
50853         (U_STRLEN, U_STRNLEN): New macros.
50854         * modules/unistr/u8-strstr (Depends-on): Add strstr.
50855         (configure.ac): Update required libunistring version.
50856         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
50857         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
50858         malloca.
50859         (configure.ac): Update required libunistring version.
50860         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
50861         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
50862         malloca.
50863         (configure.ac): Update required libunistring version.
50865 2011-01-21  Pádraig Brady  <P@draigBrady.com>
50866             Bruno Haible  <bruno@clisp.org>
50868         Prepare for faster uN_strstr functions.
50869         * lib/str-kmp.h: Support definable UNITs.
50870         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
50871         needle_len argument.
50872         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
50873         * lib/mbscasestr.c (mbscasestr): Likewise.
50875 2011-01-21  Pádraig Brady  <P@draigBrady.com>
50877         malloca-tests: make faster by unsetting MALLOC_PERTURB_
50878         * tests/test-malloca.c (main): Unset the environment variable
50879         to greatly speed up the test.
50880         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
50881         * modules/malloca-tests: Depend on unsetenv.
50883 2011-01-21  Pádraig Brady  <P@draigBrady.com>
50885         ignore-value: remove stdint dependency
50886         * lib/ignore-value.h: Remove <stdint.h>
50887         * modules/ignore-value: Remove stdint dependency.
50889 2011-01-21  Jim Meyering  <meyering@redhat.com>
50891         maint.mk: adjust variable name to be consistent with other gl_ vars
50892         * top/maint.mk (gl_public_submodule_commit): Rename the variable
50893         to be lower case.
50895 2011-01-20  Jim Meyering  <meyering@redhat.com>
50897         maint.mk: make "check" depend on public-submodule-commit by default
50898         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
50900 2011-01-20  Bruno Haible  <bruno@clisp.org>
50902         mbfile, mbiter: Complete change from 2008-12-21.
50903         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
50904         * m4/mbiter.m4 (gl_MBITER): Likewise.
50906 2011-01-20  Jim Meyering  <meyering@redhat.com>
50908         init.sh: insert space between each function name and "()"
50909         * tests/init.sh: Make it a little easier to see that a function's
50910         name is "warn_", and not "warn" when looking at the first part of
50911         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
50913 2011-01-20  Jim Meyering  <meyering@redhat.com>
50915         mountlist: clean up code formatting
50916         * lib/mountlist.c (read_file_system_list): Split a long line,
50917         correct bracing style, use NULL in place of "(struct statfs *)0",
50918         don't parenthesize return value, add spaces around "=" and after
50919         ";-in-for-stmt".
50921 2011-01-14  Markus Duft  <mduft@gentoo.org>
50923         mountlist: add support for Interix
50924         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
50925         Apply statvfs to all entries of /dev/fs.
50926         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
50927         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
50929 2011-01-20  Jim Meyering  <meyering@redhat.com>
50931         maint.mk: improve the public-submodule-commit rule
50932         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
50933         to suppress printing of its commands... unless V=1.
50934         Add git submodule's --quiet option to suppress printing of e.g.,
50935         "Entering gnulib" output.
50936         "cd" into $(srcdir) before running git submodule.
50938 2011-01-20  Bruno Haible  <bruno@clisp.org>
50940         include_next: Fix bug introduced on 2011-01-18.
50941         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
50942         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
50943         ac_cv_header_... variable if the second argument is not 'check'.
50944         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
50945         gl_NEXT_HEADERS_INTERNAL.
50947 2011-01-20  Bruno Haible  <bruno@clisp.org>
50949         Allow the user to avoid the GNULIB_TEST_* macros.
50950         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
50951         Suggested by Paul Eggert.
50953 2011-01-14  Jim Meyering  <meyering@redhat.com>
50955         bootstrap: avoid failure when there is no .gitmodules file
50956         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
50957         has been assigned to, even when its value is the empty string.
50958         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
50959         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
50960         Reported by John W. Eaton <jwe@gnu.org>.
50962 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
50964         assume <ctype.h>, ..., <time.h> exist
50965         For years gnulib has been assuming the existence of the headers
50966         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
50967         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
50968         them, since they don't appear to be needed.
50969         * README (Portability guidelines): Document this.
50970         * lib/flock.c: Assume <fcntl.h> exists.
50971         * lib/regex_internal.h: Assume <locale.h> exists.
50972         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
50973         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
50974         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
50975         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
50976         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
50977         * m4/regex.m4 (gl_REGEX): Likewise.
50978         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
50979         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
50980         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
50981         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
50982         * tests/test-argp.c: Likewise.
50983         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
50985         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
50986         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
50987         AA_APPLE_UNIVERSAL_BUILD.  See
50988         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
50989         * NEWS: Document this.
50991 2011-01-19  Eric Blake  <eblake@redhat.com>
50993         c-stack: assume stack overflow if SA_SIGINFO unsupported
50994         * lib/c-stack.c (SIGACTION_WORKS): Rename...
50995         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
50996         sigaction will work.
50997         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
50998         behavior match Linux.
50999         * tests/test-c-stack.c (main): Prefer NULL for pointers.
51001         stdbool-tests: accommodate Haiku
51002         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
51004         binary-io: fix O_TEXT on Haiku
51005         * modules/binary-io (Depends-on): Add fcntl-h.
51006         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
51007         than blindly undefining O_TEXT.
51008         Reported by Scott McCreary.
51010 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51012         include_next: do not check for standard headers like stddef.h
51014         I found this problem when modifying Emacs to use gnulib.
51015         I noticed that it added HAVE_STDDEF_H to config.h, even though
51016         gnulib always assumes <stddef.h> exists as per README and this
51017         symbol is unnecessary.
51018         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
51019         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
51020         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
51021         faster for headers like stddef.h that are known to exist.
51022         (gl_CHECK_NEXT_HEADERS): Use it.
51023         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
51024         rather than gl_CHECK_NEXT_HEADERS.
51025         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
51026         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
51028 2011-01-18  Eric Blake  <eblake@redhat.com>
51030         ansi-c++-opt: skip C++ dependency style if C++ is unused
51031         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
51032         tests when we know C++ compilation is not desired.
51033         Reported by Scott McCreary.
51035 2011-01-18  Bruno Haible  <bruno@clisp.org>
51037         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
51038         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
51039         (main): Perform test also when getrlimit and setrlimit don't exist or
51040         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
51041         limiting the address space size using setrlimit, compare the address
51042         space size before and after the test.
51043         * tests/test-dprintf-posix2.c: Likewise.
51044         * tests/test-fprintf-posix3.sh: Update skip messages.
51045         * tests/test-dprintf-posix2.sh: Likewise.
51046         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
51047         * modules/dprintf-posix-tests (Depends-on): Likewise.
51048         Reported by Bruce Korb <bkorb@gnu.org> and
51049         Gary V. Vaughan <gary@gnu.org>.
51051 2011-01-18  Bruno Haible  <bruno@clisp.org>
51053         get-rusage-as: Improvement for Cygwin.
51054         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
51055         areas that are merely reserved.
51057 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51059         strftime: remove dependencies on multibyte modules
51061         strftime depended on mbrlen, mbsinit, and wchar, but these modules
51062         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
51063         only if __osf__ is defined, and I suspect OSF doesn't need these
51064         other modules.  If my guess is wrong, we'll need to come up with a
51065         variant of strftime that doesn't need the multibyte modules.
51067         I discovered this problem when attempting modify Emacs to use the
51068         strftime module.  With the previous gnulib, this caused Emacs to
51069         need 31 new files, ranging from lib/config.charset to
51070         m4/wint_t.m4.  This was overkill and I expect would be offputting
51071         to the Emacs maintainers.  After this change, only 6 new files are
51072         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
51073         stdbool.m4, and tm_gmtoff.m4.
51075         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
51076         Suggested by Bruno Haible in
51077         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
51078         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
51079         and do not check for wchar.h.
51080         * modules/strftime (Files): Remove m4/mbstate_t.m4.
51081         (Depends-on): Remove mbrlen, mbsinit, wchar.
51083 2011-01-18  Bruno Haible  <bruno@clisp.org>
51085         Tests for module 'get-rusage-as'.
51086         * modules/get-rusage-as-tests: New file.
51087         * tests/test-get-rusage-as.c: New file.
51089         New module 'get-rusage-as'.
51090         * modules/get-rusage-as: New file.
51091         * lib/resource-ext.h: New file.
51092         * lib/get-rusage-as.c: New file.
51094 2011-01-17  Eric Blake  <eblake@redhat.com>
51096         sigaction: relax license from LGPLv3+ to LGPLv2+
51097         * modules/sigaction (License): Relax to LGPLv2+.
51099 2011-01-14  Bruno Haible  <bruno@clisp.org>
51101         filemode: Make function declarations usable in C++ mode.
51102         * lib/filemode.h: Enclose function declarations in extern "C" block.
51103         Reported by John W. Eaton <jwe@gnu.org>.
51105 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
51107         save-cwd: no longer include "xgetcwd.h"
51108         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
51109         This avoids a compilation failure in projects that use save-cwd
51110         without also using the xgetcwd module.
51112 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
51114         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
51115         This is so that a program like Emacs, which needs only dtoastr,
51116         does not have to bother with distributing and compiling ftoastr
51117         and ldtoastr.
51118         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
51119         * modules/dtoastr, modules/ldtoastr: New files.
51120         * modules/ftoastr: Now works just for 'float'.
51121         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
51122         (Makefile.am): Remove ftoastr.h (not needed and no effect),
51123         dtoastr.c, ldtoastr.c.
51125 2011-01-11  Jim Meyering  <meyering@redhat.com>
51127         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
51128         There is no need to work around the lack of the fchdir function,
51129         since gnulib can now provide a replacement when required.
51130         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
51131         * modules/save-cwd (Depends-on): Add fchdir.
51133 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
51135         openat, save-cwd: avoid xmalloc
51137         This removes a direct (but undocumented) dependency of openat on
51138         xalloc, along with an indirect dependency via save-cwd.  It also
51139         removes a dependency of save-cwd on xgetcwd, and thereby
51140         indirectly on xalloc.  This change causes the openat substitute
51141         to fall back on save_cwd when memory is tight, and for save_cwd to
51142         fail instead of dying when memory is tight, but that's good enough.
51143         Problem and initial idea for fix reported by Bastien Roucaries in
51144         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
51146         * lib/openat-proc.c: Include stdlib.h (for malloc), not
51147         xalloc.h (for xmalloc).
51148         (openat_proc_name): Use malloc, not xmalloc.
51149         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
51150         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
51152         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
51153         This avoids heap allocation for file names whose lengths are in
51154         the range 512..1023, with the upper bound increasing to at most
51155         4031 depending on the platform's PATH_MAX.  (We do not want
51156         pathmax.h here as it might supply a non-constant PATH_MAX.)
51157         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
51158         Perhaps they should be moved to malloca.h?
51159         (OPENAT_BUFFER_SIZE): Use them.
51161 2011-01-10  Bruno Haible  <bruno@clisp.org>
51163         doc: Update users.txt.
51164         * users.txt: Add recutils.
51166 2011-01-09  Karl Berry  <karl@gnu.org>
51168         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
51170         * doc/configmake.texi: New file.
51171         * doc/gnulib.texi: Include it.
51172         * modules/configmake: Move documentation from here.
51174 2011-01-09  Bruno Haible  <bruno@clisp.org>
51176         Update to Unicode 6.0.0.
51177         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
51178         (get_lbp): Update for Unicode 6.0.0.
51179         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
51180         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
51181         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
51182         U+11001, U+11038..U+11046. Remove U+06DE.
51183         (uc_width): Fix bounds of planes.
51184         * tests/uniwidth/test-uc_width2.sh: Same updates as in
51185         lib/uniwidth/width.c.
51186         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
51187         trailing whitespace removed.
51188         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
51189         without comments, but with the original copyright notice.
51190         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
51191         * lib/unicase/ignorable.h: Likewise.
51192         * lib/unicase/tocasefold.h: Likewise.
51193         * lib/unicase/tolower.h: Likewise.
51194         * lib/unicase/totitle.h: Likewise.
51195         * lib/unicase/toupper.h: Likewise.
51196         * lib/unictype/bidi_of.h: Likewise.
51197         * lib/unictype/blocks.h: Likewise.
51198         * lib/unictype/categ_C.h: Likewise.
51199         * lib/unictype/categ_Cn.h: Likewise.
51200         * lib/unictype/categ_L.h: Likewise.
51201         * lib/unictype/categ_Ll.h: Likewise.
51202         * lib/unictype/categ_Lm.h: Likewise.
51203         * lib/unictype/categ_Lo.h: Likewise.
51204         * lib/unictype/categ_Lu.h: Likewise.
51205         * lib/unictype/categ_M.h: Likewise.
51206         * lib/unictype/categ_Mc.h: Likewise.
51207         * lib/unictype/categ_Me.h: Likewise.
51208         * lib/unictype/categ_Mn.h: Likewise.
51209         * lib/unictype/categ_N.h: Likewise.
51210         * lib/unictype/categ_Nd.h: Likewise.
51211         * lib/unictype/categ_No.h: Likewise.
51212         * lib/unictype/categ_P.h: Likewise.
51213         * lib/unictype/categ_Po.h: Likewise.
51214         * lib/unictype/categ_S.h: Likewise.
51215         * lib/unictype/categ_Sc.h: Likewise.
51216         * lib/unictype/categ_Sk.h: Likewise.
51217         * lib/unictype/categ_Sm.h: Likewise.
51218         * lib/unictype/categ_So.h: Likewise.
51219         * lib/unictype/categ_of.h: Likewise.
51220         * lib/unictype/combining.h: Likewise.
51221         * lib/unictype/ctype_alnum.h: Likewise.
51222         * lib/unictype/ctype_alpha.h: Likewise.
51223         * lib/unictype/ctype_graph.h: Likewise.
51224         * lib/unictype/ctype_lower.h: Likewise.
51225         * lib/unictype/ctype_print.h: Likewise.
51226         * lib/unictype/ctype_punct.h: Likewise.
51227         * lib/unictype/ctype_upper.h: Likewise.
51228         * lib/unictype/decdigit.h: Likewise.
51229         * lib/unictype/digit.h: Likewise.
51230         * lib/unictype/numeric.h: Likewise.
51231         * lib/unictype/pr_alphabetic.h: Likewise.
51232         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
51233         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
51234         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
51235         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
51236         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
51237         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
51238         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
51239         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
51240         * lib/unictype/pr_case_ignorable.h: Likewise.
51241         * lib/unictype/pr_cased.h: Likewise.
51242         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
51243         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
51244         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
51245         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
51246         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
51247         * lib/unictype/pr_combining.h: Likewise.
51248         * lib/unictype/pr_composite.h: Likewise.
51249         * lib/unictype/pr_currency_symbol.h: Likewise.
51250         * lib/unictype/pr_decimal_digit.h: Likewise.
51251         * lib/unictype/pr_deprecated.h: Likewise.
51252         * lib/unictype/pr_format_control.h: Likewise.
51253         * lib/unictype/pr_grapheme_base.h: Likewise.
51254         * lib/unictype/pr_grapheme_extend.h: Likewise.
51255         * lib/unictype/pr_grapheme_link.h: Likewise.
51256         * lib/unictype/pr_id_continue.h: Likewise.
51257         * lib/unictype/pr_id_start.h: Likewise.
51258         * lib/unictype/pr_ideographic.h: Likewise.
51259         * lib/unictype/pr_lowercase.h: Likewise.
51260         * lib/unictype/pr_math.h: Likewise.
51261         * lib/unictype/pr_numeric.h: Likewise.
51262         * lib/unictype/pr_other_alphabetic.h: Likewise.
51263         * lib/unictype/pr_other_id_continue.h: Likewise.
51264         * lib/unictype/pr_other_math.h: Likewise.
51265         * lib/unictype/pr_punctuation.h: Likewise.
51266         * lib/unictype/pr_sentence_terminal.h: Likewise.
51267         * lib/unictype/pr_terminal_punctuation.h: Likewise.
51268         * lib/unictype/pr_unassigned_code_value.h: Likewise.
51269         * lib/unictype/pr_unified_ideograph.h: Likewise.
51270         * lib/unictype/pr_uppercase.h: Likewise.
51271         * lib/unictype/pr_xid_continue.h: Likewise.
51272         * lib/unictype/pr_xid_start.h: Likewise.
51273         * lib/unictype/scripts.h: Likewise.
51274         * lib/unictype/scripts_byname.gperf: Likewise.
51275         * lib/unictype/sy_java_ident.h: Likewise.
51276         * lib/unigbrk/gbrkprop.h: Likewise.
51277         * lib/unilbrk/lbrkprop1.h: Likewise.
51278         * lib/unilbrk/lbrkprop2.h: Likewise.
51279         * lib/uninorm/decomposition-table2.h: Likewise.
51280         * lib/uniwbrk/wbrkprop.h: Likewise.
51281         * tests/unicase/test-cased.c: Likewise.
51282         * tests/unicase/test-ignorable.c: Likewise.
51283         * tests/unicase/test-uc_tolower.c: Likewise.
51284         * tests/unicase/test-uc_totitle.c: Likewise.
51285         * tests/unicase/test-uc_toupper.c: Likewise.
51286         * tests/unictype/test-categ_C.c: Likewise.
51287         * tests/unictype/test-categ_Cn.c: Likewise.
51288         * tests/unictype/test-categ_L.c: Likewise.
51289         * tests/unictype/test-categ_Ll.c: Likewise.
51290         * tests/unictype/test-categ_Lm.c: Likewise.
51291         * tests/unictype/test-categ_Lo.c: Likewise.
51292         * tests/unictype/test-categ_Lu.c: Likewise.
51293         * tests/unictype/test-categ_M.c: Likewise.
51294         * tests/unictype/test-categ_Mc.c: Likewise.
51295         * tests/unictype/test-categ_Me.c: Likewise.
51296         * tests/unictype/test-categ_Mn.c: Likewise.
51297         * tests/unictype/test-categ_N.c: Likewise.
51298         * tests/unictype/test-categ_Nd.c: Likewise.
51299         * tests/unictype/test-categ_No.c: Likewise.
51300         * tests/unictype/test-categ_P.c: Likewise.
51301         * tests/unictype/test-categ_Po.c: Likewise.
51302         * tests/unictype/test-categ_S.c: Likewise.
51303         * tests/unictype/test-categ_Sc.c: Likewise.
51304         * tests/unictype/test-categ_Sk.c: Likewise.
51305         * tests/unictype/test-categ_Sm.c: Likewise.
51306         * tests/unictype/test-categ_So.c: Likewise.
51307         * tests/unictype/test-ctype_alnum.c: Likewise.
51308         * tests/unictype/test-ctype_alpha.c: Likewise.
51309         * tests/unictype/test-ctype_graph.c: Likewise.
51310         * tests/unictype/test-ctype_lower.c: Likewise.
51311         * tests/unictype/test-ctype_print.c: Likewise.
51312         * tests/unictype/test-ctype_punct.c: Likewise.
51313         * tests/unictype/test-ctype_upper.c: Likewise.
51314         * tests/unictype/test-decdigit.h: Likewise.
51315         * tests/unictype/test-digit.h: Likewise.
51316         * tests/unictype/test-numeric.h: Likewise.
51317         * tests/unictype/test-pr_alphabetic.c: Likewise.
51318         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
51319         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
51320         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
51321         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
51322         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
51323         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
51324         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
51325         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
51326         * tests/unictype/test-pr_case_ignorable.c: Likewise.
51327         * tests/unictype/test-pr_cased.c: Likewise.
51328         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
51329         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
51330         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
51331         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
51332         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
51333         * tests/unictype/test-pr_combining.c: Likewise.
51334         * tests/unictype/test-pr_composite.c: Likewise.
51335         * tests/unictype/test-pr_currency_symbol.c: Likewise.
51336         * tests/unictype/test-pr_decimal_digit.c: Likewise.
51337         * tests/unictype/test-pr_deprecated.c: Likewise.
51338         * tests/unictype/test-pr_format_control.c: Likewise.
51339         * tests/unictype/test-pr_grapheme_base.c: Likewise.
51340         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
51341         * tests/unictype/test-pr_grapheme_link.c: Likewise.
51342         * tests/unictype/test-pr_id_continue.c: Likewise.
51343         * tests/unictype/test-pr_id_start.c: Likewise.
51344         * tests/unictype/test-pr_ideographic.c: Likewise.
51345         * tests/unictype/test-pr_lowercase.c: Likewise.
51346         * tests/unictype/test-pr_math.c: Likewise.
51347         * tests/unictype/test-pr_numeric.c: Likewise.
51348         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
51349         * tests/unictype/test-pr_other_id_continue.c: Likewise.
51350         * tests/unictype/test-pr_other_math.c: Likewise.
51351         * tests/unictype/test-pr_punctuation.c: Likewise.
51352         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
51353         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
51354         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
51355         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
51356         * tests/unictype/test-pr_uppercase.c: Likewise.
51357         * tests/unictype/test-pr_xid_continue.c: Likewise.
51358         * tests/unictype/test-pr_xid_start.c: Likewise.
51359         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
51360         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
51361         changes.
51362         * lib/unictype/categ_Cc.h: Likewise.
51363         * lib/unictype/categ_Cf.h: Likewise.
51364         * lib/unictype/categ_Co.h: Likewise.
51365         * lib/unictype/categ_Cs.h: Likewise.
51366         * lib/unictype/categ_Lt.h: Likewise.
51367         * lib/unictype/categ_Nl.h: Likewise.
51368         * lib/unictype/categ_Pc.h: Likewise.
51369         * lib/unictype/categ_Pd.h: Likewise.
51370         * lib/unictype/categ_Pe.h: Likewise.
51371         * lib/unictype/categ_Pf.h: Likewise.
51372         * lib/unictype/categ_Pi.h: Likewise.
51373         * lib/unictype/categ_Ps.h: Likewise.
51374         * lib/unictype/categ_Z.h: Likewise.
51375         * lib/unictype/categ_Zl.h: Likewise.
51376         * lib/unictype/categ_Zp.h: Likewise.
51377         * lib/unictype/categ_Zs.h: Likewise.
51378         * lib/unictype/ctype_blank.h: Likewise.
51379         * lib/unictype/ctype_cntrl.h: Likewise.
51380         * lib/unictype/ctype_digit.h: Likewise.
51381         * lib/unictype/ctype_space.h: Likewise.
51382         * lib/unictype/ctype_xdigit.h: Likewise.
51383         * lib/unictype/mirror.h: Likewise.
51384         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
51385         * lib/unictype/pr_bidi_block_separator.h: Likewise.
51386         * lib/unictype/pr_bidi_common_separator.h: Likewise.
51387         * lib/unictype/pr_bidi_control.h: Likewise.
51388         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
51389         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
51390         * lib/unictype/pr_bidi_european_digit.h: Likewise.
51391         * lib/unictype/pr_bidi_pdf.h: Likewise.
51392         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
51393         * lib/unictype/pr_bidi_whitespace.h: Likewise.
51394         * lib/unictype/pr_dash.h: Likewise.
51395         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
51396         * lib/unictype/pr_diacritic.h: Likewise.
51397         * lib/unictype/pr_extender.h: Likewise.
51398         * lib/unictype/pr_hex_digit.h: Likewise.
51399         * lib/unictype/pr_hyphen.h: Likewise.
51400         * lib/unictype/pr_ids_binary_operator.h: Likewise.
51401         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
51402         * lib/unictype/pr_ignorable_control.h: Likewise.
51403         * lib/unictype/pr_iso_control.h: Likewise.
51404         * lib/unictype/pr_join_control.h: Likewise.
51405         * lib/unictype/pr_left_of_pair.h: Likewise.
51406         * lib/unictype/pr_line_separator.h: Likewise.
51407         * lib/unictype/pr_logical_order_exception.h: Likewise.
51408         * lib/unictype/pr_non_break.h: Likewise.
51409         * lib/unictype/pr_not_a_character.h: Likewise.
51410         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
51411         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
51412         * lib/unictype/pr_other_id_start.h: Likewise.
51413         * lib/unictype/pr_other_lowercase.h: Likewise.
51414         * lib/unictype/pr_other_uppercase.h: Likewise.
51415         * lib/unictype/pr_paired_punctuation.h: Likewise.
51416         * lib/unictype/pr_paragraph_separator.h: Likewise.
51417         * lib/unictype/pr_pattern_syntax.h: Likewise.
51418         * lib/unictype/pr_pattern_white_space.h: Likewise.
51419         * lib/unictype/pr_private_use.h: Likewise.
51420         * lib/unictype/pr_quotation_mark.h: Likewise.
51421         * lib/unictype/pr_radical.h: Likewise.
51422         * lib/unictype/pr_soft_dotted.h: Likewise.
51423         * lib/unictype/pr_space.h: Likewise.
51424         * lib/unictype/pr_titlecase.h: Likewise.
51425         * lib/unictype/pr_variation_selector.h: Likewise.
51426         * lib/unictype/pr_white_space.h: Likewise.
51427         * lib/unictype/pr_zero_width.h: Likewise.
51428         * lib/unictype/sy_c_ident.h: Likewise.
51429         * lib/unictype/sy_c_whitespace.h: Likewise.
51430         * lib/unictype/sy_java_whitespace.h: Likewise.
51431         * lib/uninorm/composition-table.gperf: Likewise.
51432         * lib/uninorm/decomposition-table1.h: Likewise.
51433         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
51434         LB8.
51435         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
51436         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
51437         * modules/unictype/*: Bump version number of expected libunistring
51438         version.
51440 2011-01-09  Bruno Haible  <bruno@clisp.org>
51442         Update to Unicode 5.2.0.
51443         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
51444         trailing whitespace removed.
51446 2011-01-09  Bruno Haible  <bruno@clisp.org>
51448         New Unicode character properties, from Unicode 5.2.0.
51449         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
51450         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
51451         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
51452         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
51453         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
51454         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
51455         uc_is_property_cased, uc_is_property_case_ignorable,
51456         uc_is_property_changes_when_lowercased,
51457         uc_is_property_changes_when_uppercased,
51458         uc_is_property_changes_when_titlecased,
51459         uc_is_property_changes_when_casefolded,
51460         uc_is_property_changes_when_casemapped): New declarations.
51461         * lib/unictype/pr_byname.gperf: Add the new properties.
51462         * modules/unictype/property-byname (Depends-on): Depend on the new
51463         properties modules.
51464         * modules/unictype/property-all (Depends-on): Likewise.
51465         * MODULES.html.sh (Unicode string functions): Add
51466         unictype/property-case-ignorable, unictype/property-cased,
51467         unictype/property-changes-when-casefolded,
51468         unictype/property-changes-when-casemapped,
51469         unictype/property-changes-when-lowercased,
51470         unictype/property-changes-when-titlecased,
51471         unictype/property-changes-when-uppercased.
51473         New module 'unictype/property-changes-when-casemapped'.
51474         * modules/unictype/property-changes-when-casemapped: New file.
51475         * lib/unictype/pr_changes_when_casemapped.c: New file.
51476         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
51477         generated by gen-uni-tables.
51478         * modules/unictype/property-changes-when-casemapped-tests: New file.
51479         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
51480         automatically generated by gen-uni-tables.
51482         New module 'unictype/property-changes-when-casefolded'.
51483         * modules/unictype/property-changes-when-casefolded: New file.
51484         * lib/unictype/pr_changes_when_casefolded.c: New file.
51485         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
51486         generated by gen-uni-tables.
51487         * modules/unictype/property-changes-when-casefolded-tests: New file.
51488         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
51489         automatically generated by gen-uni-tables.
51491         New module 'unictype/property-changes-when-titlecased'.
51492         * modules/unictype/property-changes-when-titlecased: New file.
51493         * lib/unictype/pr_changes_when_titlecased.c: New file.
51494         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
51495         generated by gen-uni-tables.
51496         * modules/unictype/property-changes-when-titlecased-tests: New file.
51497         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
51498         automatically generated by gen-uni-tables.
51500         New module 'unictype/property-changes-when-uppercased'.
51501         * modules/unictype/property-changes-when-uppercased: New file.
51502         * lib/unictype/pr_changes_when_uppercased.c: New file.
51503         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
51504         generated by gen-uni-tables.
51505         * modules/unictype/property-changes-when-uppercased-tests: New file.
51506         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
51507         automatically generated by gen-uni-tables.
51509         New module 'unictype/property-changes-when-lowercased'.
51510         * modules/unictype/property-changes-when-lowercased: New file.
51511         * lib/unictype/pr_changes_when_lowercased.c: New file.
51512         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
51513         generated by gen-uni-tables.
51514         * modules/unictype/property-changes-when-lowercased-tests: New file.
51515         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
51516         automatically generated by gen-uni-tables.
51518         New module 'unictype/property-case-ignorable'.
51519         * modules/unictype/property-case-ignorable: New file.
51520         * lib/unictype/pr_case_ignorable.c: New file.
51521         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
51522         by gen-uni-tables.
51523         * modules/unictype/property-case-ignorable-tests: New file.
51524         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
51525         generated by gen-uni-tables.
51527         New module 'unictype/property-cased'.
51528         * modules/unictype/property-cased: New file.
51529         * lib/unictype/pr_cased.c: New file.
51530         * lib/unictype/pr_cased.h: New file, automatically generated by
51531         gen-uni-tables.
51532         * modules/unictype/property-cased-tests: New file.
51533         * tests/unictype/test-pr_cased.c: New file, automatically generated by
51534         gen-uni-tables.
51536 2011-01-09  Bruno Haible  <bruno@clisp.org>
51538         Update to Unicode 5.2.0.
51539         * lib/gen-uni-tables.c (output_predicate, output_category,
51540         output_combclass, output_bidi_category, output_decimal_digit_test,
51541         output_decimal_digit, output_digit_test, output_digit,
51542         output_numeric_test, output_numeric, output_mirror, output_scripts,
51543         output_scripts_byname, output_blocks, output_ident_category): Fix
51544         comment header.
51545         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
51546         get_wbp.
51547         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
51548         items.
51549         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
51550         Changes_When_Lowercased, Changes_When_Uppercased,
51551         Changes_When_Titlecased, Changes_When_Casefolded,
51552         Changes_When_Casemapped.
51553         (is_property_alphabetic, is_property_default_ignorable_code_point):
51554         Update for Unicode 5.2.0.
51555         (is_property_cased, is_property_case_ignorable,
51556         is_property_changes_when_lowercased,
51557         is_property_changes_when_uppercased,
51558         is_property_changes_when_titlecased,
51559         is_property_changes_when_casefolded,
51560         is_property_changes_when_casemapped): New functions.
51561         (output_properties): Output also the properties cased, case_ignorable,
51562         changes_when_lowercased, changes_when_uppercased,
51563         changes_when_titlecased, changes_when_casefolded,
51564         changes_when_casemapped.
51565         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
51566         Unicode TR#11 revision 17 -> 19.
51567         (LBP_CP): New enumeration value.
51568         (LBP_*): Adjust values accordingly.
51569         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
51570         TR#14 revision 22 -> 24.
51571         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
51572         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
51573         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
51574         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
51575         is_WBP_MIDLETTER.
51576         (output_composition_tables): Allow for 24 bits instead of 16 bits in
51577         the code1 and code2 of each composition rule.
51578         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
51579         * lib/unicase/ignorable.h: Likewise.
51580         * lib/unicase/tocasefold.h: Likewise.
51581         * lib/unicase/tolower.h: Likewise.
51582         * lib/unicase/totitle.h: Likewise.
51583         * lib/unicase/toupper.h: Likewise.
51584         * lib/unictype/bidi_of.h: Likewise.
51585         * lib/unictype/blocks.h: Likewise.
51586         * lib/unictype/categ_C.h: Likewise.
51587         * lib/unictype/categ_Cf.h: Likewise.
51588         * lib/unictype/categ_Cn.h: Likewise.
51589         * lib/unictype/categ_L.h: Likewise.
51590         * lib/unictype/categ_Ll.h: Likewise.
51591         * lib/unictype/categ_Lm.h: Likewise.
51592         * lib/unictype/categ_Lo.h: Likewise.
51593         * lib/unictype/categ_Lu.h: Likewise.
51594         * lib/unictype/categ_M.h: Likewise.
51595         * lib/unictype/categ_Mc.h: Likewise.
51596         * lib/unictype/categ_Mn.h: Likewise.
51597         * lib/unictype/categ_N.h: Likewise.
51598         * lib/unictype/categ_Nd.h: Likewise.
51599         * lib/unictype/categ_Nl.h: Likewise.
51600         * lib/unictype/categ_No.h: Likewise.
51601         * lib/unictype/categ_P.h: Likewise.
51602         * lib/unictype/categ_Pd.h: Likewise.
51603         * lib/unictype/categ_Po.h: Likewise.
51604         * lib/unictype/categ_S.h: Likewise.
51605         * lib/unictype/categ_Sc.h: Likewise.
51606         * lib/unictype/categ_So.h: Likewise.
51607         * lib/unictype/categ_of.h: Likewise.
51608         * lib/unictype/combining.h: Likewise.
51609         * lib/unictype/ctype_alnum.h: Likewise.
51610         * lib/unictype/ctype_alpha.h: Likewise.
51611         * lib/unictype/ctype_graph.h: Likewise.
51612         * lib/unictype/ctype_lower.h: Likewise.
51613         * lib/unictype/ctype_print.h: Likewise.
51614         * lib/unictype/ctype_punct.h: Likewise.
51615         * lib/unictype/ctype_upper.h: Likewise.
51616         * lib/unictype/decdigit.h: Likewise.
51617         * lib/unictype/digit.h: Likewise.
51618         * lib/unictype/numeric.h: Likewise.
51619         * lib/unictype/pr_alphabetic.h: Likewise.
51620         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
51621         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
51622         * lib/unictype/pr_bidi_european_digit.h: Likewise.
51623         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
51624         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
51625         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
51626         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
51627         * lib/unictype/pr_combining.h: Likewise.
51628         * lib/unictype/pr_composite.h: Likewise.
51629         * lib/unictype/pr_currency_symbol.h: Likewise.
51630         * lib/unictype/pr_dash.h: Likewise.
51631         * lib/unictype/pr_decimal_digit.h: Likewise.
51632         * lib/unictype/pr_deprecated.h: Likewise.
51633         * lib/unictype/pr_diacritic.h: Likewise.
51634         * lib/unictype/pr_extender.h: Likewise.
51635         * lib/unictype/pr_grapheme_base.h: Likewise.
51636         * lib/unictype/pr_grapheme_extend.h: Likewise.
51637         * lib/unictype/pr_grapheme_link.h: Likewise.
51638         * lib/unictype/pr_id_continue.h: Likewise.
51639         * lib/unictype/pr_id_start.h: Likewise.
51640         * lib/unictype/pr_ideographic.h: Likewise.
51641         * lib/unictype/pr_ignorable_control.h: Likewise.
51642         * lib/unictype/pr_logical_order_exception.h: Likewise.
51643         * lib/unictype/pr_lowercase.h: Likewise.
51644         * lib/unictype/pr_numeric.h: Likewise.
51645         * lib/unictype/pr_other_alphabetic.h: Likewise.
51646         * lib/unictype/pr_punctuation.h: Likewise.
51647         * lib/unictype/pr_sentence_terminal.h: Likewise.
51648         * lib/unictype/pr_terminal_punctuation.h: Likewise.
51649         * lib/unictype/pr_unassigned_code_value.h: Likewise.
51650         * lib/unictype/pr_unified_ideograph.h: Likewise.
51651         * lib/unictype/pr_uppercase.h: Likewise.
51652         * lib/unictype/pr_xid_continue.h: Likewise.
51653         * lib/unictype/pr_xid_start.h: Likewise.
51654         * lib/unictype/pr_zero_width.h: Likewise.
51655         * lib/unictype/scripts.h: Likewise.
51656         * lib/unictype/scripts_byname.gperf: Likewise.
51657         * lib/unictype/sy_java_ident.h: Likewise.
51658         * lib/unigbrk/gbrkprop.h: Likewise.
51659         * lib/unilbrk/lbrkprop1.h: Likewise.
51660         * lib/unilbrk/lbrkprop2.h: Likewise.
51661         * lib/unilbrk/lbrktables.h: Likewise.
51662         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
51663         LBP_CP. Implement rule LB30.
51664         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
51665         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
51666         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
51667         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
51668         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
51669         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
51670         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
51671         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
51672         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
51673         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
51674         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
51675         bits instead of 16 bits in the code1 and code2 of each composition
51676         rule.
51677         (uc_composition): Update for Unicode 5.2.0.
51678         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
51679         * lib/uninorm/decomposition-table2.h: Likewise.
51680         * lib/uniwbrk/wbrkprop.h: Likewise.
51681         * tests/unicase/test-cased.c: Likewise.
51682         * tests/unicase/test-ignorable.c: Likewise.
51683         * tests/unicase/test-uc_tolower.c: Likewise.
51684         * tests/unicase/test-uc_totitle.c: Likewise.
51685         * tests/unicase/test-uc_toupper.c: Likewise.
51686         * tests/unictype/test-categ_C.c: Likewise.
51687         * tests/unictype/test-categ_Cf.c: Likewise.
51688         * tests/unictype/test-categ_Cn.c: Likewise.
51689         * tests/unictype/test-categ_L.c: Likewise.
51690         * tests/unictype/test-categ_Ll.c: Likewise.
51691         * tests/unictype/test-categ_Lm.c: Likewise.
51692         * tests/unictype/test-categ_Lo.c: Likewise.
51693         * tests/unictype/test-categ_Lu.c: Likewise.
51694         * tests/unictype/test-categ_M.c: Likewise.
51695         * tests/unictype/test-categ_Mc.c: Likewise.
51696         * tests/unictype/test-categ_Mn.c: Likewise.
51697         * tests/unictype/test-categ_N.c: Likewise.
51698         * tests/unictype/test-categ_Nd.c: Likewise.
51699         * tests/unictype/test-categ_Nl.c: Likewise.
51700         * tests/unictype/test-categ_No.c: Likewise.
51701         * tests/unictype/test-categ_P.c: Likewise.
51702         * tests/unictype/test-categ_Pd.c: Likewise.
51703         * tests/unictype/test-categ_Po.c: Likewise.
51704         * tests/unictype/test-categ_S.c: Likewise.
51705         * tests/unictype/test-categ_Sc.c: Likewise.
51706         * tests/unictype/test-categ_So.c: Likewise.
51707         * tests/unictype/test-ctype_alnum.c: Likewise.
51708         * tests/unictype/test-ctype_alpha.c: Likewise.
51709         * tests/unictype/test-ctype_graph.c: Likewise.
51710         * tests/unictype/test-ctype_lower.c: Likewise.
51711         * tests/unictype/test-ctype_print.c: Likewise.
51712         * tests/unictype/test-ctype_punct.c: Likewise.
51713         * tests/unictype/test-ctype_upper.c: Likewise.
51714         * tests/unictype/test-decdigit.h: Likewise.
51715         * tests/unictype/test-digit.h: Likewise.
51716         * tests/unictype/test-numeric.h: Likewise.
51717         * tests/unictype/test-pr_alphabetic.c: Likewise.
51718         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
51719         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
51720         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
51721         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
51722         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
51723         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
51724         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
51725         * tests/unictype/test-pr_combining.c: Likewise.
51726         * tests/unictype/test-pr_composite.c: Likewise.
51727         * tests/unictype/test-pr_currency_symbol.c: Likewise.
51728         * tests/unictype/test-pr_dash.c: Likewise.
51729         * tests/unictype/test-pr_decimal_digit.c: Likewise.
51730         * tests/unictype/test-pr_deprecated.c: Likewise.
51731         * tests/unictype/test-pr_diacritic.c: Likewise.
51732         * tests/unictype/test-pr_extender.c: Likewise.
51733         * tests/unictype/test-pr_grapheme_base.c: Likewise.
51734         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
51735         * tests/unictype/test-pr_grapheme_link.c: Likewise.
51736         * tests/unictype/test-pr_id_continue.c: Likewise.
51737         * tests/unictype/test-pr_id_start.c: Likewise.
51738         * tests/unictype/test-pr_ideographic.c: Likewise.
51739         * tests/unictype/test-pr_ignorable_control.c: Likewise.
51740         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
51741         * tests/unictype/test-pr_lowercase.c: Likewise.
51742         * tests/unictype/test-pr_numeric.c: Likewise.
51743         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
51744         * tests/unictype/test-pr_punctuation.c: Likewise.
51745         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
51746         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
51747         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
51748         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
51749         * tests/unictype/test-pr_uppercase.c: Likewise.
51750         * tests/unictype/test-pr_xid_continue.c: Likewise.
51751         * tests/unictype/test-pr_xid_start.c: Likewise.
51752         * tests/unictype/test-pr_zero_width.c: Likewise.
51753         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
51754         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
51755         changed behaviour: line breaking is now disallowed between a letter
51756         or '=' and '('.
51757         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
51758         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
51759         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
51760         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
51761         * tests/uniwidth/test-uc_width2.sh: Same updates as in
51762         lib/uniwidth/width.c.
51763         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
51764         without comments, but with the original copyright notice.
51765         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
51766         changes.
51767         * lib/unictype/categ_Cc.h: Likewise.
51768         * lib/unictype/categ_Co.h: Likewise.
51769         * lib/unictype/categ_Cs.h: Likewise.
51770         * lib/unictype/categ_Lt.h: Likewise.
51771         * lib/unictype/categ_Me.h: Likewise.
51772         * lib/unictype/categ_Pc.h: Likewise.
51773         * lib/unictype/categ_Pe.h: Likewise.
51774         * lib/unictype/categ_Pf.h: Likewise.
51775         * lib/unictype/categ_Pi.h: Likewise.
51776         * lib/unictype/categ_Ps.h: Likewise.
51777         * lib/unictype/categ_Sk.h: Likewise.
51778         * lib/unictype/categ_Sm.h: Likewise.
51779         * lib/unictype/categ_Z.h: Likewise.
51780         * lib/unictype/categ_Zl.h: Likewise.
51781         * lib/unictype/categ_Zp.h: Likewise.
51782         * lib/unictype/categ_Zs.h: Likewise.
51783         * lib/unictype/ctype_blank.h: Likewise.
51784         * lib/unictype/ctype_cntrl.h: Likewise.
51785         * lib/unictype/ctype_digit.h: Likewise.
51786         * lib/unictype/ctype_space.h: Likewise.
51787         * lib/unictype/ctype_xdigit.h: Likewise.
51788         * lib/unictype/mirror.h: Likewise.
51789         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
51790         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
51791         * lib/unictype/pr_bidi_block_separator.h: Likewise.
51792         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
51793         * lib/unictype/pr_bidi_common_separator.h: Likewise.
51794         * lib/unictype/pr_bidi_control.h: Likewise.
51795         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
51796         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
51797         * lib/unictype/pr_bidi_pdf.h: Likewise.
51798         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
51799         * lib/unictype/pr_bidi_whitespace.h: Likewise.
51800         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
51801         * lib/unictype/pr_format_control.h: Likewise.
51802         * lib/unictype/pr_hex_digit.h: Likewise.
51803         * lib/unictype/pr_hyphen.h: Likewise.
51804         * lib/unictype/pr_ids_binary_operator.h: Likewise.
51805         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
51806         * lib/unictype/pr_iso_control.h: Likewise.
51807         * lib/unictype/pr_join_control.h: Likewise.
51808         * lib/unictype/pr_left_of_pair.h: Likewise.
51809         * lib/unictype/pr_line_separator.h: Likewise.
51810         * lib/unictype/pr_math.h: Likewise.
51811         * lib/unictype/pr_non_break.h: Likewise.
51812         * lib/unictype/pr_not_a_character.h: Likewise.
51813         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
51814         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
51815         * lib/unictype/pr_other_id_continue.h: Likewise.
51816         * lib/unictype/pr_other_id_start.h: Likewise.
51817         * lib/unictype/pr_other_lowercase.h: Likewise.
51818         * lib/unictype/pr_other_math.h: Likewise.
51819         * lib/unictype/pr_other_uppercase.h: Likewise.
51820         * lib/unictype/pr_paired_punctuation.h: Likewise.
51821         * lib/unictype/pr_paragraph_separator.h: Likewise.
51822         * lib/unictype/pr_pattern_syntax.h: Likewise.
51823         * lib/unictype/pr_pattern_white_space.h: Likewise.
51824         * lib/unictype/pr_private_use.h: Likewise.
51825         * lib/unictype/pr_quotation_mark.h: Likewise.
51826         * lib/unictype/pr_radical.h: Likewise.
51827         * lib/unictype/pr_soft_dotted.h: Likewise.
51828         * lib/unictype/pr_space.h: Likewise.
51829         * lib/unictype/pr_titlecase.h: Likewise.
51830         * lib/unictype/pr_variation_selector.h: Likewise.
51831         * lib/unictype/pr_white_space.h: Likewise.
51832         * lib/unictype/sy_c_ident.h: Likewise.
51833         * lib/unictype/sy_c_whitespace.h: Likewise.
51834         * lib/unictype/sy_java_whitespace.h: Likewise.
51835         * modules/uni*/*: Bump version number of expected libunistring version.
51836         Reported by Simon Josefsson.
51838 2011-01-09  Karl Heuer  <kwzh@gnu.org>
51840         useless-if-before-free: fix typo in --help and make the internal,
51841         automatic version date update process work once again.
51842         --help output contained a NUL character instead of the
51843         backslash-zero that was intended.  Also, the "must lie within
51844         the first 8 lines" line is on line 9, and hence not getting
51845         automatically updated.
51846         * build-aux/useless-if-before-free: Fix the former by adding a
51847         backslash, and the latter by condensing the three lines of what-it-does
51848         to a single line, leaving one line of slack for the future.
51850 2011-01-09  Bruno Haible  <bruno@clisp.org>
51852         uniwidth/width: Fix width of U+1D173..U+1D17A.
51853         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
51854         symbolic_width, output_width_property_test): New functions.
51855         (main): Invoke output_nonspacing_property, output_width_property_test.
51856         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
51857         U+1D173..U+1D17A.
51858         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
51859         1.
51860         * modules/uniwidth/*: Bump version number of expected libunistring
51861         version.
51862         * modules/unilbrk/*: Likewise.
51864 2011-01-08  Bruno Haible  <bruno@clisp.org>
51866         uninorm tests: Preserve copyright of Unicode data file.
51867         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
51868         Mention modifications.
51870 2011-01-08  Bruno Haible  <bruno@clisp.org>
51872         gen-uni-tables: Prepare for Unicode 5.2.0.
51873         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
51874         (debug_output_lbp, output_lbp): Update.
51876 2011-01-08  Bruno Haible  <bruno@clisp.org>
51878         unilbrk: Clarify gen-uni-tables.c code.
51879         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
51880         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
51881         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
51883 2011-01-07  Bruno Haible  <bruno@clisp.org>
51885         strtod: Restore errno when successfully parsing Infinity or NaN.
51886         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
51887         restore the original errno.
51889 2011-01-07  Bruno Haible  <bruno@clisp.org>
51891         remove test: Avoid failure on HP-UX 11.
51892         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
51894 2011-01-07  Bruno Haible  <bruno@clisp.org>
51896         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
51897         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
51898         error code.
51900 2011-01-07  Pádraig Brady  <P@draigBrady.com>
51902         ignore-value: fixup comments, and add Eric Blake
51903         as an author since he rewrote the macros.
51904         * lib/ignore-value.h (ignore_value):  State that
51905         we now support aggregates.  Also specify exactly
51906         when the GCC warn_unused_result feature was added.
51908 2011-01-06  Eric Blake  <eblake@redhat.com>
51910         ignore-value: support aggregate types
51911         * lib/ignore-value.h (ignore_value): Provide separate gcc
51912         definition.
51913         * modules/ignore-value-tests: New test module.
51914         * tests/test-ignore-value.c: New test.
51916         maint.mk: improve sc_prohibit_strcmp regex
51917         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
51918         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
51919         definition of STRNEQ.
51921         signal: work around Haiku issue with SIGBUS
51922         * lib/siglist.h: Add comment.
51923         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
51924         strsignal's favoring of SIGSEGV.
51925         * tests/test-signal.c (main): Avoid test failure.
51926         * doc/posix-headers/signal.texi (signal.h): Document the issue.
51927         Reported by Scott McCreary.
51929         maint.mk: add pre-release check to ensure submodule commits are public
51930         * top/maint.mk (public-submodule-commit): New rule.
51931         (submodule-checks): New variable.
51932         (alpha beta stable): Depend on the variable.
51934 2011-01-05  Pádraig Brady  <P@draigBrady.com>
51935         and Jim Meyering  <meyering@redhat.com>
51937         ignore-value: make ignore_value more generic; deprecate ignore_ptr
51938         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
51939         (ATTRIBUTE_DEPRECATED): Define.
51940         (_ignore_case): New function.
51941         (ignore_value): New macro, to replace the old function.
51942         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
51943         * modules/ignore-value (Depends-on): Add stdint.
51945 2011-01-04  Eric Blake  <eblake@redhat.com>
51947         doc: regenerate INSTALL
51948         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
51949         @firstparagraphindent support, now that autoconf dropped it.
51950         (INSTALL_PRELUDE): Reinstate old macro.
51951         * doc/install.texi: Resync from autoconf.
51952         * doc/INSTALL: Reflect recent autoconf update.
51953         * doc/INSTALL.ISO: Likewise.
51954         * doc/INSTALL.UTF-8: Likewise.
51955         Reported by Karl Berry.
51957 2011-01-04  Bruce Korb  <address@hidden>
51959         git-version-gen: avoid a sub-shell
51960         * build-aux/git-version-gen: Redirect stderr in `...` via
51961         "exec 2>...", rather than via an added sub-shell.
51963 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
51965         git-version-gen: use (...) rather than sh -c '...'
51966         * build-aux/git-version-gen: Rather than hard-coding a shell's name
51967         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
51969 2011-01-03  Jim Meyering  <meyering@redhat.com>
51971         git-version-gen: convert leading TABs to spaces
51972         * build-aux/git-version-gen: Expand leading TABs.
51974         git-version-gen: handle failed "git rev-list"
51975         * build-aux/git-version-gen: Rather than leaking a "fatal" error
51976         from git and proceeding as if it had succeeded but printed no SHA1
51977         checksums, suppress the diagnostic and handle the failure.
51978         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
51980         git-version-gen: include command name in one more diagnostic
51981         * build-aux/git-version-gen: When the required .tarball-version file
51982         was missing or unreadable, you might see the diagnostic from "cat",
51983         but no trace of the name of the invoking script.  Now, you still see
51984         the diagnostic from cat, but also get one from "git-version-gen: ".
51985         Inspired by a patch from Bruce Korb.
51987         update-copyright: adjust test to match changed code
51988         * tests/test-update-copyright.sh: Change test's expected output
51989         to match new actual output.
51991 2011-01-02  Bruno Haible  <bruno@clisp.org>
51993         getlogin_r: Avoid test failure on HP-UX 11.
51994         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
51995         ERANGE when the second argument is zero.
51996         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
51997         portability problem.
51999 2011-01-02  Bruce Korb  <bkorb@gnu.org>
52001         * build-aux/update-copyright: doc Simon's changes
52003 2011-01-02  Simon Josefsson  <simon@josefsson.org>
52005         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
52006         environment variable.
52008 2011-01-02  Bruno Haible  <bruno@clisp.org>
52010         unigbrk: Avoid gcc warnings.
52011         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
52012         unused variable.
52013         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
52014         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
52015         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
52016         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
52017         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
52018         Change type of first argument to 'const char *'.
52019         (main): Remove unused variable.
52020         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
52021         type of first argument to 'const char *'.
52022         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
52023         Likewise.
52024         (main): Change type of variable 's'.
52025         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
52026         to 'int'.
52028 2011-01-02  Bruno Haible  <bruno@clisp.org>
52030         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
52031         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
52032         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
52033         bug.
52034         * lib/pwrite.c: Undo 2010-12-31 patch.
52035         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
52037 2011-01-02  Bruno Haible  <bruno@clisp.org>
52039         pread: Fix test whether it works.
52040         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
52042 2011-01-02  Bruno Haible  <bruno@clisp.org>
52044         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
52045         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
52046         ends in "6". Don't require a specific month name. Try also the locale
52047         names found on HP-UX 11 and Solaris 7.
52049 2011-01-02  Bruno Haible  <bruno@clisp.org>
52051         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
52052         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
52053         C linkage.
52054         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
52056 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
52058         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
52059         for consistency, since the "cluster" term is not used elsewhere.
52060         * lib/unigbrk.in.h: Update name.
52061         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
52062         * lib/unigbrk/u16-grapheme-next.c: Update name.
52063         * lib/unigbrk/u16-grapheme-prev.c: Update name.
52064         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
52065         * lib/unigbrk/u32-grapheme-next.c: Update name.
52066         * lib/unigbrk/u32-grapheme-prev.c: Update name.
52067         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
52068         * lib/unigbrk/u8-grapheme-next.c: Update name.
52069         * lib/unigbrk/u8-grapheme-prev.c: Update name.
52070         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
52071         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
52072         Suggested by Bruno Haible.
52074 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
52076         Remove module 'u8-grapheme-len' as too redundant with
52077         'u8-grapheme-next'.
52078         * modules/unigbrk/u8-grapheme-len: Delete file.
52079         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
52080         * lib/unigbrk.in.h: Remove prototype for deleted function.
52081         * lib/unigbrk/u8-grapheme-len.c: Delete file.
52082         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
52084         Remove module 'u16-grapheme-len' as too redundant with
52085         'u16-grapheme-next'.
52086         * modules/unigbrk/u16-grapheme-len: Delete file.
52087         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
52088         * lib/unigbrk.in.h: Remove prototype for deleted function.
52089         * lib/unigbrk/u16-grapheme-len.c: Delete file.
52090         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
52092         Remove module 'u32-grapheme-len' as too redundant with
52093         'u32-grapheme-next'.
52094         * modules/unigbrk/u32-grapheme-len: Delete file.
52095         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
52096         * lib/unigbrk.in.h: Remove prototype for deleted function.
52097         * lib/unigbrk/u32-grapheme-len.c: Delete file.
52098         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
52100         Suggested by Bruno Haible.
52102 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
52104         * unigbrk.in.h: Fix typo: "ben" => "been".
52105         Reported by Bruno Haible.
52107 2011-01-01  Jim Meyering  <meyering@redhat.com>
52109         maint: update almost all copyright ranges to include 2011
52110         Run the new "make update-copyright" rule.
52112 2011-01-01  Jim Meyering  <meyering@redhat.com>
52114         maint: update-copyright: exempt doc/INSTALL*
52115         * Makefile (update-copyright): Also exclude doc/INSTALL*,
52116         since they are generated.  Suggested by Bruno Haible.
52118 2011-01-01  Jim Meyering  <meyering@redhat.com>
52120         maint: refine the update-copyright rule
52121         * Makefile (update-copyright): Also exclude any file that includes
52122         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
52123         code that merely generates the comment.
52125 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
52127         New module 'u8-grapheme-len'.
52128         * modules/unigbrk/u8-grapheme-len: New file.
52129         * modules/unigbrk/u8-grapheme-len-tests: New file.
52130         * lib/unigbrk.in.h: Add prototype for new function.
52131         * lib/unigbrk/u8-grapheme-len.c: New file.
52132         * tests/unigbrk/test-u8-grapheme-len.c: New file.
52134         New module 'u16-grapheme-len'.
52135         * modules/unigbrk/u16-grapheme-len: New file.
52136         * modules/unigbrk/u16-grapheme-len-tests: New file.
52137         * lib/unigbrk.in.h: Add prototype for new function.
52138         * lib/unigbrk/u16-grapheme-len.c: New file.
52139         * tests/unigbrk/test-u16-grapheme-len.c: New file.
52141         New module 'u32-grapheme-len'.
52142         * modules/unigbrk/u32-grapheme-len: New file.
52143         * modules/unigbrk/u32-grapheme-len-tests: New file.
52144         * lib/unigbrk.in.h: Add prototype for new function.
52145         * lib/unigbrk/u32-grapheme-len.c: New file.
52146         * tests/unigbrk/test-u32-grapheme-len.c: New file.
52148         New module 'u8-grapheme-next'.
52149         * modules/unigbrk/u8-grapheme-next: New file.
52150         * modules/unigbrk/u8-grapheme-next-tests: New file.
52151         * lib/unigbrk.in.h: Add prototype for new function.
52152         * lib/unigbrk/u8-grapheme-next.c: New file.
52153         * tests/unigbrk/test-u8-grapheme-next.c: New file.
52155         New module 'u16-grapheme-next'.
52156         * modules/unigbrk/u16-grapheme-next: New file.
52157         * modules/unigbrk/u16-grapheme-next-tests: New file.
52158         * lib/unigbrk.in.h: Add prototype for new function.
52159         * lib/unigbrk/u16-grapheme-next.c: New file.
52160         * tests/unigbrk/test-u16-grapheme-next.c: New file.
52162         New module 'u32-grapheme-next'.
52163         * modules/unigbrk/u32-grapheme-next: New file.
52164         * modules/unigbrk/u32-grapheme-next-tests: New file.
52165         * lib/unigbrk.in.h: Add prototype for new function.
52166         * lib/unigbrk/u32-grapheme-next.c: New file.
52167         * tests/unigbrk/test-u32-grapheme-next.c: New file.
52169         New module 'u8-grapheme-prev'.
52170         * modules/unigbrk/u8-grapheme-prev: New file.
52171         * modules/unigbrk/u8-grapheme-prev-tests: New file.
52172         * lib/unigbrk.in.h: Add prototype for new function.
52173         * lib/unigbrk/u8-grapheme-prev.c: New file.
52174         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
52176         New module 'u16-grapheme-prev'.
52177         * modules/unigbrk/u16-grapheme-prev: New file.
52178         * modules/unigbrk/u16-grapheme-prev-tests: New file.
52179         * lib/unigbrk.in.h: Add prototype for new function.
52180         * lib/unigbrk/u16-grapheme-prev.c: New file.
52181         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
52183         New module 'u32-grapheme-prev'.
52184         * modules/unigbrk/u32-grapheme-prev: New file.
52185         * modules/unigbrk/u32-grapheme-prev-tests: New file.
52186         * lib/unigbrk.in.h: Add prototype for new function.
52187         * lib/unigbrk/u32-grapheme-prev.c: New file.
52188         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
52190         New module 'u8-grapheme-breaks'.
52191         * modules/unigbrk/u8-grapheme-breaks: New file.
52192         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
52193         * lib/unigbrk.in.h: Add prototype for new function.
52194         * lib/unigbrk/u8-grapheme-breaks.c: New file.
52195         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
52197         New module 'u16-grapheme-breaks'.
52198         * modules/unigbrk/u16-grapheme-breaks: New file.
52199         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
52200         * lib/unigbrk.in.h: Add prototype for new function.
52201         * lib/unigbrk/u16-grapheme-breaks.c: New file.
52202         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
52204         New module 'u32-grapheme-breaks'.
52205         * modules/unigbrk/u32-grapheme-breaks: New file.
52206         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
52207         * lib/unigbrk.in.h: Add prototype for new function.
52208         * lib/unigbrk/u32-grapheme-breaks.c: New file.
52209         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
52211         New module 'ulc-grapheme-breaks'.
52212         * modules/unigbrk/ulc-grapheme-breaks: New file.
52213         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
52214         * m4/locale-ar.m4: New file.
52215         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
52216         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
52217         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
52219 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
52221         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
52222         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
52223         modified how this file was generated before I initially submitted
52224         the module, but failed to regenerate it.  This meant that several
52225         of the level2 entries were wrong.
52226         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
52227         Remove the division-by-2 that is folded into the table now that
52228         gbrkprop.h has been regenerated properly.  Now -1 entries are
52229         handled correctly.
52231         New module 'unigbrk/uc-gbrk-prop-tests'.
52232         * modules/unigbrk/uc-gbrk-prop-tests: New file.
52233         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
52234         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
52235         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
52237 2011-01-01  Bruno Haible  <bruno@clisp.org>
52239         Avoid use of hexadecimal escapes.
52240         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
52241         instead of hexadecimal escapes.
52243 2011-01-01  Jim Meyering  <meyering@redhat.com>
52245         maint: new rule to update copyright year ranges
52246         * Makefile (update-copyright): New rule.
52248         maint: indent with TABs in Makefile
52249         * Makefile: Expand leading sequences of spaces to TABs
52251         version-etc: update the copyright year it reports
52252         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
52254 2010-12-31  Bruno Haible  <bruno@clisp.org>
52256         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
52257         * lib/isfinite.c (zerof, zerod, zerol): New variables.
52258         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
52259         zero.
52261 2010-12-31  Bruno Haible  <bruno@clisp.org>
52263         pwrite: Work around HP-UX 11.11 bug.
52264         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
52265         works and set REPLACE_PWRITE if not.
52266         * lib/pwrite.c (pwrite): Add an implementation that uses the system
52267         function.
52268         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
52270 2010-12-31  Bruno Haible  <bruno@clisp.org>
52272         pread: Work around HP-UX 11 bugs.
52273         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
52274         and set REPLACE_PREAD if not.
52275         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
52277 2010-12-31  Eric Blake  <eblake@redhat.com>
52279         nl_langinfo: fix YESEXPR on Irix 6.5
52280         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
52281         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
52282         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
52283         it.
52285 2010-12-31  Bruno Haible  <bruno@clisp.org>
52287         iconv: Document HP-UX 11 bug.
52288         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
52290 2010-12-31  Bruno Haible  <bruno@clisp.org>
52292         ldexpl: Fix link error on HP-UX 11.
52293         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
52294         LDEXPL_LIBM, using $ISNANL_LIBM.
52296 2010-12-31  Eric Blake  <eblake@redhat.com>
52298         ftello: avoid compilation failure with SunStudio c89
52299         * lib/ftello.c (ftello): Use lseek, not llseek.
52301         tests: avoid failing coreutils tests on cygwin
52302         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
52303         (create_exe_shims_): Return 0 when skipping.
52305 2010-12-31  Bruno Haible  <bruno@clisp.org>
52307         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
52308         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
52310 2010-12-31  Bruno Haible  <bruno@clisp.org>
52312         waitpid: Fix link error in C++ mode.
52313         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
52315 2010-12-31  Bruno Haible  <bruno@clisp.org>
52317         isnan: Use GCC built-ins when possible.
52318         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
52319         __builtin_isnan.
52320         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
52321         (isnan): Define using GCC built-ins for GCC >= 4.0.
52323 2010-12-31  Bruno Haible  <bruno@clisp.org>
52325         isnand: Fix mistake.
52326         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
52327         __builtin_isnand.
52329 2010-12-31  Bruno Haible  <bruno@clisp.org>
52331         open: Avoid C++ error on HP-UX 11.
52332         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
52334 2010-12-31  Bruno Haible  <bruno@clisp.org>
52336         time_r: Add missing declarations on HP-UX 11.
52337         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
52338         instead of HAVE_LOCALTIME_R.
52339         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
52340         HAVE_LOCALTIME_R always.
52341         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
52342         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
52343         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
52344         HAVE_LOCALTIME_R.
52345         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
52346         * doc/posix-functions/localtime_r.texi: Likewise.
52348 2010-12-29  Eric Blake  <eblake@redhat.com>
52350         mountlist: tweak previous commit
52351         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
52352         Reported by Paul Eggert.
52354         mountlist: fix local drive detection on cygwin
52355         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
52356         that works for cygwin.
52358 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52360         ftoastr, snprintf: ftoastr + snprintf module
52361         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
52362         since the snprintf module now should be good enough here.
52363         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
52364         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
52365         and gl_MODULE_INDICATOR([snprintf]), but the former enables
52366         GNULIB_SNPRINTF only for the test directory, and the latter
52367         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
52368         seems to suffice by itself.
52370 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
52372         alloca: one step towards thread-safety
52373         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
52374         need for a static variable.  All callers changed.  This does not
52375         make the alloca replacement thread-safe, but it's one step.
52377         tests: minor indenting change
52378         * tests/init.sh: Sync from coreutils housekeeping patch
52379         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
52380         to keep lines within 80 columns.
52382 2010-12-28  Jim Meyering  <meyering@redhat.com>
52384         regex: don't infloop on persistent failing calloc
52385         * lib/regexec.c (build_trtable): Return failure indication upon
52386         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
52387         In glibc, this was fixed for version 2.13:
52388         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
52390 2010-12-28  Bruno Haible  <bruno@clisp.org>
52391             Paul Eggert <eggert@cs.ucla.edu>
52393         linkat: Make implementation robust against system behaviour variations.
52394         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
52395         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
52396         way, and to -2 if it needs a generic runtime test.
52397         * lib/linkat.c (solaris_optimized_link_immediate,
52398         solaris_optimized_link_follow): New functions.
52399         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
52400         (check_same_link): Use it.
52402 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
52404         New module 'unigbrk/base'.
52405         * modules/unigbrk/base: New file.
52406         * lib/unigbrk.in.h: New file.
52408         New module 'unigbrk/uc-gbrk-prop'.
52409         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
52410         * modules/unigbrk/uc-gbrk-prop: New file.
52411         * lib/unigbrk/gbrkprop.h: New file.
52412         * lib/unigbrk/uc-gbrk-prop.c: New file.
52414         New module 'unigbrk/uc-is-grapheme-break'.
52415         * modules/unigbrk/uc-is-grapheme-break: New file.
52416         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
52417         * lib/unigbrk/uc-is-grapheme-break.c: New file.
52418         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
52419         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
52420         * tests/unigbrk/GraphemeBreakTest.txt: New file.
52422         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
52424 2010-12-27  Bruno Haible  <bruno@clisp.org>
52426         linkat test: Avoid failure on Solaris 11 2010-11.
52427         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
52429 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
52431         utimens: work around glibc rounding bug on more platforms
52432         * lib/utimens.c (fdutimens): Work around rounding bug even if
52433         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
52434         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
52436 2010-12-27  Bruno Haible  <bruno@clisp.org>
52438         select tests: Improve comments.
52439         * tests/test-select.c (do_select): Add comments.
52441 2010-12-27  Bruno Haible  <bruno@clisp.org>
52443         select tests: Safer way of handling timeout.
52444         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
52445         at every invocation.
52447 2010-12-27  Bruno Haible  <bruno@clisp.org>
52449         select tests: Use 'bool' where appropriate.
52450         * tests/test-select.c (connect_to_socket): Change argument type to
52451         'bool'.
52453 2010-12-27  Bruno Haible  <bruno@clisp.org>
52455         select tests: Use existing modules.
52456         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
52457         (configure.ac): Don't test for unistd.h.
52458         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
52459         declared in <unistd.h>.
52461 2010-12-27  Bruno Haible  <bruno@clisp.org>
52463         mbrtowc: Work around a Solaris 7 bug.
52464         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
52465         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
52466         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
52467         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
52468         MBRTOWC_NULL_ARG1_BUG.
52469         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
52470         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
52471         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
52472         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
52474 2010-12-27  Jim Meyering  <meyering@redhat.com>
52476         read-file.c: tweak syntax
52477         * lib/read-file.c (fread_file): Remove space after "*" in function
52478         definitions.
52480 2010-12-27  Bruno Haible  <bruno@clisp.org>
52482         times test: Avoid gcc warnings on OSF/1.
52483         * tests/test-times.c (main): Cast printf arguments from clock_t to
52484         'long int'.
52486 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
52488         utimens: work around glibc rounding bug on older Linux kernels
52489         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
52490         on Linux with a glibc whose utimes might not work, then work
52491         around a longstanding glibc bug involving rounding rather than
52492         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
52493         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
52495 2010-12-26  Bruno Haible  <bruno@clisp.org>
52497         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
52498         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
52499         _GL_CXXALIAS_SYS.
52500         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
52502 2010-12-26  Bruno Haible  <bruno@clisp.org>
52504         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
52505         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
52506         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
52507         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
52508         looking for the declaration.
52509         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
52510         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
52511         problem.
52512         * doc/posix-functions/inet_pton.texi: Likewise.
52514 2010-12-26  Bruno Haible  <bruno@clisp.org>
52516         arpa_inet: Use the common idioms with C++ support.
52517         * lib/arpa_inet.in.h: Include c++defs.h.
52518         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
52519         support.
52520         * modules/arpa_inet (Depends-on): Add c++defs.
52521         (Makefile.am): Substitute the contents of c++defs.h.
52522         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
52523         * modules/arpa_inet-c++-tests: New file.
52524         * tests/test-arpa_inet-c++.cc: New file.
52526 2010-12-25  Bruno Haible  <bruno@clisp.org>
52528         Fix more C++ link errors on Solaris 8.
52529         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
52530         $(LIB_EACCESS).
52531         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
52532         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
52533         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
52534         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
52535         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
52537 2010-12-25  Bruno Haible  <bruno@clisp.org>
52539         printf-posix: Fix link error when a non-GCC compiler is used.
52540         * lib/stdio.in.h (printf): When not using GCC, override printf
52541         correctly.
52542         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
52544 2010-12-25  Bruno Haible  <bruno@clisp.org>
52546         strerror_r-posix: Update doc.
52547         * doc/posix-functions/strerror_r.texi: Update doc about the return
52548         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
52550 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52552         utimens: simplify the logic of the previous change
52553         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
52554         This should not affect whether the test succeeds or fails.
52556         utimens: configure better on hosts with NFS clock skew
52557         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
52558         uses the clock of the local host.  It might use the clock of the
52559         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
52560         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
52562 2010-12-25  Bruno Haible  <bruno@clisp.org>
52564         ptsname test: Avoid failure on Solaris.
52565         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
52566         open a pseudo-terminal; don't use BSD-style ptys.
52567         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
52569 2010-12-25  Bruno Haible  <bruno@clisp.org>
52571         ptsname: Avoid ERANGE failure on some systems.
52572         * lib/ptsname.c (buffer): Increase size.
52574 2010-12-25  Bruno Haible  <bruno@clisp.org>
52576         rename, renameat: Avoid test failures at NFS mounted locations.
52577         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
52578         so that subsequent mkdir calls succeed.
52580 2010-12-25  Bruno Haible  <bruno@clisp.org>
52582         iswblank: Fix C++ link error on Solaris 8.
52583         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
52584         _GL_FUNCDECL_SYS.
52586 2010-12-25  Bruno Haible  <bruno@clisp.org>
52588         unistd: Fix C++ link error on Solaris 8.
52589         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
52591 2010-12-25  Bruno Haible  <bruno@clisp.org>
52593         readlink doc: Mention an old glibc bug.
52594         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
52596 2010-12-25  Bruno Haible  <bruno@clisp.org>
52598         fcntl-h: Fix for use of C++ on glibc systems.
52599         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
52600         also on glibc systems in C++ mode.
52601         Reported by Gary V. Vaughan <gary@gnu.org>.
52603 2010-12-25  Bruno Haible  <bruno@clisp.org>
52605         roundl-ieee: Make it work on OSF/1 5.1 with cc.
52606         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
52608 2010-12-25  Bruno Haible  <bruno@clisp.org>
52610         truncl-ieee: Make it work on OSF/1 5.1 with cc.
52611         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
52612         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
52613         test whether truncl works according to ISO C 99 with IEC 60559.
52614         * m4/truncl-ieee.m4: New file.
52615         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
52616         m4/signbit.m4.
52617         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
52619 2010-12-25  Bruno Haible  <bruno@clisp.org>
52621         ceill-ieee: Make it work on OSF/1 5.1 with cc.
52622         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
52623         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
52624         test whether ceill works according to ISO C 99 with IEC 60559.
52625         * m4/ceill-ieee.m4: New file.
52626         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
52627         m4/signbit.m4.
52628         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
52630 2010-12-25  Bruno Haible  <bruno@clisp.org>
52632         Ensure all prerequisites of <wchar.h> are included.
52633         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
52634         before <wchar.h>.
52635         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
52636         gl_MBRLEN_NUL_RETVAL): Likewise.
52637         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
52638         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
52639         AC_FUNC_MBRTOWC): Likewise.
52640         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
52641         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
52642         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
52643         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
52644         Likewise.
52645         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
52646         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
52647         (gl_WCHAR_H): Improve comments.
52648         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
52650 2010-12-25  Bruno Haible  <bruno@clisp.org>
52652         strtok_r: Fix C syntax error in autoconf macro.
52653         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
52654         characters in test program.
52656 2010-12-24  Bruno Haible  <bruno@clisp.org>
52658         ceil, trunc, round: Fix gcc warnings.
52659         * lib/ceil.c (MIN): Undefine before redefining.
52660         * lib/trunc.c (MIN): Likewise.
52661         * lib/round.c (MIN): Likewise.
52662         Include <math.h> first.
52664 2010-12-24  Bruno Haible  <bruno@clisp.org>
52666         select tests: Avoid failures on OSF/1 5.1.
52667         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
52668         failure of closing the last socket; it may fail with ECONNRESET.
52670 2010-12-24  Eric Blake  <eblake@redhat.com>
52672         stdint: avoid HP-UX 10.20 preprocessor bug
52673         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
52674         than #if.
52675         * tests/test-floor2.c (main): Likewise.
52676         Reported by Peter O'Gorman.
52678         pipe: make obsoletion transition easier
52679         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
52680         * modules/pipe (Files): Include revived file.
52681         (Include): Drop reference, to mirror getdate's behavior.
52683 2010-12-24  Bruno Haible  <bruno@clisp.org>
52685         sys_socket: Hide mismatch of declarations on NonStop Kernel.
52686         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
52687         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
52688         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
52690 2010-12-24  Bruno Haible  <bruno@clisp.org>
52692         gethostname: Ensure declaration on NonStop Kernel.
52693         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
52694         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
52696 2010-12-24  Bruno Haible  <bruno@clisp.org>
52698         sys_select: Ensure all necessary types on NonStop Kernel.
52699         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
52700         include <sys/time.h>.
52701         * doc/posix-headers/sys_select.texi: Mention that it's missing on
52702         NonStop Kernel.
52703         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
52705 2010-12-24  Bruno Haible  <bruno@clisp.org>
52707         sys_select: Remove unneeded include.
52708         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
52709         have <sys/select.h>.
52711 2010-12-24  Bruno Haible  <bruno@clisp.org>
52713         gethostname: Provide a fallback for HOST_NAME_MAX.
52714         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
52715         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
52716         instead.
52717         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
52719 2010-12-24  Bruno Haible  <bruno@clisp.org>
52721         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
52722         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
52723         (SA_RESTART): Likewise.
52724         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
52726 2010-12-24  Bruno Haible  <bruno@clisp.org>
52728         signal: Define NSIG.
52729         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
52730         * tests/test-signal.c (nsig): New variable.
52731         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
52733 2010-12-24  Bruno Haible  <bruno@clisp.org>
52735         rename, renameat: Avoid test failures on OSF/1 5.1.
52736         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
52737         alternative error codes.
52738         * tests/test-renameat.c (main): Likewise.
52740 2010-12-24  Bruno Haible  <bruno@clisp.org>
52742         *printf: Detect large precisions bug on Solaris 10/SPARC.
52743         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
52744         by Paul Eggert.
52745         * tests/test-snprintf-posix.h (test_function): Add this test code here
52746         too.
52747         * tests/test-sprintf-posix.h (test_function): Likewise.
52748         * tests/test-vasnprintf-posix.c (test_function): Likewise.
52749         * tests/test-vasprintf-posix.c (test_function): Likewise.
52750         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
52751         around by gnulib.
52752         * doc/posix-functions/printf.texi: Likewise.
52753         * doc/posix-functions/snprintf.texi: Likewise.
52754         * doc/posix-functions/sprintf.texi: Likewise.
52755         * doc/posix-functions/vfprintf.texi: Likewise.
52756         * doc/posix-functions/vprintf.texi: Likewise.
52757         * doc/posix-functions/vsnprintf.texi: Likewise.
52758         * doc/posix-functions/vsprintf.texi: Likewise.
52759         * doc/posix-functions/dprintf.texi: Undo last commit.
52760         * doc/posix-functions/vdprintf.texi: Likewise.
52762 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
52764         tests: port test-fdutimensat.c to Solaris 8
52765         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
52766         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
52767         On Solaris 8, it fails with errno == ENOSYS, because there is no
52768         futimens (so it can't use the fd), and there is no lutimens (so it
52769         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
52771         vsnprintf: make more consistent with snprintf; doc fixes
52773         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
52774         the byte count return problem was promoted from the snprintf-posix
52775         to the snprintf module.
52776         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52777         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
52778         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
52779         * tests/test-snprintf.c (main): Check the byte count returned.
52780         * tests/test-vsnprintf.c (main): Likewise.
52782 2010-12-23  Eric Blake  <eblake@redhat.com>
52784         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
52785         * modules/sigpipe (License): Relax license.
52787 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
52789         doc: document Solaris printf bug with large float precisions
52790         * doc/posix-functions/dprintf.texi (dprintf):
52791         * doc/posix-functions/fprintf.texi (fprintf):
52792         * doc/posix-functions/printf.texi (printf):
52793         * doc/posix-functions/snprintf.texi (snprintf):
52794         * doc/posix-functions/sprintf.texi (sprintf):
52795         * doc/posix-functions/vdprintf.texi (vdprintf):
52796         * doc/posix-functions/vfprintf.texi (vfprintf):
52797         * doc/posix-functions/vprintf.texi (vprintf):
52798         * doc/posix-functions/vsnprintf.texi (vsnprintf):
52799         * doc/posix-functions/vsprintf.texi (vsprintf):
52800         Mention that these functions mishandle large floating point
52801         precisions on Solaris 10.  The same bug is also present in Solaris
52802         8, and I assume earlier.  This causes "cd gnulib-tests; make
52803         check" to fail on Solaris 8 (and I assume, later) when building
52804         the latest coreutils, in test-vasprintf-posix's call to
52805         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
52806         the wide flavors (e.g., wprintf) so this patch just updates the
52807         documentation for the narrow ones.
52809         test-posixtm.c: add two tests
52810         * tests/test-posixtm.c: Add two tests, to highlight the
52811         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
52812         around this bug; this is merely to document it.
52814 2010-12-22  Bruno Haible  <bruno@clisp.org>
52816         getlogin_r: Work around portability problem on OSF/1.
52817         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
52818         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
52819         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
52820         test for a truncated result.
52821         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
52822         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
52823         * modules/getlogin_r (Depends-on): Add memchr.
52824         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
52826 2010-12-22  Bruno Haible  <bruno@clisp.org>
52828         ptsname: Avoid test failure on OSF/1 5.1.
52829         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
52830         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
52831         (same_slave): New function.
52832         (main): Use it to compare ptsname's result with the expected file name.
52834 2010-12-22  Bruno Haible  <bruno@clisp.org>
52836         Port extended stdio modules to HP NonStop Kernel.
52837         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
52838         macros.
52839         * lib/fbufmode.c: Update comments.
52840         * lib/fflush.c: Likewise.
52841         * lib/fpurge.c: Likewise.
52842         * lib/freadable.c: Likewise.
52843         * lib/freadahead.c: Likewise.
52844         * lib/freading.c: Likewise.
52845         * lib/freadptr.c: Likewise.
52846         * lib/freadseek.c: Likewise.
52847         * lib/fseeko.c: Likewise.
52848         * lib/fseterr.c: Likewise.
52849         * lib/fwritable.c: Likewise.
52850         * lib/fwriting.c: Likewise.
52851         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
52853 2010-12-22  Bruno Haible  <bruno@clisp.org>
52855         ttyname_r: Work around bug on OSF/1 5.1.
52856         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
52857         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
52858         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
52859         present.
52860         * lib/ttyname_r.c (ttyname_r): Update comments.
52862 2010-12-22  Bruno Haible  <bruno@clisp.org>
52864         round: Implement result sign according to IEEE 754.
52865         * lib/round.c (MIN, MINUS_ZERO): New macros.
52866         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
52867         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
52868         * tests/test-round-ieee.c (main): Likewise.
52869         * tests/test-roundl-ieee.c (main): Likewise.
52871         trunc: Implement result sign according to IEEE 754.
52872         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
52873         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
52874         * tests/test-trunc2.c: Include minus-zero.h.
52875         (MINUS_ZERO): New macro.
52876         (trunc_reference): Keep in sync with lib/trunc.c.
52877         * tests/test-truncf2.c: Include minus-zero.h.
52878         (MINUS_ZERO): New macro.
52879         (truncf_reference): Keep in sync with lib/trunc.c.
52880         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
52881         * tests/test-trunc-ieee.c (main): Likewise.
52882         * tests/test-truncl-ieee.c (main): Likewise.
52884         ceil: Implement result sign according to IEEE 754.
52885         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
52886         (FUNC): Return -0.0 for -1 < x < 0.
52887         * tests/test-ceil2.c: Include minus-zero.h.
52888         (MINUS_ZERO): New macro.
52889         (ceil_reference): Keep in sync with lib/ceil.c.
52890         * tests/test-ceilf2.c: Include minus-zero.h.
52891         (MINUS_ZERO): New macro.
52892         (ceilf_reference): Keep in sync with lib/ceil.c.
52893         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
52894         * tests/test-ceil-ieee.c (main): Likewise.
52895         * tests/test-ceill-ieee.c (main): Likewise.
52897         floor: Implement result sign according to IEEE 754.
52898         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
52899         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
52900         * tests/test-floorf2.c (floorf_reference): Likewise.
52901         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
52902         * tests/test-floor-ieee.c (main): Likewise.
52903         * tests/test-floorl-ieee.c (main): Likewise.
52905 2010-12-22  Bruno Haible  <bruno@clisp.org>
52907         getaddrinfo: Update doc.
52908         * doc/posix-functions/gai_strerror.texi: Return type is also different
52909         on AIX and HP-UX.
52911 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
52913         getaddrinfo, inet_ntop: Update doc for Solaris.
52914         * doc/posix-functions/gai_strerror.texi: Return type is also an
52915         issue on Solaris 9 and earlier.
52916         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
52917         on Solaris 10 and earlier.
52919 2010-12-21  Bruno Haible  <bruno@clisp.org>
52921         New module 'roundl-ieee'.
52922         * modules/roundl-ieee: New file.
52923         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
52924         test whether roundl works according to ISO C 99 with IEC 60559.
52925         * m4/roundl-ieee.m4: New file.
52926         * modules/roundl-ieee-tests: New file.
52927         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
52928         * tests/test-roundl.c (main): Remove signbit tests.
52929         * modules/roundl-tests (Depends-on): Remove signbit.
52930         * doc/posix-functions/roundl.texi: Mention the new module.
52932 2010-12-21  Bruno Haible  <bruno@clisp.org>
52934         New module 'truncl-ieee'.
52935         * modules/truncl-ieee: New file.
52936         * modules/truncl-ieee-tests: New file.
52937         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
52938         * tests/test-truncl.c (main): Remove signbit tests.
52939         * modules/truncl-tests (Depends-on): Remove signbit.
52940         * doc/posix-functions/truncl.texi: Mention the new module.
52942 2010-12-21  Bruno Haible  <bruno@clisp.org>
52944         New module 'ceill-ieee'.
52945         * modules/ceill-ieee: New file.
52946         * modules/ceill-ieee-tests: New file.
52947         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
52948         * tests/test-ceill.c (main): Remove signbit tests.
52949         * modules/ceill-tests (Depends-on): Remove signbit.
52950         * doc/posix-functions/ceill.texi: Mention the new module.
52952 2010-12-21  Bruno Haible  <bruno@clisp.org>
52954         New module 'floorl-ieee'.
52955         * modules/floorl-ieee: New file.
52956         * modules/floorl-ieee-tests: New file.
52957         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
52958         * tests/test-floorl.c (main): Remove signbit tests.
52959         * modules/floorl-tests (Depends-on): Remove signbit.
52960         * doc/posix-functions/floorl.texi: Mention the new module.
52962 2010-12-21  Bruno Haible  <bruno@clisp.org>
52964         New module 'round-ieee'.
52965         * modules/round-ieee: New file.
52966         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
52967         whether round works according to ISO C 99 with IEC 60559.
52968         * m4/round-ieee.m4: New file.
52969         * modules/round-ieee-tests: New file.
52970         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
52971         * tests/test-round1.c (main): Remove signbit tests.
52972         * modules/round-tests (Depends-on): Remove 'signbit'.
52973         * doc/posix-functions/round.texi: Mention the new module.
52975 2010-12-21  Bruno Haible  <bruno@clisp.org>
52977         New module 'trunc-ieee'.
52978         * modules/trunc-ieee: New file.
52979         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
52980         whether trunc works according to ISO C 99 with IEC 60559.
52981         * m4/trunc-ieee.m4: New file.
52982         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
52983         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
52984         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
52985         * modules/trunc-ieee-tests: New file.
52986         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
52987         * tests/test-trunc1.c (main): Remove signbit tests.
52988         * modules/trunc-tests (Depends-on): Remove 'signbit'.
52989         * doc/posix-functions/trunc.texi: Mention the new module.
52991 2010-12-21  Bruno Haible  <bruno@clisp.org>
52993         New module 'ceil-ieee'.
52994         * modules/ceil-ieee: New file.
52995         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
52996         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
52997         ISO C 99 with IEC 60559.
52998         * m4/ceil-ieee.m4: New file.
52999         * modules/ceil (Files): Add lib/ceil.c.
53000         (Depends-on): Add 'float'.
53001         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53002         * lib/math.in.h (ceil): New declaration.
53003         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
53004         REPLACE_CEIL.
53005         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
53006         * modules/ceil-ieee-tests: New file.
53007         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
53008         * tests/test-math-c++.cc: Check the signature of 'ceil'.
53009         * doc/posix-functions/ceil.texi: Mention the new module.
53011 2010-12-21  Bruno Haible  <bruno@clisp.org>
53013         New module 'floor-ieee'.
53014         * modules/floor-ieee: New file.
53015         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
53016         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
53017         ISO C 99 with IEC 60559.
53018         * m4/floor-ieee.m4: New file.
53019         * modules/floor (Files): Add lib/floor.c.
53020         (Depends-on): Add 'float'.
53021         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53022         * lib/math.in.h (floor): New declaration.
53023         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
53024         REPLACE_FLOOR.
53025         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
53026         * modules/floor-ieee-tests: New file.
53027         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
53028         * tests/test-math-c++.cc: Check the signature of 'floor'.
53029         * doc/posix-functions/floor.texi: Mention the new module.
53031 2010-12-21  Bruno Haible  <bruno@clisp.org>
53033         New module 'roundf-ieee'.
53034         * modules/roundf-ieee: New file.
53035         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
53036         test whether roundf works according to ISO C 99 with IEC 60559.
53037         * m4/roundf-ieee.m4: New file.
53038         * modules/roundf-ieee-tests: New file.
53039         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
53040         * tests/test-roundf1.c (main): Remove signbit tests.
53041         * modules/roundf-tests (Depends-on): Remove 'signbit'.
53042         * doc/posix-functions/roundf.texi: Mention the new module.
53044 2010-12-21  Bruno Haible  <bruno@clisp.org>
53046         New module 'truncf-ieee'.
53047         * modules/truncf-ieee: New file.
53048         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
53049         test whether truncf works according to ISO C 99 with IEC 60559.
53050         * m4/truncf-ieee.m4: New file.
53051         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
53052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
53053         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
53054         * modules/truncf-ieee-tests: New file.
53055         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
53056         * tests/test-truncf1.c (main): Remove signbit tests.
53057         * modules/truncf-tests (Depends-on): Remove 'signbit'.
53058         * doc/posix-functions/truncf.texi: Mention the new module.
53060 2010-12-21  Bruno Haible  <bruno@clisp.org>
53062         New module 'ceilf-ieee'.
53063         * modules/ceilf-ieee: New file.
53064         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
53065         test whether ceilf works according to ISO C 99 with IEC 60559.
53066         * m4/ceilf-ieee.m4: New file.
53067         * modules/ceilf-ieee-tests: New file.
53068         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
53069         * tests/test-ceilf1.c (main): Remove signbit tests.
53070         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
53071         * doc/posix-functions/ceilf.texi: Mention the new module.
53073 2010-12-21  Bruno Haible  <bruno@clisp.org>
53075         New module 'floorf-ieee'.
53076         * modules/floorf-ieee: New file.
53077         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
53078         test whether floorf works according to ISO C 99 with IEC 60559.
53079         * m4/floorf-ieee.m4: New file.
53080         * modules/floorf-ieee-tests: New file.
53081         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
53082         * tests/test-floorf1.c (main): Remove signbit tests.
53083         * modules/floorf-tests (Depends-on): Remove 'signbit'.
53084         * doc/posix-functions/floorf.texi: Mention the new module.
53086 2010-12-21  Bruno Haible  <bruno@clisp.org>
53088         Support for minus zero in autoconf macros.
53089         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
53090         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
53091         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
53092         * tests/minus-zero.h: Update comments.
53094 2010-12-21  Bruno Haible  <bruno@clisp.org>
53096         Tests for module 'ceil'.
53097         * modules/ceil-tests: New file.
53098         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
53099         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
53101 2010-12-21  Bruno Haible  <bruno@clisp.org>
53103         Tests for module 'floor'.
53104         * modules/floor-tests: New file.
53105         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
53106         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
53108 2010-12-21  Bruno Haible  <bruno@clisp.org>
53110         math: Fix indentation.
53111         * lib/math.in.h (floorf): Fix indentation.
53113 2010-12-21  Bruno Haible  <bruno@clisp.org>
53115         Fix cross-compilation guesses on Solaris.
53116         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
53117         not match "solaris2.10".
53118         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
53119         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
53120         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
53122 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
53124         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
53125         This fixes a problem observed with the latest coreutils snapshot
53126         that caused a test to fail on Solaris 8.  src/csplit.c's call
53127         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
53128         earlier, instead of returning the number of bytes that would have
53129         been generated; this causes csplit to incorrectly report memory
53130         exhaustion.
53131         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
53132         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
53133         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
53134         comments to match.
53135         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
53136         Fix typo in matching older versions of Solaris: "solaris2.10"
53137         is matched by the shell pattern "solaris2.[0-9]*".  This matters
53138         only for guessing while cross-compiling.
53139         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
53141 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
53143         ftoastr: fix comment again
53144         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
53145         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
53146         Also, simplify example a bit by using flags = 0.
53148 2010-12-20  Bruno Haible  <bruno@clisp.org>
53150         round*, trunc*: Update documentation regarding glibc.
53151         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
53152         * doc/posix-functions/round.texi: Likewise.
53153         * doc/posix-functions/roundl.texi: Likewise.
53154         * doc/posix-functions/truncf.texi: Likewise.
53155         * doc/posix-functions/trunc.texi: Likewise.
53156         * doc/posix-functions/truncl.texi: Likewise.
53158 2010-12-20  Bruno Haible  <bruno@clisp.org>
53160         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
53161         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
53162         * doc/posix-functions/round.texi: Likewise.
53163         * doc/posix-functions/roundl.texi: Likewise.
53165 2010-12-20  Bruno Haible  <bruno@clisp.org>
53167         ttyname_r: Add missing declaration on HP-UX 11.
53168         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
53169         HAVE_TTYNAME_R.
53170         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
53171         declared. Set HAVE_TTYNAME_R always.
53172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53173         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
53174         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
53175         HAVE_TTYNAME_R.
53176         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
53178 2010-12-20  Bruno Haible  <bruno@clisp.org>
53180         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
53181         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
53182         * doc/posix-functions/getlogin_r.texi: Likewise.
53183         * tests/test-getlogin.c: Include <errno.h>.
53184         (main): Avoid test failure on HP-UX 11.11.
53185         * tests/test-getlogin_r.c (main): Likewise.
53187 2010-12-20  Bruno Haible  <bruno@clisp.org>
53189         getlogin_r: Add missing declaration on HP-UX 11.
53190         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
53191         declared also when it exists as a function.
53192         * doc/posix-functions/getlogin_r.texi: Document this workaround.
53194 2010-12-20  Bruno Haible  <bruno@clisp.org>
53196         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
53197         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
53198         through wcrtomb.
53200 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
53202         ftoastr: fix comment
53203         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
53204         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
53206 2010-12-19  Bruno Haible  <bruno@clisp.org>
53208         isnan: Ensure it is a macro.
53209         * lib/math.in.h (isnan): Define as a macro if not already a macro.
53210         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
53211         Solaris.
53213 2010-12-19  Bruno Haible  <bruno@clisp.org>
53215         ldexpl test: Fix link error on OSF/1 5.1.
53216         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
53218 2010-12-19  Bruno Haible  <bruno@clisp.org>
53220         wctype: Make it work in C++ mode on OSF/1 5.1.
53221         * lib/wctype.in.h (iswblank): Declare but not define here.
53222         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
53223         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
53224         * modules/wctype (Files): Add lib/iswblank.c.
53226 2010-12-19  Bruno Haible  <bruno@clisp.org>
53228         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
53229         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
53230         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
53232 2010-12-19  Bruno Haible  <bruno@clisp.org>
53234         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
53235         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
53236         _POSIX_PII_SOCKET.
53237         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
53238         * doc/posix-functions/recvfrom.texi: Likewise.
53239         * doc/posix-functions/send.texi: Likewise.
53240         * doc/posix-functions/sendto.texi: Likewise.
53242 2010-12-19  Bruno Haible  <bruno@clisp.org>
53244         tcgetsid: Add missing declaration on OSF/1 5.1.
53245         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
53246         HAVE_TCGETSID.
53247         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
53248         Don't set HAVE_TCGETSID.
53249         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
53250         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
53251         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
53252         HAVE_TCGETSID.
53253         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
53255 2010-12-19  Bruno Haible  <bruno@clisp.org>
53257         stdio: Fix problem with popen() declaration on OSF/1 5.1.
53258         * lib/stdio.in.h: During the include_next statement, let recursive
53259         includes of this file include only the system header file.
53261 2010-12-19  Bruno Haible  <bruno@clisp.org>
53263         iconv_open: Fix regression from 2010-12-04.
53264         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
53265         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
53267 2010-12-19  Bruno Haible  <bruno@clisp.org>
53269         stdbool test: Avoid a gcc warning.
53270         * tests/test-stdbool.c (main): Fail if e1 is false.
53271         Reported by Jim Meyering.
53273 2010-12-19  Jim Meyering  <meyering@redhat.com>
53275         setenv: restore to working order
53276         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
53277         mistakenly removed.
53278         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
53279         HAVE_SETENV.
53280         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
53281         HAVE_SETENV.
53283 2010-12-19  Bruno Haible  <bruno@clisp.org>
53285         Document some different function declarations on OSF/1 5.1.
53286         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
53287         * doc/posix-functions/inet_ntop.texi: Likewise.
53288         * doc/posix-functions/gethostname.texi: Likewise.
53289         * lib/unistd.in.h (gethostname): Update comment.
53291 2010-12-19  Bruno Haible  <bruno@clisp.org>
53293         doc: Mention vasprintf-posix module.
53294         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
53295         the 'vasprintf-posix' module.
53296         * doc/glibc-functions/vasprintf.texi: Likewise.
53298 2010-12-19  Bruno Haible  <bruno@clisp.org>
53300         unsetenv: Add missing declaration on OSF/1 5.1.
53301         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
53302         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
53303         Don't set HAVE_UNSETENV. In the test program, set _BSD.
53304         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
53305         not HAVE_UNSETENV.
53306         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
53307         HAVE_UNSETENV.
53308         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
53310 2010-12-19  Bruno Haible  <bruno@clisp.org>
53312         setenv: Add missing declaration on OSF/1 5.1.
53313         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
53314         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
53315         declared. Don't set HAVE_SETENV.
53316         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
53317         not HAVE_SETENV.
53318         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
53319         HAVE_SETENV.
53320         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
53322 2010-12-19  Bruno Haible  <bruno@clisp.org>
53324         nl_langinfo tests: Avoid gcc warning.
53325         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
53327 2010-12-19  Bruno Haible  <bruno@clisp.org>
53329         mknod: Avoid error in C++ mode on OSF/1 with GCC.
53330         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
53331         _GL_CXXALIAS_SYS.
53333 2010-12-19  Bruno Haible  <bruno@clisp.org>
53335         stdbool: Relax test.
53336         * tests/test-stdbool.c (e): Don't require that casts from a variable's
53337         address to 'bool' work in static initializer, for compilers other than
53338         GCC.
53340 2010-12-19  Bruno Haible  <bruno@clisp.org>
53342         ftello: Add missing declaration on OSF/1 5.1.
53343         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
53344         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
53345         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
53346         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
53347         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
53349 2010-12-19  Bruno Haible  <bruno@clisp.org>
53351         fseeko: Add missing declaration on OSF/1 5.1.
53352         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
53353         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
53354         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
53355         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
53356         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
53358 2010-12-19  Bruno Haible  <bruno@clisp.org>
53360         fchdir: Add missing declaration on OSF/1 5.1.
53361         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
53362         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
53363         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
53364         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
53365         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
53367 2010-12-19  Bruno Haible  <bruno@clisp.org>
53369         relocatable-prog-wrapper: Separate from relocatable-prog.
53370         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
53371         uninstall-relocwrapper rule here.
53372         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
53373         Reported by Ian Beckwith <ianb@erislabs.net>.
53375 2010-12-19  Bruno Haible  <bruno@clisp.org>
53377         unistr/u8-mbsnlen: Add missing dependency.
53378         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
53379         Reported by Ian Beckwith <ianb@erislabs.net>.
53381 2010-12-19  Bruno Haible  <bruno@clisp.org>
53383         iconv: Make it possible again to use this module without 'iconv-h'.
53384         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
53385         if it is not defined.
53386         Reported by Ian Beckwith <ianb@erislabs.net>.
53388 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53390         acl: port to Solaris 8 when copying from tmpfs to ufs
53391         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
53392         error number.  Problem observed on Solaris 8 with latest
53393         coreutils, with "mv A B", where A is on a tmpfs file system and B
53394         is on a ufs file system.  This caused coreutils' mv/part-symlink
53395         test to fail.
53397         tests: set fail=0 at start
53398         * tests/init.sh (setup_): Move fail=0 initialization here ...
53399         (mktempd_): ... from here, so that tests can rely on fail being
53400         set to 0 initially.  This fixes a problem in coreutils; see:
53401         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
53403 2010-12-18  Bruno Haible  <bruno@clisp.org>
53405         memmem-simple: Stylistic changes.
53406         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
53407         Fix preprocessor directive indentation.
53409 2010-12-15  Pádraig Brady  <P@draigBrady.com>
53411         memmem, memmem-simple: reorganize and expand empty needle check
53412         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
53413         functional checks to memmem-simple so that one has a fully functional
53414         memmem by using just this module.
53415         Restrict the performance only check to the memmem module.
53416         Also expand the empty needle check to ensure the correct
53417         pointer is returned, not just a non NULL pointer.
53418         * doc/glibc-functions/memmem.texi: Rearrange the portability
53419         documentation to correlate with the rearranged checks.
53420         Clarify exactly how the memmem and memmem-simple modules
53421         relate to each other.
53423 2010-12-15  Pádraig Brady  <P@draigBrady.com>
53424             Bruno Haible  <bruno@clisp.org>
53426         Improve cross-compilation guesses for uClibc.
53427         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
53428         that uClibc does not have the glibc bug.
53429         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
53430         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
53432 2010-12-14  Eric Blake  <eblake@redhat.com>
53434         configmake: provide fallbacks for oldest supported autotools
53435         * m4/configmake.m4: New file.
53436         * modules/configmake (Files): Ship it.
53437         (configure.ac): Use it to guarantee fallbacks.
53439 2010-12-13  Pádraig Brady  <P@draigBrady.com>
53441         read-file: Improve handling of large files
53442         * lib/read-file.c (fread_file): Minimize realloc()s
53443         for regular files, and better manage sizes around SIZE_MAX.
53445 2010-12-13  Eric Blake  <eblake@redhat.com>
53447         cloexec, fcntl: relax license
53448         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
53449         consent from all contributors.
53450         * modules/fcntl (License): Likewise.
53452 2010-12-10  Bruno Haible  <bruno@clisp.org>
53454         Tests for module 'pipe-posix'.
53455         * modules/pipe-posix-tests: New file.
53456         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
53458 2010-12-10  Bruno Haible  <bruno@clisp.org>
53460         pipe-posix: Make it work in C++ mode.
53461         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
53462         (pipe): Use common idiom, not a macro definition.
53463         * lib/pipe.c: New file.
53464         * m4/pipe.m4: New file.
53465         * modules/pipe-posix (Description): Enhance.
53466         (Files): Add lib/pipe.c, m4/pipe.m4.
53467         (configure.ac): Invoke gl_FUNC_PIPE.
53468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
53469         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
53470         * tests/test-unistd-c++.cc: Check the signature of pipe.
53472 2010-12-10  Bruno Haible  <bruno@clisp.org>
53474         Rename module 'pipe' to 'spawn-pipe'.
53475         * modules/spawn-pipe: New file, renamed from modules/pipe.
53476         (Files, configure.ac, Makefile.am): Update.
53477         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
53478         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
53479         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
53480         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
53481         "spawn-pipe.h" instead of "pipe.h".
53482         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
53483         to gl_SPAWN_PIPE.
53484         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
53485         (Files, Makefile.am): Update.
53486         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
53487         Update.
53488         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
53489         Include "spawn-pipe.h" instead of "pipe.h".
53490         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
53491         * lib/javacomp.c: Likewise.
53492         * lib/javaversion.c: Likewise.
53493         * lib/pipe-filter-gi.c: Likewise.
53494         * lib/pipe-filter-ii.c: Likewise.
53495         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
53496         * modules/javacomp (Depends-on): Likewise.
53497         * modules/javaversion (Depends-on): Likewise.
53498         * modules/pipe-filter-gi (Depends-on): Likewise.
53499         * modules/pipe-filter-ii (Depends-on): Likewise.
53500         * MODULES.html.sh (Executing programs): Update.
53501         * NEWS: Mention the change.
53503 2010-12-10  Eric Blake  <eblake@redhat.com>
53505         pipe-posix: new module
53506         * modules/pipe-posix: New file.
53507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
53508         (gl_UNISTD_H): Check for declaration.
53509         * modules/unistd (Makefile.am): Substitute it.
53510         * lib/unistd.in.h (pipe): Provide it for mingw.
53511         * doc/posix-functions/pipe.texi (pipe): Update documentation.
53512         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
53514 2010-12-07  Bruno Haible  <bruno@clisp.org>
53516         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
53517         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
53518         u8_strcmp_gnu.
53519         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
53521 2010-12-06  Bruno Haible  <bruno@clisp.org>
53523         Update internal documentation.
53524         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
53526 2010-12-04  Bruno Haible  <bruno@clisp.org>
53528         Put more information about failed tests into the test return codes.
53529         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
53530         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
53531         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
53532         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
53533         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
53534         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
53535         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
53536         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
53537         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
53538         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53539         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
53540         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
53541         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
53542         * m4/stdint.m4 (gl_STDINT_H): Likewise.
53543         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
53544         returns a bit mask.
53545         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
53546         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
53547         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
53548         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
53549         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
53550         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
53551         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
53552         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
53553         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
53554         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
53555         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
53556         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
53557         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
53558         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
53559         * m4/link.m4 (gl_FUNC_LINK): Likewise.
53560         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
53561         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
53562         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
53563         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
53564         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
53565         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53566         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
53567         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
53568         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
53569         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
53570         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
53571         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
53572         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
53573         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
53574         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
53575         gl_PRINTF_PRECISION): Likewise.
53576         * m4/regex.m4 (gl_REGEX): Likewise.
53577         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
53578         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
53579         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
53580         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
53581         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53582         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53583         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
53584         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
53585         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53586         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
53587         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
53588         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
53589         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
53590         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
53591         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
53592         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
53593         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
53594         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
53595         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53596         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
53597         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
53598         enumerated value.
53599         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
53601 2010-12-04  Bruno Haible  <bruno@clisp.org>
53603         Update for Solaris 11 2010-11.
53604         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
53605         Express, released in November 2010.
53607 2010-12-04  Bruno Haible  <bruno@clisp.org>
53609         nproc: Relax license.
53610         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
53611         and Paul Eggert.
53612         Requested by Ludovic Courtès <ludo@gnu.org>.
53614 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
53616         utimecmp: fine-grained src to nearby coarse-grained dest
53618         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
53619         and the source is on a file system with higher-resolution time
53620         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
53621         not work, and the time stamps are close together, the algorithm to
53622         determine the exact resolution from the read-back mtime was buggy:
53623         it had a "!=" where it should have had an "==".  This bug has been
53624         in the code ever since it was introduced to gnulib.
53625         Problem reported by Dan Jacobson in
53626         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
53628 2010-11-30  Bruno Haible  <bruno@clisp.org>
53630         strerror_r-posix: Fix autoconf test.
53631         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
53633 2010-11-28  Bruno Haible  <bruno@clisp.org>
53634             Paul Eggert  <eggert@cs.ucla.edu>
53636         Tests for module 'getdomainname'.
53637         * modules/getdomainname-tests: New file.
53638         * tests/test-getdomainname.c: New file, based on
53639         tests/test-gethostname.c.
53641 2010-11-28  Bruno Haible  <bruno@clisp.org>
53642             Paul Eggert  <eggert@cs.ucla.edu>
53644         getdomainname: Use the system function when possible.
53645         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
53646         (getdomainname): Replace if needed. Provide the declaration if it is
53647         missing. Don't use _GL_CXXALIAS_SYS_CAST.
53648         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
53649         (getdomainname): When the system has getdomainname, call the system
53650         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
53651         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
53652         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
53653         found in libnsl. Look for the declaration also in <netdb.h>. Replace
53654         the function if its second argument is of type 'int' or if it is found
53655         in libnsl.
53656         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
53657         <sys/systeminfo.h> and sysinfo().
53658         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
53659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53660         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
53661         HAVE_GETDOMAINNAME.
53662         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
53663         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
53664         * doc/glibc-functions/getdomainname.texi: Document the problems with
53665         the getdomainname declaration.
53667 2010-11-28  Bruno Haible  <bruno@clisp.org>
53669         sys_socket: Ensure ss_family field on AIX.
53670         * lib/sys_socket.in.h (ss_family): New macro definition.
53671         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
53672         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
53673         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
53674         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
53675         * modules/sys_socket (Makefile.am): Substitute
53676         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
53677         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
53679 2010-11-27  Bruno Haible  <bruno@clisp.org>
53681         readline: Improve configure output.
53682         * m4/readline.m4 (gl_FUNC_READLINE): Make the
53683         "checking for readline..." result understandable.
53685 2010-11-27  Bruno Haible  <bruno@clisp.org>
53687         *printf-posix: Detect a bug on Solaris 10/x86.
53688         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
53689         for floating-point output.
53690         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
53691         directive.
53692         * tests/test-snprintf-posix.h (test_function): Likewise.
53693         * tests/test-sprintf-posix.h (test_function): Likewise.
53694         * tests/test-vasprintf-posix.c (test_function): Likewise.
53695         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
53696         * doc/posix-functions/printf.texi: Likewise.
53697         * doc/posix-functions/snprintf.texi: Likewise.
53698         * doc/posix-functions/sprintf.texi: Likewise.
53699         * doc/posix-functions/vfprintf.texi: Likewise.
53700         * doc/posix-functions/vprintf.texi: Likewise.
53701         * doc/posix-functions/vsnprintf.texi: Likewise.
53702         * doc/posix-functions/vsprintf.texi: Likewise.
53703         * doc/glibc-functions/obstack_printf.texi: Likewise.
53704         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
53706 2010-11-27  Bruno Haible  <bruno@clisp.org>
53708         Fix link error when module libunistring-optional is in use.
53709         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
53710         * modules/striconveha-tests (Makefile.am): Likewise.
53712 2010-11-27  Bruno Haible  <bruno@clisp.org>
53714         regex: Mention link dependencies.
53715         * modules/regex (Link): New section.
53716         * modules/rpmatch (Link): Likewise.
53717         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
53719 2010-11-27  Bruno Haible  <bruno@clisp.org>
53721         ftoastr: Fix compilation error on Solaris.
53722         * lib/ftoastr.c: Include <config.h>.
53724 2010-11-27  Bruno Haible  <bruno@clisp.org>
53726         getloadavg: Update documentation.
53727         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
53729 2010-11-27  Bruno Haible  <bruno@clisp.org>
53731         sys_socket: Fix test whether the functions are declared.
53732         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
53733         not <sys/select.h>.
53735 2010-11-27  Bruno Haible  <bruno@clisp.org>
53737         getpass: Make sure to get system declaration on some platforms.
53738         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
53739         gl_USE_SYSTEM_EXTENSIONS.
53740         * modules/getpass (Depends-on): Add extensions.
53742 2010-11-26  Bruno Haible  <bruno@clisp.org>
53744         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
53745         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
53746         'iconv' module is present.
53747         (ICONV_CONST): New macro.
53748         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
53749         ICONV_CONST.
53750         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
53751         set ICONV_CONST.
53752         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
53753         here.
53754         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
53755         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
53756         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
53757         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
53758         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
53759         present.
53761 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
53763         ftoastr: comment fix
53764         * lib/ftoastr.c: "little" -> "little or no" in comment
53766 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
53768         stdint: port to GCC 4.3 + OSX + Octave
53769         On this platform, stdint.h is buggy and defines int64_t to long
53770         long int.  The replacement defined it to long int, causing
53771         problems with C++ style name mangling.  Instead, trust the system
53772         definition if INT64_MAX is defined, and likewise for the unsigned
53773         variant.   Problem reported by Jarno Rajahalme in
53774         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
53775         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
53776         and don't mess with int64_t and INT64_MAX in this case.
53777         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
53779 2010-11-24  Bruno Haible  <bruno@clisp.org>
53781         doc: Corrections regarding MacOS X 10.4 and 10.5.
53782         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
53783         MacOS X.
53784         Reported by Simon Josefsson.
53786 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
53788         Uninstall ".bin" files installed by relocwrapper.
53789         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
53790         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
53791         unless it is already there.
53793 2010-11-21  Bruno Haible  <bruno@clisp.org>
53795         Update for NetBSD 5.0.
53796         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
53797         NetBSD; the test fails on NetBSD 5.0.
53798         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
53799         about NetBSD.
53801 2010-11-21  Bruno Haible  <bruno@clisp.org>
53803         Update for HP-UX 11.23 and HP-UX 11.31.
53804         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
53805         HP-UX.
53807 2010-11-21  Bruno Haible  <bruno@clisp.org>
53809         Update for MacOS X 10.5.
53810         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
53811         MacOS X; the test fails on MacOS X 10.5.8.
53812         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
53813         about MacOS X.
53815 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
53817         bootstrap: add bootstrap_sync option.
53818         See discussion at
53819         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
53820         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
53821         * build-aux/bootstrap: Accept --bootstrap-sync to update
53822         bootstrap if it is not identical to the local gnulib's
53823         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
53824         enable this by default.  Accept --no-bootstrap-sync to disable
53825         it.
53827 2010-11-20  Bruno Haible  <bruno@clisp.org>
53829         Ensure that <features.h> is included before __GLIBC__ is tested.
53830         * lib/printf-parse.h: Include <features.h>.
53831         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
53832         Reported by Mike Frysinger <vapier@gentoo.org>.
53834         Ensure that <features.h> is included before __GLIBC__ is tested.
53835         * lib/wchar.in.h: Include <features.h>.
53836         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
53837         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
53838         Reported by Mike Frysinger <vapier@gentoo.org>.
53840         Ensure that <features.h> is included before __GLIBC__ is tested.
53841         * lib/arpa_inet.in.h: Include <features.h>.
53842         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
53843         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
53844         Reported by Mike Frysinger <vapier@gentoo.org>.
53846         Ensure that <features.h> is included before __GLIBC__ is tested.
53847         * build-aux/link-warning.h: Include <features.h>.
53848         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
53849         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
53850         Reported by Mike Frysinger <vapier@gentoo.org>.
53852         Ensure that <features.h> is included before __GLIBC__ is tested.
53853         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
53854         Reported by Mike Frysinger <vapier@gentoo.org>.
53856 2010-11-20  Bruno Haible  <bruno@clisp.org>
53858         memmem: Fix autoconf test.
53859         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
53861 2010-11-20  Bruno Haible  <bruno@clisp.org>
53863         Port to uClibc.
53864         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
53865         * lib/fcntl.in.h: Likewise.
53866         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
53867         * lib/mbrtowc.c (mbrtowc): Likewise.
53868         * lib/relocatable.c (find_shared_library_fullname): Likewise.
53869         * lib/strerror_r.c: Likewise.
53870         * lib/unistr/u8-strnlen.c: Likewise.
53871         * lib/vasnprintf.c (decimal_point_char): Likewise.
53872         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
53873         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
53874         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
53875         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
53876         * tests/test-sigaction.c (handler, main): Likewise.
53877         * lib/freading.h: Treat uClibc like a non-glibc platform.
53878         * lib/freading.c: Likewise.
53879         * lib/gettext.h: Likewise.
53880         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
53881         Likewise.
53882         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
53883         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
53884         * lib/propername.c (proper_name_utf8): Likewise.
53885         * lib/spawn.in.h: Likewise.
53886         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
53887         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
53888         mem_cd_iconveh_internal): Likewise.
53889         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
53890         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
53891         strstr, strcasestr): Likewise.
53892         * lib/unicodeio.c (unicode_to_mb): Likewise.
53893         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
53894         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
53895         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
53896         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
53897         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
53898         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
53899         * lib/unistr/u8-stpncpy.c: Likewise.
53900         * lib/vasnprintf.c (VASNPRINTF): Likewise.
53901         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
53902         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
53903         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
53904         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
53905         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
53906         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
53907         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
53908         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
53909         Likewise.
53910         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
53911         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
53912         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
53913         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53914         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53915         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
53916         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
53917         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
53918         * tests/test-getopt.h (OPTIND_MIN): Likewise.
53919         * tests/test-striconveha.c (main): Likewise.
53920         * tests/test-vasnprintf-posix.c (test_function): Likewise.
53921         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
53922         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
53923         * doc/posix-functions/getline.texi: Likewise.
53924         Reported by Mike Frysinger <vapier@gentoo.org>.
53926 2010-11-20  Bruno Haible  <bruno@clisp.org>
53928         nproc: Fix condition.
53929         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
53930         HAVE_PTHREAD_AFFINITY_NP.
53932 2010-11-20  Bruno Haible  <bruno@clisp.org>
53934         Fix a comment.
53935         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
53937 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
53939         ftoastr: don't assume snprintf
53940         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
53941         Implement a subset of snprintf here, by using sprintf safely.
53942         * modules/ftoastr (Depends-on): Remove snprintf.
53944 2010-11-19  Jim Meyering  <meyering@redhat.com>
53946         test-rename.h: fix compilation failure
53947         * tests/test-rename.h (test_rename): Add omitted "}".
53949 2010-11-17  Jim Meyering  <meyering@redhat.com>
53951         maint.mk: add a URL discussing the no-@acronym policy
53952         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
53954 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
53956         ftoastr: depend on snprintf, improve comments
53957         * lib/ftoastr.c: Also mention Loitsch's draft.
53958         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
53959         needed in the current implementation, but it might simplify
53960         speeding up the code later.
53961         * modules/ftoastr: Depend on snprintf; this improves portability.
53962         Suggested by Bruno Haible in the same email.
53964         ftoastr: port to hosts lacking strtof and strtold
53965         Problem reported by Bruno Haible in
53966         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
53967         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
53968         environment and strtold (and presumably strtof) are not available.
53969         * modules/ftoastr (Files): Add m4/c-strtod.m4.
53970         (configure.ac): Require gl_C99_STRTOLD.
53972 2010-11-18  Bruno Haible  <bruno@clisp.org>
53974         c-strtold: Avoid link error on AIX 7.
53975         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
53976         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
53977         (gl_C_STRTOLD): Test whether strtold_l exists.
53978         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53980 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
53982         intprops: new macro INT_BITS_STRLEN_BOUND
53983         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
53984         ftoastr.h.  This exposes an internal of intprops.h that was formerly
53985         not exposed.  Also, it uses a slightly tighter bound than before;
53986         though this makes no practical difference, we might as well be as
53987         tight as we easily can.
53989         ftoastr: new module, for lossless conversion of floats to short strings
53990         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
53991         * modules/ftoastr: New files.
53993 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
53995         bootstrap: port to Solaris sed
53996         * build-aux/bootstrap (get_version): Port to Solaris sed.
53997         See Ralf Wildenhues's note in
53998         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
54000 2010-11-14  Jim Meyering  <meyering@redhat.com>
54002         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
54003         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
54004         and move definition closer to sole use.
54006 2010-11-13  Jim Meyering  <meyering@redhat.com>
54008         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
54009         Now we require at least autoconf-2.59, which means the work-around
54010         is no longer needed.
54011         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
54012         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
54013         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
54014         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
54015         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
54017 2010-11-13  Bruno Haible  <bruno@clisp.org>
54019         rename, renameat: Avoid test failures at NFS mounted locations.
54020         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
54021         functions.
54022         (test_rename): Use assert_nonexistent.
54023         * tests/test-rename.c: Include <dirent.h>.
54024         * tests/test-renameat.c: Likewise.
54025         Reported by Gary V. Vaughan <gary@gnu.org>.
54027         rename, renameat: Document Linux bug with NFS
54028         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
54029         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
54030         * doc/posix-functions/renameat.texi: Likewise.
54031         Suggested by Eric Blake.
54033 2010-11-13  Bruno Haible  <bruno@clisp.org>
54035         rename test: Add comments.
54036         * tests/test-rename.h (test_rename): Add structure and comments.
54038 2010-11-13  Eric Blake  <eblake@redhat.com>
54040         maintainer-makefile: cover a few more files
54041         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
54042         scripts generated within C files, for libvirt.
54044 2010-11-13  Bruno Haible  <bruno@clisp.org>
54046         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
54047         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
54048         character, return the number of bytes that belong together, not always
54049         1.
54050         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
54051         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
54052         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
54053         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
54054         number of bytes of an invalid character.
54055         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
54056         (main): Invoke it.
54057         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
54058         results.
54059         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
54060         malformed byte sequences.
54061         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
54062         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
54063         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
54064         Reported by Ben Pfaff and Paolo Bonzini.
54066 2010-11-13  Bruno Haible  <bruno@clisp.org>
54068         openat: Work around glibc bug with fchownat() and empty file names.
54069         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
54070         (gl_FUNC_FCHOWNAT): Invoke it.
54071         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
54072         * doc/posix-functions/fchownat.texi: Document the glibc bug.
54073         Reported by Gary V. Vaughan <gary@gnu.org>.
54075 2010-11-13  Bruno Haible  <bruno@clisp.org>
54077         openat: Ensure autoconf macro ordering.
54078         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
54079         gl_USE_SYSTEM_EXTENSIONS.
54080         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
54082 2010-11-13  Bruno Haible  <bruno@clisp.org>
54084         Update comments.
54085         * lib/unistr/u8-check.c: Update file name in comments.
54086         * lib/unistr/u8-mblen.c: Likewise.
54087         * lib/unistr/u8-prev.c: Likewise.
54088         * lib/unistr/u8-strmblen.c: Likewise.
54089         * lib/unistr/u8-strmbtouc.c: Likewise.
54091 2010-11-13  Jim Meyering  <meyering@redhat.com>
54093         tests: avoid test failure on Solaris 10 due to lack of PATH export
54094         * tests/test-update-copyright.sh: Don't forget to export PATH.
54096         init.sh: ensure that IFS is defined, just in case...
54097         * tests/init.sh (setup_): Ensure that IFS is defined,
54098         so that saving and restoring it works as expected.  This
54099         appears to be useful at least for an old version of dash
54100         from a long time ago (RH 6).  See here for details:
54101         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
54103         maint.mk: tighten "test a == b" check
54104         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
54105         test to files that contain something like #!/bin/sh.
54106         Without this, coreutils would get two false positives in
54107         the comments of C source files.
54109 2010-11-12  Eric Blake  <eblake@redhat.com>
54111         bootstrap: fix typo in previous attempt
54112         * build-aux/bootstrap (buildreq): Correct the grouping.
54113         Reported by Paul Eggert.
54115         maintainer-makefile: prohibit test x == x
54116         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
54117         Based on a report by Matthias Bolte.
54119         bootstrap: allow FreeBSD gzip
54120         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
54121         which has no '.' and goes to stderr.
54122         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
54123         Reported by Matthias Bolte.
54125         maintainer-makefile: check for i18n setup
54126         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
54127         will likely work.
54129 2010-11-12  Bruno Haible  <bruno@clisp.org>
54131         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
54132         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
54133         * lib/nanosleep.c (nanosleep): Likewise.
54135 2010-11-11  Bruno Haible  <bruno@clisp.org>
54137         fcntl-h: Fix for use of C++ on glibc systems.
54138         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
54139         also on glibc systems in C++ mode.
54140         Reported by Gary V. Vaughan <gary@gnu.org>.
54142 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
54144         mknod: avoid false failure with dash
54145         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
54147 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54149         unlink: Fix "is it should" typo in diagnostic.
54150         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
54151         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
54153 2010-11-11  Bruno Haible  <bruno@clisp.org>
54155         Tests for module 'strerror_r-posix'.
54156         * modules/strerror_r-posix-tests: New file.
54157         * tests/test-strerror_r.c: New file.
54158         * tests/test-string-c++.cc: Check the signature of strerror_r.
54160         New module 'strerror_r-posix'.
54161         * lib/string.in.h (strerror_r): New declaration.
54162         * lib/strerror_r.c: New file.
54163         * m4/strerror_r.m4: New file.
54164         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
54165         of strerror_r.
54166         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
54167         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
54168         * modules/strerror_r-posix: New file.
54169         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
54170         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
54171         * doc/posix-functions/strerror_r.texi: Mention the new module and the
54172         portability problems.
54174 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
54176         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
54177         line is also considered for output. Quoted function name in shell
54178         command, so temporary files for functions like MyClass::operator()
54179         are removed correctly without errors.
54181 2010-11-09  Bruno Haible  <bruno@clisp.org>
54183         * doc/posix-functions/strerror.texi: List more failing platforms.
54185         * doc/posix-functions/strerror.texi: Add a comment.
54187 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
54189         fdopendir: fix bug on MacOS X when low on file descriptors
54191         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
54192         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
54193         All callers changed.
54194         (fdopendir): Invoke save_cwd at the top level, not after using
54195         multiple dup() calls to use up file descriptors.  Then retry
54196         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
54197         less than the maximum number of open file descriptors, because
54198         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
54199         on Mac OS X 10.6.4 for tar 1.24
54200         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
54201         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
54202         and for tar 1.25
54203         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
54205 2010-11-07  Bruno Haible  <bruno@clisp.org>
54207         vasnprintf: Support I flag on glibc systems.
54208         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
54209         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
54210         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
54211         snprintf function.
54212         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
54213         glibc systems.
54214         * tests/test-vasnprintf-posix3.c: New file.
54215         * modules/vasnprintf-posix-tests (Files): Add it.
54216         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
54218 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54220         [html] Fix copy/paste bug: Use unique name for compiler warnings.
54221         * MODULES.html.sh: For compiler warnings, use name
54222         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
54224 2010-11-05  Eric Blake  <eblake@redhat.com>
54226         ceil, floor: avoid spurious failure with icc
54227         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
54228         [denormals-as-zero] when optimizing without -mieee-fp option.
54229         * tests/test-floorf2.c (floorf_reference): Likewise.
54230         * tests/test-ceilf1.c (dummy): New function.
54231         (main): Use it to outsmart icc's optimization.
54232         * tests/test-floorf1.c (dummy, main): Likewise.
54234         tests: require working signbit
54235         * modules/ceilf-tests (Depends-on): Add signbit.
54236         * modules/ceill-tests (Depends-on): Likewise.
54237         * modules/floorf-tests (Depends-on): Likewise.
54238         * modules/floorl-tests (Depends-on): Likewise.
54239         * modules/round-tests (Depends-on): Likewise.
54240         * modules/roundf-tests (Depends-on): Likewise.
54241         * modules/roundl-tests (Depends-on): Likewise.
54242         * modules/trunc-tests (Depends-on): Likewise.
54243         * modules/truncf-tests (Depends-on): Likewise.
54244         * modules/truncl-tests (Depends-on): Likewise.
54246         strtod: work around icc bug
54247         * lib/strtod.c (minus_zero): Define to working value.
54248         (strtod): Use it to avoid icc bug.
54250         copysign: enhance tests
54251         * modules/copysign-tests (Files): Add minus-zero.h.
54252         * tests/test-copysign.c (main): Also test zeros.
54254 2010-11-04  Eric Blake  <eblake@redhat.com>
54256         ceil, floor, round, trunc: enhance tests of -0
54257         * tests/test-ceilf1.c (main): Ensure correct sign of result.
54258         * tests/test-ceill.c (main): Likewise.
54259         * tests/test-floorf1.c (main): Likewise.
54260         * tests/test-floorl.c (main): Likewise.
54261         * tests/test-round1.c (main): Likewise.
54262         * tests/test-roundf1.c (main): Likewise.
54263         * tests/test-roundl.c (main): Likewise.
54264         * tests/test-trunc1.c (main): Likewise.
54265         * tests/test-truncf1.c (main): Likewise.
54266         * tests/test-truncl.c (main): Likewise.
54268 2010-11-04  Eric Blake  <eblake@redhat.com>
54270         frexp, tests: work around ICC bug with -zero
54271         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
54272         works with more compilers.
54273         * tests/minus-zero.h: New file.
54274         * modules/ceilf-tests (Files): Include it.
54275         * modules/ceill-tests (Files): Likewise.
54276         * modules/floorf-tests (Files): Likewise.
54277         * modules/floorl-tests (Files): Likewise.
54278         * modules/frexp-nolibm-tests (Files): Likewise.
54279         * modules/frexp-tests (Files): Likewise.
54280         * modules/frexpl-nolibm-tests (Files): Likewise.
54281         * modules/frexpl-tests (Files): Likewise.
54282         * modules/isnan-tests (Files): Likewise.
54283         * modules/isnand-nolibm-tests (Files): Likewise.
54284         * modules/isnand-tests (Files): Likewise.
54285         * modules/isnanf-nolibm-tests (Files): Likewise.
54286         * modules/isnanf-tests (Files): Likewise.
54287         * modules/isnanl-nolibm-tests (Files): Likewise.
54288         * modules/isnanl-tests (Files): Likewise.
54289         * modules/round-tests (Files): Likewise.
54290         * modules/roundf-tests (Files): Likewise.
54291         * modules/roundl-tests (Files): Likewise.
54292         * modules/ldexpl-tests (Files): Likewise.
54293         * modules/signbit-tests (Files): Likewise.
54294         * modules/snprintf-posix-tests (Files): Likewise.
54295         * modules/sprintf-posix-tests (Files): Likewise.
54296         * modules/strtod-tests (Files): Likewise.
54297         * modules/trunc-tests (Files): Likewise.
54298         * modules/truncf-tests (Files): Likewise.
54299         * modules/truncl-tests (Files): Likewise.
54300         * modules/vsnprintf-posix-tests (Files): Likewise.
54301         * modules/vsprintf-posix-tests (Files): Likewise.
54302         * modules/vasnprintf-posix-tests (Files): Likewise.
54303         * modules/vasprintf-posix-tests (Files): Likewise.
54304         * tests/test-ceilf1.c (main): Use it.
54305         * tests/test-ceill.c (main): Likewise.
54306         * tests/test-floorf1.c (main): Likewise.
54307         * tests/test-floorl.c (main): Likewise.
54308         * tests/test-frexp.c (main): Likewise.
54309         * tests/test-frexpl.c (main): Likewise.
54310         * tests/test-isnan.c (main): Likewise.
54311         * tests/test-isnand.h (main): Likewise.
54312         * tests/test-isnanf.h (main): Likewise.
54313         * tests/test-isnanl.h (main): Likewise.
54314         * tests/test-ldexpl.c (main): Likewise.
54315         * tests/test-round.c (main): Likewise.
54316         * tests/test-roundf.c (main): Likewise.
54317         * tests/test-roundl.c (main): Likewise.
54318         * tests/test-signbit.c (test_signbitf, test_signbitd)
54319         (test_signbitl): Likewise.
54320         * tests/test-snprintf-posix.h (test_function): Likewise.
54321         * tests/test-sprintf-posix.h (test_function): Likewise.
54322         * tests/test-strtod.c (main): Likewise.
54323         * tests/test-trunc1.c (main): Likewise.
54324         * tests/test-truncf1.c (main): Likewise.
54325         * tests/test-truncl.c (main): Likewise.
54327         isnanl: work around icc bug
54328         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
54330 2010-11-03  Eric Blake  <eblake@redhat.com>
54332         tests: fix compiler warnings
54333         * tests/test-getopt.h (test_getopt): Fix condition.
54334         * tests/test-getopt_long.h (test_getopt_long): Likewise.
54335         * tests/test-pipe2.c (main): Likewise.
54336         * tests/test-quotearg-simple.c (main): Avoid icc warning.
54338         utimens: fix broken m4 test
54339         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
54341 2010-10-28  Bruno Haible  <bruno@clisp.org>
54343         posix_spawn*, getdtablesize: Relax license.
54344         * modules/posix_spawn (License): Change to LGPLv2+.
54345         * modules/posix_spawnp (License): Likewise.
54346         * modules/posix_spawn-internal (License): Likewise.
54347         * modules/posix_spawnattr_init (License): Likewise.
54348         * modules/posix_spawnattr_getflags (License): Likewise.
54349         * modules/posix_spawnattr_setflags (License): Likewise.
54350         * modules/posix_spawnattr_getpgroup (License): Likewise.
54351         * modules/posix_spawnattr_setpgroup (License): Likewise.
54352         * modules/posix_spawnattr_getschedparam (License): Likewise.
54353         * modules/posix_spawnattr_setschedparam (License): Likewise.
54354         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
54355         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
54356         * modules/posix_spawnattr_getsigdefault (License): Likewise.
54357         * modules/posix_spawnattr_setsigdefault (License): Likewise.
54358         * modules/posix_spawnattr_getsigmask (License): Likewise.
54359         * modules/posix_spawnattr_setsigmask (License): Likewise.
54360         * modules/posix_spawnattr_destroy (License): Likewise.
54361         * modules/posix_spawn_file_actions_init (License): Likewise.
54362         * modules/posix_spawn_file_actions_addclose (License): Likewise.
54363         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
54364         * modules/posix_spawn_file_actions_addopen (License): Likewise.
54365         * modules/posix_spawn_file_actions_destroy (License): Likewise.
54366         * modules/getdtablesize (License): Likewise.
54367         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
54369 2010-10-26  Bruno Haible  <bruno@clisp.org>
54371         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
54372         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
54373         Cygwin and mingw.
54374         Suggested by Eric Blake.
54376 2010-10-26  Bruno Haible  <bruno@clisp.org>
54378         stdio: Work around compilation error due to renameat() on Solaris 10.
54379         * lib/stdio.in.h: Include <unistd.h> on Solaris.
54380         * lib/renameat.c: Don't include <unistd.h> here.
54381         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
54382         Reported by Paul Eggert and Eric Blake.
54384 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
54386         renameat: port to Solaris 10, which declares renameat in unistd.h
54388         * lib/renameat.c: Include unistd.h before stdio.h, because
54389         Solaris 10 declares renameat in unistd.h.  Problem encountered
54390         when building GNU tar 1.24 on Solaris 10.
54392 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
54394         fdopendir: fix C89 compilation
54395         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
54396         compilers.
54398 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
54400         inttostr: simplify by removing unnecessary redundancy
54401         * lib/anytostr.c: Don't include verify.h.
54402         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
54403         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
54404         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
54405         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
54406         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
54407         Likewise.
54408         * modules/inttostr (Depends-on): Remove 'verify'.
54410 2010-10-23  Bruno Haible  <bruno@clisp.org>
54412         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
54413         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
54414         Reported by Eric Blake.
54416 2010-10-23  Bruno Haible  <bruno@clisp.org>
54418         Tests: Fix LOCALE_JA on MirBSD 10.
54419         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
54420         to an UTF-8 locale.
54421         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
54422         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54423         Reported by Eric Blake.
54425 2010-10-21  Bruno Haible  <bruno@clisp.org>
54427         nl_langinfo test: Avoid test failure on NetBSD 5.
54428         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
54429         Reported by Eric Blake.
54431 2010-10-21  Eric Blake  <eblake@redhat.com>
54433         c-stack: work around libsigsegv 2.8 bug
54434         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
54435         overflow on at least PowerPC64.
54437 2010-10-17  Bruno Haible  <bruno@clisp.org>
54439         userspec: Drop redundant file.
54440         * modules/userspec (Files): Remove lib/inttostr.h.
54442 2010-10-17  Bruno Haible  <bruno@clisp.org>
54444         nl_langinfo tests: Silence some warnings.
54445         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
54446         Reported by Jim Meyering.
54448 2010-10-17  Bruno Haible  <bruno@clisp.org>
54450         Make use of GCC's attribute __alloc_size__.
54451         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
54452         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
54453         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
54454         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
54455         __alloc_size__.
54456         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
54457         Suggested by Jim Meyering.
54459 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
54461         bootstrap: anchor .gitignore entries.
54462         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
54463         with...
54464         (insert_vc_ignore): ... this new function, which prepends `/' to
54465         all .gitignore entries before passing them to
54466         insert_sorted_if_absent.
54468 2010-10-16  Bruno Haible  <bruno@clisp.org>
54470         nextafter: Fix configure check.
54471         * modules/nextafter (configure.ac): Correct expected prototype.
54473 2010-10-16  Bruno Haible  <bruno@clisp.org>
54475         termios: Update documentation.
54476         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
54478 2010-10-16  Bruno Haible  <bruno@clisp.org>
54480         tests: Make them compile with TinyCC.
54481         * tests/test-strstr.c (main): Remove parentheses around array
54482         initializer.
54484 2010-10-15  Eric Blake  <eblake@redhat.com>
54486         ignore-value: make header idempotent
54487         * lib/ignore-value.h: Add double-inclusion guards.
54488         Reported by Stefan Berger.
54490 2010-10-15  Jim Meyering  <meyering@redhat.com>
54492         GNUmakefile: handle "stable" target, not "major"
54493         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
54494         lists in maint.mk and announce-gen.  Without this, "make stable"
54495         would fail to ensure that $(VERSION) is up to date.
54497 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
54499         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
54500         & co.
54502 2010-10-14  Bruno Haible  <bruno@clisp.org>
54504         vasnprintf: Don't set errno to 0.
54505         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
54506         block that sets it to 0.
54507         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
54509 2010-10-14  Bruno Haible  <bruno@clisp.org>
54511         socketlib: Fix.
54512         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
54513         gl_PREREQ_SYS_H_WINSOCK2.
54514         Reported by Ian Beckwith <ianb@erislabs.net>.
54516 2010-10-13  Jim Meyering  <meyering@redhat.com>
54518         test-select-stdin.c: avoid warn_unused_result warnings
54519         * tests/test-select-stdin.c: Include "macros.h".
54520         ASSERT that read and fflush succeed.
54522 2010-10-13  Jim Meyering  <meyering@redhat.com>
54524         git-version-gen: do require git-VC'd files in cwd
54525         * build-aux/git-version-gen: Reject a git version string
54526         if there are no commits associated with the current directory.
54527         This avoids an unlikely false-positive (unrelated dir whose parent
54528         repository also contains a tag matching v*), as pointed out
54529         by Giuseppe Scrivano in
54530         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
54532 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
54534         argv-iter: omit nonconforming declaration
54535         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
54536         enum arg_iter_err declaration, which doesn't conform to C99.
54537         Solaris 10 cc warns about this.
54539 2010-10-13  Eric Blake  <eblake@redhat.com>
54541         termios: fix compilation on mingw
54542         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
54543         (gl_TERMIOS_H): Adjust it on mingw.
54544         * modules/termios (Makefile.am): Substitute new key.
54545         * lib/termios.in.h (includes): Make include_next conditional.
54546         * doc/posix-headers/termios.texi (termios.h): Update
54547         documentation.
54548         Reported by Daniel P. Berrange.
54550 2010-10-13  Jim Meyering  <meyering@redhat.com>
54552         git-version-gen: don't require that .git/ be in the current dir
54553         * build-aux/git-version-gen: Adjust this script so that it works
54554         when run from any working directory beneath the top-level .git/-
54555         containing directory.  Inspired by a patch from Giuseppe Scrivano,
54556         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
54558         test-select: avoid warn_unused_result warnings
54559         * tests/test-select.c: Include "macros.h".
54560         ASSERT that each call to read, write, and pipe succeeds.
54561         While not technically required, also check each "close".
54562         * modules/select-tests (Files): Add tests/macros.h.
54564         test-symlinkat: remove declaration of unused local
54565         * tests/test-symlinkat.c (main): Remove unused local, "buf".
54567         test-inttostr: avoid shadowing warnings
54568         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
54569         and use malloc rather than the stack for the same reason as
54570         mentioned in the comment justifying the other allocation.
54572 2010-10-11  Bruno Haible  <bruno@clisp.org>
54574         stdlib: Allow multiple gnulib generated replacements to coexist.
54575         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
54576         Reported by Sam Steingold <sds@gnu.org>.
54578 2010-10-11  Jim Meyering  <meyering@redhat.com>
54580         fix a documentation typo
54581         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
54583 2010-10-11  Eric Blake  <eblake@redhat.com>
54585         futimens: work around Solaris 11 bug
54586         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
54587         * tests/test-futimens.h (test_futimens): Enhance, rather than
54588         weaken test.
54589         * doc/posix-functions/futimens.texi (futimens): Document the bug.
54591 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54593         Indentation.
54594         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
54595         higher-level operators more to the left.
54597 2010-10-11  Jim Meyering  <meyering@redhat.com>
54599         test-futimens: avoid unwarranted test failure on Solaris 5.11
54600         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
54601         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
54602         because it tries to dereference the NULL name argument.
54604 2010-10-11  Bruno Haible  <bruno@clisp.org>
54606         Indentation.
54607         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
54608         indentation.
54610 2010-10-11  Jim Meyering  <meyering@redhat.com>
54612         spawn.in.h: make indentation consistent with parentheses
54613         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
54614         Make indentation consistent with parentheses.
54616 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
54618         Fix mismatched parens in previous commit
54619         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
54620         parens.
54622 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
54624         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
54626         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
54627         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
54628         * lib/malloca.c: Include "verify.h".
54629         (verify1): Remove, replacing with a verify call.
54630         * lib/relocwrapper.c (verify1): Likewise.
54631         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
54632         Likewise.
54633         * modules/malloca (Depends-on): Add 'verify'.
54634         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
54635         * modules/vasnprintf (Depends-on): Add 'verify'.
54636         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54637         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54638         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54639         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54640         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54641         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54642         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54644         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
54646         Formerly the style was sometimes 2*X - 1, because the C standard
54647         was wrongly thought to disallow ?: in integral constant expressions.
54648         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
54649         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
54650         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
54651         * lib/stdint.in.h (_verify_intmax_size): Likewise.
54652         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
54653         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
54654         verify that time_t cannot be floating.
54656 2010-10-08  Eric Blake  <eblake@redhat.com>
54658         time: enforce recent POSIX ruling that time_t is integral
54659         * lib/time.in.h (__time_t_must_be_integral): Detect any
54660         problematic systems, allowing the rest of gnulib to assume POSIX.
54662 2010-10-08  Jim Meyering  <meyering@redhat.com>
54664         fdopendir: fix a bug on systems lacking openat and /proc support
54665         OpenBSD 4.7 is one such system.  The most noticeable effect was
54666         failure of any application making nontrivial use of fts: rm, du,
54667         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
54668           ./rm: traversal failed: `a': Bad file descriptor
54669         Debugging that, you see that even though FD 6 was closed just
54670         prior to the opendir call in fd_clone_opendir, its resulting
54671         dir->dd_fd was 8, rather than the expected value of 6:
54673         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
54674         93                close (fd);
54675         (gdb) n
54676         94                dir = fd_clone_opendir (dupfd);
54677         (gdb) n
54678         95                saved_errno = errno;
54679         (gdb) p dir->dd_fd
54680         $11 = 8
54682         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
54683         The problem is that on OpenBSD, fd_clone_opendir has to resort
54684         to using the old-style save/restore CWD mechanism, due to its
54685         lack of openat/proc support, and *that* would steal the FD (6)
54686         that opendir was supposed to use.
54688         The fix is to squirrel away the desired FD so that save_cwd uses a
54689         different one, and then free the dest FD right before calling opendir.
54690         That guarantees opendir will use the required file descriptor.
54692         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
54694 2010-10-08  Bruno Haible  <bruno@clisp.org>
54696         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
54697         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
54699 2010-10-08  Bruno Haible  <bruno@clisp.org>
54701         nanosleep: Make replacement POSIX compliant.
54702         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
54703         is out of range.
54704         Reported by Jim Meyering.
54706 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54708         bootstrap: add hook for altering gnulib.mk, for Bison
54709         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
54710         the Bison bootstrapping process can rewrite file names and variables
54711         in this file before later parts of 'bootstrap' use the file.
54712         Bison wants to include lib/gnulib.mk from the top-level makefile,
54713         so it needs the file names in this file to be relative to the top
54714         level, not relative to lib; plus it needs variable names to be
54715         rewritten.
54716         (slurp): Use the new function.
54718         bootstrap: reformat for readability
54719         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
54721 2010-10-08  Eric Blake  <eblake@redhat.com>
54723         docs: update cygwin progress
54724         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
54725         1.7.7.
54726         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
54727         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
54728         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
54729         * doc/posix-functions/carg.texi (carg): Likewise.
54730         * doc/posix-functions/cargf.texi (cargf): Likewise.
54731         * doc/posix-functions/casin.texi (casin): Likewise.
54732         * doc/posix-functions/casinf.texi (casinf): Likewise.
54733         * doc/posix-functions/casinh.texi (casinh): Likewise.
54734         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
54735         * doc/posix-functions/catan.texi (catan): Likewise.
54736         * doc/posix-functions/catanf.texi (catanf): Likewise.
54737         * doc/posix-functions/catanh.texi (catanh): Likewise.
54738         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
54739         * doc/posix-functions/ccos.texi (ccos): Likewise.
54740         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
54741         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
54742         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
54743         * doc/posix-functions/cexp.texi (cexp): Likewise.
54744         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
54745         * doc/posix-functions/cimag.texi (cimag): Likewise.
54746         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
54747         * doc/posix-functions/clog.texi (clog): Likewise.
54748         * doc/posix-functions/clogf.texi (clogf): Likewise.
54749         * doc/posix-functions/conj.texi (conj): Likewise.
54750         * doc/posix-functions/conjf.texi (conjf): Likewise.
54751         * doc/posix-functions/cpow.texi (cpow): Likewise.
54752         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
54753         * doc/posix-functions/cproj.texi (cproj): Likewise.
54754         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
54755         * doc/posix-functions/creal.texi (creal): Likewise.
54756         * doc/posix-functions/crealf.texi (crealf): Likewise.
54757         * doc/posix-functions/csin.texi (csin): Likewise.
54758         * doc/posix-functions/csinf.texi (csinf): Likewise.
54759         * doc/posix-functions/csinh.texi (csinh): Likewise.
54760         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
54761         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
54762         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
54763         * doc/posix-functions/ctan.texi (ctan): Likewise.
54764         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
54765         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
54766         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
54767         * doc/posix-headers/complex.texi (complex.h): Likewise.
54769 2010-10-07  Jim Meyering  <meyering@redhat.com>
54771         parse-datetime: avoid compilation failure on OpenBSD 4.7
54772         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
54773         This works around a compilation failure on OpenBSD 4.7:
54774         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
54776 2010-10-07  Eric Blake  <eblake@redhat.com>
54778         docs: update cygwin progress
54779         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
54780         1.7.6.
54781         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
54782         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
54783         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
54784         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
54785         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
54786         Likewise.
54787         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
54788         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
54789         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
54790         Likewise.
54791         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
54792         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
54793         Likewise.
54794         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
54795         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
54796         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
54797         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
54798         Likewise.
54799         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
54800         Likewise.
54801         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
54803         docs: update parse-datetime history
54804         * doc/parse-datetime.texi (Authors of parse_datetime): Better
54805         documentation of this function's history and alternatives.
54807         cygwin: use more robust version check
54808         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
54809         exclude an eventual cygwin 1.9.1.
54810         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
54811         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
54812         (gl_FUNC_STRCASESTR): Likewise.
54813         Reported by Bruno Haible.
54815 2010-10-06  Bruno Haible  <bruno@clisp.org>
54817         string, sys_select: Avoid #including large headers unless necessary.
54818         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
54819         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
54820         OSF/1, BeOS, Haiku.
54821         Reported by Jim Meyering.
54823 2010-10-05  Eric Blake  <eblake@redhat.com>
54825         memmem, strstr, strcasestr: fix bug with long periodic needle
54826         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
54827         periodic needle having false positive.
54828         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
54829         and cygwin 1.7.7.
54830         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
54831         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
54832         (gl_FUNC_STRCASESTR): Likewise.
54833         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
54834         * tests/test-memmem.c (main): Expose the bug.
54835         * tests/test-strcasestr.c (main): Likewise.
54836         * tests/test-strstr.c (main): Likewise.
54837         * tests/test-c-strcasestr.c (main): Likewise.
54838         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
54839         * doc/posix-functions/strstr.texi (strstr): Likewise.
54840         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
54841         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
54843 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
54845         parse-datetime: do some more renaming
54846         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
54847         parse_datetime, not get_date.  Mention the renaming.
54848         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
54849         in comments.
54850         * m4/bison.m4: Likewise.
54852 2010-10-05  Eric Blake  <eblake@redhat.com>
54854         parse-datetime: better name than get_date
54855         * NEWS: Reword the deprecation notice.
54856         * modules/get_date: Rename to modules/parse-datetime.
54857         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
54858         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
54859         * lib/get_date.y: Rename to lib/parse-datetime.y.
54860         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
54861         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
54862         * doc/getdate.texi: Provide fallback wrapper.
54863         * lib/getdate.h: Move guts, and wrap...
54864         * lib/parse-datetime.h: ...new file.
54865         * lib/parse-datetime.y (get_date): Rename...
54866         (parse_datetime): ...to this.
54867         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
54868         (gl_PARSE_DATETIME): ...to this.
54869         * doc/posix-functions/getdate.texi (get_date): Provide fallback
54870         documentation.
54871         * modules/getdate (Files): Provide fallback docs and header.
54872         (Notice, Depends-on): Update references.
54873         * tests/test-parse-datetime.c: Likewise.
54874         * DEPENDENCIES: Likewise.
54875         * MODULES.html.sh (Date and time <time.h>): Likewise.
54876         * doc/parse-datetime.texi (Date input formats)
54877         (Authors of parse_datetime): Likewise.
54878         * modules/parse-datetime (Files, configure.ac, Makefile.am)
54879         (Include): Likewise.
54880         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
54881         * gnulib-tool: Likewise.
54882         * m4/bison.m4 (gl_BISON): Likewise.
54883         Suggested by Bruno Haible.
54885 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
54887         more ports to Solaris tr, which needs [] around ranges
54888         * gnulib-tool: Solaris tr needs [] around ranges.
54889         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
54890         * tests/test-pipe-filter-gi1.c (main): Likewise.
54891         * tests/test-pipe-filter-ii1.c (main): Likewise.
54893 2010-10-05  Eric Blake  <eblake@redhat.com>
54895         bootstrap: fix Solaris regression
54896         * build-aux/bootstrap (check_versions): Solaris tr still needs []
54897         around ranges.
54898         Reported by Pádraig Brady.
54900         bootstrap: work with pkg-config
54901         * build-aux/bootstrap (check_versions): Also transliterate - in
54902         prerequisite name.
54903         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
54904         prerequisites that were already found, to avoid confusion.
54905         Reported by Justin Clift.
54907         faccessat: remove unused wrappers
54908         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
54909         presence of these wrappers dragged in -lgen on Solaris.
54910         Reported by Clemens Brogi; fix suggested by Paul Eggert.
54912 2010-10-05  Jim Meyering  <meyering@redhat.com>
54914         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
54915         * Makefile (sc_pragma_columns): New syntax-check rule.
54917 2010-10-04  Bruno Haible  <bruno@clisp.org>
54919         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
54920         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
54921         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
54922         Reported by Bruce Korb and Eric Blake.
54924 2010-10-04  Bruno Haible  <bruno@clisp.org>
54926         threadlib: Make option --with-libpth-prefix work.
54927         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
54928         use $LIBPTH, not just -lpth.
54930 2010-10-04  Bruno Haible  <bruno@clisp.org>
54932         Avoid line length limitation from HP NonStop system header files.
54933         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
54934         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
54935         * lib/ctype.in.h: Likewise.
54936         * lib/dirent.in.h: Likewise.
54937         * lib/errno.in.h: Likewise.
54938         * lib/fcntl.in.h: Likewise.
54939         * lib/float.in.h: Likewise.
54940         * lib/getopt.in.h: Likewise.
54941         * lib/iconv.in.h: Likewise.
54942         * lib/inttypes.in.h: Likewise.
54943         * lib/langinfo.in.h: Likewise.
54944         * lib/locale.in.h: Likewise.
54945         * lib/math.in.h: Likewise.
54946         * lib/netdb.in.h: Likewise.
54947         * lib/netinet_in.in.h: Likewise.
54948         * lib/poll.in.h: Likewise.
54949         * lib/pthread.in.h: Likewise.
54950         * lib/pty.in.h: Likewise.
54951         * lib/sched.in.h: Likewise.
54952         * lib/se-selinux.in.h: Likewise.
54953         * lib/search.in.h: Likewise.
54954         * lib/signal.in.h: Likewise.
54955         * lib/spawn.in.h: Likewise.
54956         * lib/stdarg.in.h: Likewise.
54957         * lib/stddef.in.h: Likewise.
54958         * lib/stdint.in.h: Likewise.
54959         * lib/stdio.in.h: Likewise.
54960         * lib/stdlib.in.h: Likewise.
54961         * lib/string.in.h: Likewise.
54962         * lib/strings.in.h: Likewise.
54963         * lib/sys_file.in.h: Likewise.
54964         * lib/sys_ioctl.in.h: Likewise.
54965         * lib/sys_select.in.h: Likewise.
54966         * lib/sys_socket.in.h: Likewise.
54967         * lib/sys_stat.in.h: Likewise.
54968         * lib/sys_time.in.h: Likewise.
54969         * lib/sys_times.in.h: Likewise.
54970         * lib/sys_utsname.in.h: Likewise.
54971         * lib/sys_wait.in.h: Likewise.
54972         * lib/sysexits.in.h: Likewise.
54973         * lib/termios.in.h: Likewise.
54974         * lib/time.in.h: Likewise.
54975         * lib/unistd.in.h: Likewise.
54976         * lib/wchar.in.h: Likewise.
54977         * lib/wctype.in.h: Likewise.
54978         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
54979         * modules/ctype (Makefile.am): Likewise.
54980         * modules/dirent (Makefile.am): Likewise.
54981         * modules/errno (Makefile.am): Likewise.
54982         * modules/fcntl-h (Makefile.am): Likewise.
54983         * modules/float (Makefile.am): Likewise.
54984         * modules/getopt-posix (Makefile.am): Likewise.
54985         * modules/iconv-h (Makefile.am): Likewise.
54986         * modules/inttypes (Makefile.am): Likewise.
54987         * modules/langinfo (Makefile.am): Likewise.
54988         * modules/locale (Makefile.am): Likewise.
54989         * modules/math (Makefile.am): Likewise.
54990         * modules/netdb (Makefile.am): Likewise.
54991         * modules/netinet_in (Makefile.am): Likewise.
54992         * modules/poll-h (Makefile.am): Likewise.
54993         * modules/pthread (Makefile.am): Likewise.
54994         * modules/pty (Makefile.am): Likewise.
54995         * modules/sched (Makefile.am): Likewise.
54996         * modules/search (Makefile.am): Likewise.
54997         * modules/selinux-h (Makefile.am): Likewise.
54998         * modules/signal (Makefile.am): Likewise.
54999         * modules/spawn (Makefile.am): Likewise.
55000         * modules/stdarg (Makefile.am): Likewise.
55001         * modules/stddef (Makefile.am): Likewise.
55002         * modules/stdint (Makefile.am): Likewise.
55003         * modules/stdio (Makefile.am): Likewise.
55004         * modules/stdlib (Makefile.am): Likewise.
55005         * modules/string (Makefile.am): Likewise.
55006         * modules/strings (Makefile.am): Likewise.
55007         * modules/sys_file (Makefile.am): Likewise.
55008         * modules/sys_ioctl (Makefile.am): Likewise.
55009         * modules/sys_select (Makefile.am): Likewise.
55010         * modules/sys_socket (Makefile.am): Likewise.
55011         * modules/sys_stat (Makefile.am): Likewise.
55012         * modules/sys_time (Makefile.am): Likewise.
55013         * modules/sys_times (Makefile.am): Likewise.
55014         * modules/sys_utsname (Makefile.am): Likewise.
55015         * modules/sys_wait (Makefile.am): Likewise.
55016         * modules/sysexits (Makefile.am): Likewise.
55017         * modules/termios (Makefile.am): Likewise.
55018         * modules/time (Makefile.am): Likewise.
55019         * modules/unistd (Makefile.am): Likewise.
55020         * modules/wchar (Makefile.am): Likewise.
55021         * modules/wctype (Makefile.am): Likewise.
55023 2010-10-04  Bruno Haible  <bruno@clisp.org>
55025         read-file tests: Avoid a test failure on NonStop Kernel.
55026         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
55027         a regular file.
55028         Reported by Joachim Schmitz <schmitz@hp.com>.
55030 2010-10-03  Bruno Haible  <bruno@clisp.org>
55032         gnulib-tool: Fixes for --create-testdir with --libtool.
55033         * gnulib-tool (func_get_automake_snippet): Don't augment
55034         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
55035         an executable.
55036         (func_create_testdir): Handle module 'alloca' like func_import.
55037         Reported by Bruce Korb <bruce.korb@gmail.com>.
55039 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
55041         Avoid some lines longer than 80 characters.
55042         * lib/stdint.in.h: Break long comment lines.
55043         * lib/math.in.h: Likewise.
55044         (_GL_NUM_UINT_WORDS): New macro, for readability.
55045         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
55046         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
55047         * lib/stdlib.in.h: Likewise.
55048         * lib/spawn.in.h: Likewise.
55049         * lib/sys_socket.in.h: Update an URL.
55050         * lib/sys_stat.in.h: Break long line.
55052 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
55054         Improve pmccabe2html.
55055         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
55056         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
55057         when the sources change. Remove the line in the HTML about "Used
55058         ranges" (which implied that there might be other unused ranges),
55059         rename "Resume" to "Summary" (easier to understand for more users).
55060         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
55061         styles, and some unnecessary blank lines.
55063 2010-10-03  Bruno Haible  <bruno@clisp.org>
55064             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
55066         acl: Add support for ACLs on NonStop Kernel.
55067         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
55068         Check whether the function aclsort() exists.
55069         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
55070         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
55071         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
55072         (acl_nontrivial [HAVE_ACLSORT]: New function.
55073         (file_has_acl): Implement for NonStop Kernel.
55074         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
55075         (qset_acl): Implement for NonStop Kernel.
55076         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
55077         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
55078         (main): Implement for NonStop Kernel.
55079         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
55080         Kernel. Handle this flavor.
55081         * tests/test-set-mode-acl.sh: Likewise.
55082         * tests/test-copy-acl.sh: Likewise.
55083         * tests/test-copy-file.sh: Likewise.
55085 2010-10-03  Bruno Haible  <bruno@clisp.org>
55087         Info about ACLs on NonStop Kernel.
55088         * doc/acl-resources.txt: Add info about NonStop Kernel.
55089         References by Joachim Schmitz <schmitz@hp.com>.
55091 2010-10-02  Bruno Haible  <bruno@clisp.org>
55093         Define missing EDQUOT on NonStop Kernel.
55094         * lib/errno.in.h (EDQUOT): Assign a value if missing.
55095         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
55096         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
55097         missing.
55098         * doc/posix-headers/errno.texi: Mention the NSK bug.
55099         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
55100         Reported by Joachim Schmitz <schmitz@hp.com>.
55102 2010-10-02  Bruno Haible  <bruno@clisp.org>
55104         Update doc for POSIX:2008.
55105         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
55106         Update URL of POSIX specification.
55108 2010-10-02  Bruno Haible  <bruno@clisp.org>
55110         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
55111         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
55112         from gnulib, not from Automake.
55114 2010-10-02  Bruno Haible  <bruno@clisp.org>
55116         New module 'system-posix'.
55117         * modules/system-posix: New file.
55118         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
55119         module is present.
55120         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
55121         GNULIB_SYSTEM_POSIX.
55122         * modules/stdlib (Depends-on): Remove sys_wait.
55123         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
55124         * doc/posix-functions/system.texi: Mention the new module.
55125         * doc/posix-headers/stdlib.texi: Likewise.
55126         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
55127         define test_sys_wait_macros to a no-op.
55128         Reported by Sam Steingold <sds@gnu.org>.
55130 2010-09-30  Bruno Haible  <bruno@clisp.org>
55132         More renaming from 'getdate' to 'get_date'.
55133         * doc/get_date.texi: Renamed from doc/getdate.texi.
55134         * modules/get_date (Files): Update.
55135         * MODULES.html.sh (Date and time <time.h>): Update.
55136         * DEPENDENCIES: Update.
55137         * gnulib-tool: Update comment.
55138         * m4/bison.m4 (gl_BISON): Likewise.
55139         * m4/get_date.m4 (gl_GET_DATE): Likewise.
55141 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
55143         bootstrap: support ACLOCAL_FLAGS during aclocal
55144         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
55145         can add additional -I dir for third-party .m4 files.
55147 2010-09-30  Eric Blake  <eblake@redhat.com>
55149         bootstrap: use glibtoolize on MacOS
55150         * build-aux/bootstrap (check_versions): Convert libtool into
55151         libtoolize.
55152         (tool search): Move libtool check earlier, and look for
55153         glibtoolize for MacOS.
55154         (gnulib_tool_options): Auto-add --libtool when appropriate.
55155         Reported by Justin Clift.
55157         poll: fix typo that broke test on MacOS
55158         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
55159         Reported by Justin Clift.
55161         getdate: rename to get_date
55162         Note: getdate.h is not renamed, to minimize client impact.
55163         * modules/getdate: Mark obsolete.  Move old contents...
55164         * modules/get_date: ...to new module name.
55165         * modules/getdate-tests: Move...
55166         * modules/get_date-tests: ...here.
55167         * m4/getdate.m4: Move...
55168         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
55169         * lib/getdate.y: Move...
55170         * lib/get_date.y: ...here.
55171         * tests/test-getdate.c: Move...
55172         * tests/test-get_date.c: ...here.
55173         * doc/posix-functions/getdate.texi (getdate): Update name.
55174         * NEWS: Mention the change.
55176 2010-09-29  Bruno Haible  <bruno@clisp.org>
55178         Separate the module 'waitpid' from the module 'sys_wait'.
55179         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
55180         present.
55181         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
55182         gl_MODULE_INDICATOR_FOR_TESTS.
55183         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
55184         * modules/sys_wait (Depends-on): Remove waitpid.
55185         (Makefile.am): Substitute GNULIB_WAITPID.
55186         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
55187         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
55188         signature only if the 'waitpid' module is present.
55189         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
55190         * NEWS: Mention the change.
55191         * modules/grantpt (Depends-on): Add waitpid.
55192         * modules/wait-process (Depends-on): Likewise.
55194 2010-09-29  Bruno Haible  <bruno@clisp.org>
55196         More tests for module 'sys_wait'.
55197         * modules/sys_wait-c++-tests: New file.
55198         * tests/test-sys_wait-c++.cc: New file.
55199         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
55200         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
55202 2010-09-29  Bruno Haible  <bruno@clisp.org>
55204         New module 'waitpid'.
55205         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
55206         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
55207         Don't include <process.h>.
55208         (waitpid): Declare only, using modern idiom.
55209         * m4/waitpid.m4: New file.
55210         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
55211         * modules/waitpid: New file.
55212         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
55213         (Makefile.am): Update.
55214         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
55216 2010-09-28  Bruno Haible  <bruno@clisp.org>
55218         poll: Assume ANSI C.
55219         * lib/poll.c (poll): Use an ANSI C declaration.
55221 2010-09-28  Bruno Haible  <bruno@clisp.org>
55223         poll-h: Create poll.h on all platforms.
55224         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
55225         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
55226         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
55227         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
55228         (gl_REPLACE_POLL_H): Don't set POLL_H.
55229         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
55230         * modules/poll-h (Depends-on): Add include_next.
55231         (Makefile.am): Create poll.h unconditionally. Substitute also
55232         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
55234 2010-09-28  Bruno Haible  <bruno@clisp.org>
55236         Tests for module 'poll-h'.
55237         * modules/poll-h-c++-tests: New file.
55238         * tests/test-poll-h-c++.cc: New file.
55240         Tests for module 'poll-h'.
55241         * modules/poll-h-tests: New file.
55242         * tests/test-poll-h.c: New file.
55244 2010-09-28  Bruno Haible  <bruno@clisp.org>
55246         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
55247         * modules/poll-h (Depends-on): Add 'extensions'.
55249 2010-09-28  Bruno Haible  <bruno@clisp.org>
55251         New module 'poll-h'.
55252         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
55253         (poll): Use modern idiom.
55254         * modules/poll-h: New file.
55255         * modules/poll (Files): Remove lib/poll.in.h.
55256         (Depends-on): Add poll-h.
55257         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
55258         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
55259         * m4/poll_h.m4: New file.
55260         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
55261         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
55262         and invoke gl_REPLACE_POLL_H.
55263         * lib/poll.c: Use common idiom.
55264         * tests/test-poll.c: Likewise.
55265         * doc/posix-headers/poll.texi: Mention the poll-h module.
55266         Suggested by Eric Blake.
55268 2010-09-26  Bruno Haible  <bruno@clisp.org>
55270         sys_wait: Implement WSTOPSIG.
55271         * lib/sys_wait.in.h (WSTOPSIG): New macro.
55272         Reported by Simon Josefsson.
55274 2010-09-26  Simon Josefsson  <simon@josefsson.org>
55276         stdlib, sys_wait: Avoid compilation error on mingw.
55277         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
55279 2010-09-26  Bruno Haible  <bruno@clisp.org>
55281         stdlib tests: Avoid code duplication.
55282         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
55283         * modules/sys_wait-tests (Files): Likewise.
55284         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
55285         * tests/test-stdlib.c: Include test-sys_wait.h.
55286         (main): Invoke test_sys_wait_macros.
55287         * tests/test-sys_wait.c: Include test-sys_wait.h.
55288         (main): Invoke test_sys_wait_macros.
55290 2010-09-25  Simon Josefsson  <simon@josefsson.org>
55292         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
55293         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
55294         sure Windows sockets are working before calling getaddrinfo.
55295         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
55296         * doc/gnulib.texi (Windows sockets): Fix typo.
55298 2010-09-25  Bruno Haible  <bruno@clisp.org>
55300         Tests for module 'regex-quote'.
55301         * modules/regex-quote-tests: New file.
55302         * tests/test-regex-quote.c: New file.
55304         New module 'regex-quote'.
55305         * lib/regex-quote.h: New file.
55306         * lib/regex-quote.c: New file.
55307         * modules/regex-quote: New file.
55308         Suggested by Reuben Thomas <rrt@sc3d.org>.
55310 2010-09-24  Bruno Haible  <bruno@clisp.org>
55312         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
55313         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
55315 2010-09-23  Bruno Haible  <bruno@clisp.org>
55317         setenv: Relax license.
55318         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
55319         Blake.
55320         Requested by Eric Blake.
55322 2010-09-22  Bruno Haible  <bruno@clisp.org>
55324         termios: Relax license.
55325         * modules/termios (License): Change to LGPLv2+.
55326         Requested by Eric Blake.
55328 2010-09-22  Bruno Haible  <bruno@clisp.org>
55330         threadlib: Allow the package to change the default to 'no'.
55331         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
55332         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
55333         Reported by Paul Eggert.
55335 2010-09-22  Pádraig Brady  <P@draigbrady.com>
55336             Bruno Haible  <bruno@clisp.org>
55338         Fix endless loop in mbmemcasecoll.
55339         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
55340         byte.
55341         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
55343 2010-09-22  Bruno Haible  <bruno@clisp.org>
55345         Tests for module 'memcoll'.
55346         * modules/memcoll-tests: New file.
55347         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
55349         memcoll, xmemcoll: Clarify size vs. length.
55350         * modules/memcoll.c (memcoll0): Clarify specification.
55351         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
55352         passed to collate_error.
55354 2010-09-22  Bruno Haible  <bruno@clisp.org>
55356         Tests for module 'memcasecmp'.
55357         * modules/memcasecmp-tests: New file.
55358         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
55360 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55362         * lib/pthread.in.h: Add split double-inclusion guard, and include
55363         system <pthread.h> if there is one.  Use @@-style as in other
55364         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
55365         pthread.h doesn't.
55366         (pthread_mutexattr_destroy, pthread_mutexattr_init):
55367         (pthread_mutexattr_settype, pthread_mutex_trylock):
55368         New static inline functions, if there's no system <pthread.h>.
55369         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
55370         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
55371         Approximate with mutexes if the system lacks spinlocks, as in
55372         MacOS.
55373         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
55374         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
55375         @@-style.  Check for spinlocks separately.
55376         (gl_PTHREAD_DEFAULTS): New macro.
55377         * modules/pthread: Redo to use a more typical style for in.h files.
55379 2010-09-21  Eric Blake  <eblake@redhat.com>
55381         net_if: enhance tests
55382         * tests/test-net_if.c (main): Move signature checks earlier.
55383         Print failures to stderr.
55384         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
55385         Document the bug that we do not yet fix.
55387 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
55389         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
55390         about gnulib, not GSS.
55392 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
55394         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
55395         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
55396         for Emacs.
55397         * build-aux/pmccabe2html: Make Makefile.am example code more
55398         cut-and-paste friendly.
55400 2010-09-21  Simon Josefsson  <simon@josefsson.org>
55402         * tests/test-net_if.c: New file.
55403         * modules/net_if-tests: New file.
55405 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55407         pthread: add pthread_spin_destroy
55408         * lib/pthread.in.h (pthread_spin_destroy): New function.
55410 2010-09-19  Bruno Haible  <bruno@clisp.org>
55412         gnulib-tool: Fix --help output.
55413         * gnulib-tool (func_usage): Fix help message.
55414         Reported by Reuben Thomas <rrt@sc3d.org>.
55416 2010-09-18  Jim Meyering  <meyering@redhat.com>
55418         maint.mk: avoid unexpanded \n in two diagnostics
55419         * top/maint.mk (sc_prohibit_always_true_header_tests):
55420         Don't use a literal \n in a halt=... assignment.  It would not be
55421         expanded, and the two \n bytes would appear in the diagnostic output
55422         rather than the desired newline.  Use halt=$$(printf ... instead.
55423         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
55425 2010-09-18  Bruno Haible  <bruno@clisp.org>
55427         netinet_in: Doc tweak.
55428         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
55429         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
55431 2010-09-18  Jim Meyering  <meyering@redhat.com>
55433         init.sh: correct an outdated comment
55434         * tests/init.sh (create_exe_shims_):  s/function/alias/
55436         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
55437         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
55438         a file named "*.exe" is removed between the glob expansion and the
55439         processing of that oddly named file.
55441 2010-09-17  Eric Blake  <eblake@redhat.com>
55443         mirbsd: add some more support
55444         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
55445         in BSD family.
55446         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
55447         devices as OpenBSD.
55448         * m4/host-os.m4 (mirbsd): Add MirBSD.
55450         tests: fix unportable assumption on sys/wait.h
55451         * tests/test-sys_wait.c (main): Relax test.
55452         * tests/test-stdlib.c (main): Likewise.
55454         init.sh: accommodate directory with no .exes
55455         * tests/init.sh: Accomodate directory containing only scripts.
55457         tests: avoid compiler warning
55458         * tests/test-stdlib.c (main): Use the variable.
55460         fdutimens, fdutimensat: update signature, again
55461         * lib/utimens.h (gl_futimens): Delete, and move signature...
55462         (fdutimens): ...here.
55463         (fdutimensat): Rearrange signature.
55464         (lutimensat): Rename variable for clarity.
55465         * lib/fdutimensat.c (fdutimensat): Update signature.
55466         * lib/utimens.c (fdutimens): Likewise.
55467         (gl_futimens): Delete.
55468         (utimens, lutimens): Update callers.
55469         * lib/futimens.c (futimens): Likewise.
55470         * tests/test-fdutimensat.c: Likewise.
55471         * tests/test-utimens.c: Likewise.
55472         * tests/test-futimens.h: Update comment.
55473         * NEWS: Mention this.
55474         Suggested by Paul Eggert.
55476 2010-09-17  Bruno Haible  <bruno@clisp.org>
55478         Take over the maintenance of some older macros from Autoconf.
55479         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
55480         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
55481         GNU Autoconf.
55482         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
55483         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
55485 2010-09-17  Eric Blake  <eblake@redhat.com>
55487         fdutimensat: drop atflag validation
55488         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
55489         with valid fd, to close a race scenario where futimens is
55490         unsupported and FILE was replaced by a symlink.
55491         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
55492         accordingly.
55493         Suggested by Paul Eggert.
55495 2010-09-16  Bruno Haible  <bruno@clisp.org>
55497         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
55498         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
55500 2010-09-16  Bruno Haible  <bruno@clisp.org>
55502         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
55503         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
55504         login_tty exists.
55505         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
55507 2010-09-16  Bruno Haible  <bruno@clisp.org>
55509         login_tty: Make the replacement code work on BSD systems.
55510         * lib/login_tty.c: Include <sys/ioctl.h>.
55511         (login_tty): Use ioctl TIOCSCTTY when available.
55512         * modules/login_tty (Depends-on): Add sys_ioctl.
55513         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
55515 2010-09-16  Bruno Haible  <bruno@clisp.org>
55517         login_tty: Stricter unit test.
55518         * modules/login_tty-tests (Depends-on): Add tcgetsid.
55519         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
55520         and tcgetsid() after login_tty.
55521         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
55523 2010-09-16  Bruno Haible  <bruno@clisp.org>
55525         New module 'tcgetsid'.
55526         * lib/tcgetsid.c: New file.
55527         * m4/tcgetsid.m4: New file.
55528         * modules/tcgetsid: New file.
55529         * modules/termios (Depends-on): Add c++defs, warn-on-use.
55530         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
55531         GNULIB_TCGETSID, HAVE_TCGETSID.
55532         * lib/termios.in.h: Include <sys/types.h>.
55533         (tcgetsid): New declaration.
55534         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
55535         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
55536         * doc/posix-functions/tcgetsid.texi: Mention the new module.
55537         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
55539 2010-09-16  Bruno Haible  <bruno@clisp.org>
55541         Tests for module 'termios'.
55542         * modules/termios-c++-tests: New file.
55543         * modules/termios-tests: New file.
55544         * tests/test-termios-c++.cc: New file.
55545         * tests/test-termios.c: New file.
55547         New module 'termios'.
55548         * modules/termios: New file.
55549         * lib/termios.in.h: New file.
55550         * m4/termios_h.m4: New file.
55551         * doc/posix-headers/termios.texi: Mention the new module.
55553 2010-09-16  Eric Blake  <eblake@redhat.com>
55555         fdutimensat: add an atflag parameter
55556         * lib/fdutimensat.c (fdutimensat): Add new parameter.
55557         * lib/utimens.h (fdutimensat): Update prototype.
55558         * tests/test-fdutimensat.c: Adjust test to match.
55559         * NEWS: Document the change.
55560         Suggested by Paul Eggert.
55562 2010-09-16  Bruno Haible  <bruno@clisp.org>
55564         Fix typos in comments.
55565         * lib/striconveh.h: Fix typo in comment.
55566         * lib/login_tty.c (login_tty): Likewise.
55568 2010-09-15  Bruno Haible  <bruno@clisp.org>
55570         stdlib: clarify MirBSD WEXITSTATUS bug
55571         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
55572         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
55574 2010-09-15  Eric Blake  <eblake@redhat.com>
55576         stdlib: work around MirBSD WEXITSTATUS bug
55577         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
55578         * modules/stdlib (Depends-on): Add sys_wait.
55579         * tests/test-sys_wait.c (main): Enhance test.
55580         * tests/test-stdlib.c (main): Likewise.
55581         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
55583         docs: mention MacOS issue with WEXITSTATUS(constant)
55584         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
55585         issue.
55586         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
55588         strnlen: add tests
55589         * modules/strnlen-tests: New file.
55590         * tests/test-strnlen.c: Likewise.
55592 2010-09-14  Bruno Haible  <bruno@clisp.org>
55594         unistr/base: Avoid link errors when module 'libunistring' is also used.
55595         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
55596         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
55597         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
55598         Declare also when HAVE_LIBUNISTRING is set.
55599         Reported by Pádraig Brady <P@draigbrady.com>.
55601 2010-09-14  Eric Blake  <eblake@redhat.com>
55603         test-rawmemchr: make more robust
55604         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
55605         (Depends-on, configure.ac): Add needed prerequisites to use it.
55606         * modules/memchr-tests (Files, Depends-on, configure.ac):
55607         Likewise, to avoid implicit reliance on memchr module prereqs.
55608         * tests/test-memchr.c (main): Ensure proper masking.
55609         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
55610         reads.
55612         memchr: detect glibc Alpha bug
55613         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
55614         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
55615         Alpha.
55616         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
55617         * tests/test-memchr.c (main): Enhance test.
55618         Reported by Nelson H. F. Beebe.
55620 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55622         fts, getcwd, glob: audit for dirfd returning -1
55623         * lib/fts.c (opendir): Remove #define; no longer used.
55624         (opendirat): New arg PDIR_FD.  All callers changed.
55625         (fts_build, _opendir2): Use new opendirat to avoid the need for
55626         dirfd, or for checking whether dirfd returns a negative value.
55627         Don't use opendir; always use openat followed by fdopendir.
55628         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
55629         it.
55630         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
55631         returns -1 here.
55632         * modules/fts (Depends-on): Remove dirfd.
55633         * modules/getcwd (Depends-on): Likewise.
55635 2010-09-13  Eric Blake  <eblake@redhat.com>
55637         float: fix broken MirBSD header
55638         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
55639         * doc/posix-headers/float.texi (float.h): Document it.
55641 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55643         fts: use O_NOFOLLOW to avoid race condition when opening a directory
55644         * lib/fts.c (opendirat): New arg extra_flags.
55645         (__opendir2): Use it to avoid following symlinks when opening
55646         a directory, if symlinks are not supposed to be followed.  See
55647         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
55649         fdopendir: preserve argument fd before returning
55650         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
55651         (fdopendir_with_dup, fd_clone_opendir): New static functions.
55652         (fdopendir): Use them, arranging for FD to be open to the same
55653         directory that it was when it started.  (It might be temporarily
55654         closed while fdopendir is running, so this not thread- or
55655         signal-safe.)  Be careful to do the right thing even when file
55656         descriptors are scarce and dup fails with errno == EMFILE.  See
55657         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
55659 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
55661         regex: Pass the system regex if its only problem is 32-bit regoff_t.
55662         * NEWS: Document change.
55663         * m4/regex.m4: Disable test for regoff_t size.
55665 2010-09-13  Jim Meyering  <meyering@redhat.com>
55667         fts: don't operate on an invalid file descriptor after failed dup
55668         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
55669         negative file descriptor.
55671 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
55673         savedir: add streamsavedir, deprecate fdsavedir
55674         * NEWS: Mention deprecation of fdsavedir.
55675         * lib/savedir.c (streamsavedir): New extern function, whose name
55676         ends in "savedir" to be consistent with the others.  This differs
55677         from savedirstream in that it doesn't close its argument.  The
55678         next version of GNU tar will use this instead of fdsavedir, to
55679         avoid some race conditions and conserve file descriptors.
55680         (savedirstream): Reimplement as a wrapper around streamsavedir.
55681         (fdsavedir): Add a comment deprecating this function.  As far as
55682         I know, only GNU tar used it, and GNU tar doesn't need it any more.
55683         * lib/savedir.h (streamsavedir): New decl.
55684         (fdsavedir): Add a comment deprecating this.
55686 2010-09-10  Bruno Haible  <bruno@clisp.org>
55688         langinfo: Fix last commit.
55689         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
55690         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
55691         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55693 2010-09-10  Bruno Haible  <bruno@clisp.org>
55695         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
55696         * lib/progreloc.c (O_EXEC): Define fallback.
55698 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
55700         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
55701         * NEWS: Document recent changes to fcntl-h.
55702         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
55703         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
55704         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
55705         Similarly for O_SEARCH; this last was already true, but not documented.
55706         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
55707         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
55708         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
55709         Likewise.
55710         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
55711         is zero, not whether it is defined.
55712         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
55713         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
55714         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
55716 2010-09-10  Bruno Haible  <bruno@clisp.org>
55718         langinfo, nl_langinfo: Fix for IRIX 5.3.
55719         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
55720         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
55721         HAVE_LANGINFO_YESEXPR.
55722         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
55723         HAVE_LANGINFO_YESEXPR.
55724         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
55725         HAVE_LANGINFO_T_FMT_AMPM is 0.
55726         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
55727         HAVE_LANGINFO_YESEXPR is 0.
55728         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
55729         NOEXPR.
55730         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
55731         * doc/posix-functions/nl_langinfo.texi: Likewise.
55732         Reported by Eric Blake.
55734 2010-09-10  Bruno Haible  <bruno@clisp.org>
55736         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
55737         * doc/glibc-functions/login_tty.texi: Mention the include file problem
55738         on FreeBSD 8.0 and OpenBSD 4.6.
55739         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
55740         * m4/pty_h.m4 (gl_PTY_H): Likewise.
55741         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
55742         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
55743         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
55744         ac_includes_default.
55745         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
55747 2010-09-09  Eric Blake  <eblake@redhat.com>
55749         strsignal: work around NetBSD bug
55750         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
55751         * lib/string.in.h (includes): Likewise.
55752         * doc/posix-functions/strsignal.texi (strsignal): Document the
55753         bug.
55754         Reported by Nelson H. F. Beebe.
55756         gnulib-tool: work with NetBSD /bin/sh
55757         * gnulib-tool (func_cache_var, func_cache_lookup_module)
55758         (func_get_description, func_get_comment, func_get_status)
55759         (func_get_notice, func_get_applicability, func_get_filelist)
55760         (func_get_dependencies, func_get_autoconf_early_snippet)
55761         (func_get_autoconf_snippet, func_get_automake_snippet)
55762         (func_get_include_directive, func_get_link_directive)
55763         (func_get_license, func_get_maintainer, func_import): Avoid
55764         shell syntax errors from parsing syntax extensions.
55766 2010-09-09  Bruno Haible  <bruno@clisp.org>
55768         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
55769         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
55770         a reliable way to determine whether the 'alias' command works.
55772 2010-09-08  Jim Meyering  <meyering@redhat.com>
55774         init.sh: penalize a set-x-impaired shell; don't disqualify it
55775         * tests/init.sh: Too many shells corrupt application stderr when
55776         you set -x, so we can't afford to disqualify them, since at least
55777         on Irix-6.5, that would disqualify all bourne shells.
55778         Instead, use a two-pass approach.
55779         On the first pass, try to find a shell that meets the stricter
55780         condition that set -x does not corrupt stderr.
55781         If no shell meets the stricter condition, retest each candidate
55782         shell, but without that extra condition.  Finally, when
55783         VERBOSE=yes is requested and set -x might cause trouble, simply
55784         issue a warning and refrain from enabling debug output.
55786 2010-09-08  Eric Blake  <eblake@redhat.com>
55788         unsetenv: fix OpenBSD bug
55789         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
55790         * doc/posix-functions/unsetenv.texi (unsetenv): Update
55791         documentation.
55792         Reported by Jim Meyering.
55794         strtod: work around IRIX 6.5 bug
55795         * lib/strtod.c (strtod): Reparse number on shorter string if
55796         exponent parse was invalid.
55797         * tests/test-strtod.c (main): Add check for "0x1p 2".
55798         Reported by Tom G. Christensen.
55800         getopt: optimize previous patch
55801         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
55802         empty variable.  Speed up awk script.
55803         Reported by Paolo Bonzini.
55805 2010-09-08  Jim Meyering  <meyering@redhat.com>
55807         test.sh: disqualify shells for which set -x corrupts stderr
55808         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
55809         and OpenBSD 4.7.  They make it so with "set -x", environment settings
55810         appear in stderr output.  For example, this command:
55811             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
55812         prints "P=1" on those two systems:
55814 2010-09-08  Bruno Haible  <bruno@clisp.org>
55816         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
55817         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
55818         commands, because some shells ignore redirections when there is an
55819         error in the command lookup.
55820         Reported by Eric Blake.
55822 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
55824         * lib/regex.h: Fix a mention of `regex_compile' (should be
55825         `re_compile_pattern').
55826         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
55827         (re_set_registers): Correct name of parameter in comment.
55829         * doc/regex.texi: Add documentation for missing syntax flags.
55830         Remove commented-out documentation of defunct syntax option
55831         RE_NO_EMPTY_ALTS.
55832         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
55833         Add documentation of re_set_registers.
55834         Document trick to re-use a pattern buffer by setting fastmap manually.
55835         Update documentation of struct re_pattern_buffer per public members.
55836         Uncomment documentation of equivalence class operators and
55837         collating symbol operators, since they are now implemented,
55838         Explain leftmost-longest matching in relation to alternatives.
55839         Tidy documentation of substring matching.
55840         Remove POSIX documentation, which is done better in
55841         glibc, and refer the reader there. Keep BSD API documentation, as
55842         that is not readily available elsewhere.
55844 2010-09-07  Eric Blake  <eblake@redhat.com>
55846         getopt: handle POSIXLY_CORRECT set but not exported
55847         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
55848         export state of POSIXLY_CORRECT, due to bash set -o posix.
55849         Reported by Dustin J. Mitchell.
55851 2010-09-05  Bruno Haible  <bruno@clisp.org>
55853         gnulib-tool: Highlight the changed options.
55854         * gnulib-tool (func_usage): Display the --import, --add-import,
55855         --remove-import explanations in bold font.
55857 2010-09-06  Karl Berry  <karl@gnu.org>
55859         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
55861 2010-09-05  Bruno Haible  <bruno@clisp.org>
55863         uniwidth/width: Update comment.
55864         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
55865         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
55867 2010-09-05  Bruno Haible  <bruno@clisp.org>
55869         isinf, isnan: Relax license.
55870         * modules/isinf (License): Change from GPL to LGPL, with consent from
55871         Ben Pfaff.
55872         * modules/isnan (License): Likewise.
55873         Requested by Ludovic Courtès.
55875 2010-09-04  Bruno Haible  <bruno@clisp.org>
55877         gnulib-tool: Help migration from --import to --add-import or --update.
55878         * gnulib-tool: Emit a verbose error message when --import is used
55879         without any module name.
55881 2010-09-04  Bruno Haible  <bruno@clisp.org>
55883         Update doc about gnulib-tool.
55884         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
55885         'gnulib-tool --update' in more detail.
55886         Reported by Eric Blake.
55888 2010-09-04  Bruno Haible  <bruno@clisp.org>
55890         gnulib-tool: Change --import. New options --add/remove-import.
55891         * gnulib-tool: New options --add-import, --remove-import.
55892         (func_usage): Document them.
55893         (have_associative): Define always.
55894         (func_import): In import mode, don't merge the specified settings with
55895         the cached settings. Implement remove-import mode.
55896         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
55897         Explain when to use them versus --import.
55898         (Simple update): Use --add-import instead of --import.
55899         * NEWS: Mention the change.
55901 2010-09-04  Bruno Haible  <bruno@clisp.org>
55903         * doc/gnulib-tool.texi (Initial import): Update paragraph about
55904         separate gnulib.mk.
55906 2010-09-04  Bruno Haible  <bruno@clisp.org>
55908         gnulib-tool: Don't talk about CVS any more.
55909         * gnulib-tool (func_usage, func_import): Write "version control"
55910         instead of CVS.
55912 2010-09-04  Jim Meyering  <meyering@redhat.com>
55914         maint.mk: avoid obscure sc_copyright_check failure in coreutils
55915         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
55916         false positives (whose names may be ill-chosen) when searching
55917         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
55918         would cause a false-positive.
55920         avoid coreutils "make distcheck" failure
55921         Coreutils tests with an absolute build directory name that contains
55922         a space.  Not quoting this directory name caused a failure.
55923         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
55924         * tests/test-vc-list-files-cvs.sh: Likewise.
55926 2010-09-04  Bruno Haible  <bruno@clisp.org>
55928         gnulib-tool: Avoid error when run in a package without Makefile.am.
55929         * gnulib-tool: When collecting the m4dirs in a package that does not
55930         have a Makefile.am, eliminate those directories that contain no
55931         gnulib-cache.m4. Fix expression that counts these directories.
55933 2010-09-04  Bruno Haible  <bruno@clisp.org>
55935         update-copyright test: Improve output when perl is missing or too old.
55936         * tests/test-update-copyright.sh: Move test of Perl version down after
55937         the test whether Perl exists. Provide an explanation relating Perl's
55938         error message to Automake's SKIP: message.
55940 2010-09-04  Bruno Haible  <bruno@clisp.org>
55942         Don't augment PATH in TESTS_ENVIRONMENT.
55943         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
55944         set abs_aux_dir instead of augmenting PATH.
55945         * modules/vc-list-files-tests (Makefile.am): Likewise.
55946         * tests/test-update-copyright.sh: Augment PATH here.
55947         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
55948         path_prepend_.
55949         * tests/test-vc-list-files-git.sh: Likewise.
55951 2010-09-04  Jim Meyering  <meyering@redhat.com>
55953         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
55954         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
55956 2010-09-04  Bruno Haible  <bruno@clisp.org>
55958         strdup: Fix compilation error in C++ mode.
55959         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
55960         the macro.
55962 2010-09-04  Bruno Haible  <bruno@clisp.org>
55964         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
55965         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
55966         macro into a function.
55967         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
55969 2010-09-04  Bruno Haible  <bruno@clisp.org>
55971         Set PATH_SEPARATOR the same way autoconf does.
55972         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
55973         the value of PATH_SEPARATOR the same way autoconf-generated configure
55974         scripts do.
55975         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
55976         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
55978 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
55980         Set PATH_SEPARATOR the same way autoconf does.
55981         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
55982         the same way autoconf-generated configure scripts do.
55983         * posix-modules: Likewise.
55985 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
55987         hash: fix safe_hasher const typo
55988         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
55989         const; otherwise, there is a type error later.
55991 2010-09-02  Jim Meyering  <meyering@redhat.com>
55993         test-update-copyright.sh: require perl 5.8.0
55994         * tests/test-update-copyright.sh: Require 5.8.0,
55995         which Tom G. Christensen has confirmed is adequate,
55996         while 5.6.1 is not.
55998 2010-09-02  Eric Blake  <eblake@redhat.com>
56000         tests: init.sh improvements for re-exec'ing with zsh
56001         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
56002         -vx through shell re-exec.
56003         Reported by Tom G. Christensen.
56005         wctype: fix typo in previous commit
56006         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
56007         Reported by Ludovic Courtès.
56009 2010-09-02  Jim Meyering  <meyering@redhat.com>
56011         test-update-copyright.sh: skip test if Perl is too old
56012         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
56013         Reported by Tom G. Christensen.
56015 2010-09-02  Bruno Haible  <bruno@clisp.org>
56017         wctype: Avoid compilation error on IRIX 6.5.30.
56018         * lib/wctype.in.h (iswblank): Declare with a replacement if
56019         REPLACE_ISWBLANK is set.
56020         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
56021         declared. Set REPLACE_ISWBLANK.
56022         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
56023         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
56024         * doc/posix-headers/wctype.texi: Likewise.
56025         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56027 2010-09-01  Bruno Haible  <bruno@clisp.org>
56029         New module 'socketlib'.
56030         * modules/socketlib: New file.
56031         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
56032         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
56033         * modules/sockets (Depends-on): Add socketlib.
56034         Suggested by Sam Steingold <sds@gnu.org>.
56036 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56038         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
56040         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
56041         when one needs search access to a directory but not read access.
56042         On systems where it is available, it works in some cases where
56043         O_RDONLY does not, namely on directories that are searchable but
56044         not readable, and which need only to be searchable.  If O_SEARCH
56045         is not available, fall back to the traditional method of using
56046         O_RDONLY.
56048         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
56049         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
56050         when opening a directory that needs only to be searchable.
56051         * lib/chdir-safer.c (chdir_no_follow): Likewise.
56052         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
56053         * lib/openat-proc.c (openat_proc_name): Likewise.
56054         * lib/openat.c (openat_needs_fchdir): Likewise.
56055         * lib/save-cwd.c (save_cwd): Likewise.
56056         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
56058 2010-08-28  Bruno Haible  <bruno@clisp.org>
56060         New module 'host-cpu-c-abi'.
56061         * modules/host-cpu-c-abi: New file.
56062         * m4/host-cpu-c-abi.m4: New file, based on part of
56063         clisp/src/m4/general.m4.
56064         Requested by Sam Steingold <sds@gnu.org>.
56066 2010-08-31  Eric Blake  <eblake@redhat.com>
56067         and Jim Meyering  <meyering@redhat.com>
56069         hash: factor, and guard against misbehaving hasher function
56070         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
56071         of table->hasher's return value.  Also protect against a hash value
56072         so large that adding it to table->bucket results in a NULL pointer.
56073         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
56074         Use it in place of open-coded check-and-abort.
56076 2010-08-30  Bruno Haible  <bruno@clisp.org>
56078         hash: silence spurious clang warning
56079         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
56080         Reported by Eric Blake.
56082 2010-08-30  Eric Blake  <eblake@redhat.com>
56084         strstr, memmem, strcasestr: avoid leaked shell message
56085         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
56086         FreeBSD.
56087         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56088         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56090         tests: silence clang warning
56091         * tests/test-malloca.c (do_allocation): Avoid dead store.
56093 2010-08-29  Bruno Haible  <bruno@clisp.org>
56095         gettext: Fix recent mistake.
56096         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
56098 2010-08-29  Bruno Haible  <bruno@clisp.org>
56100         selinux-h: Offer a --without-selinux option.
56101         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
56102         --without-selinux was specified, skip all tests and define
56103         HAVE_SELINUX_SELINUX_H to 0.
56104         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
56105         set LIB_SELINUX to empty.
56106         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
56107         gl_LIBSELINUX. If --without-selinux was specified, replace
56108         selinux/context.h.
56109         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
56111 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56112             Bruno Haible  <bruno@clisp.org>
56114         Make the module 'realloc-gnu' work again on AIX and OSF/1.
56115         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
56116         of HAVE_REALLOC.
56117         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
56118         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
56119         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
56120         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
56122 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56123             Bruno Haible  <bruno@clisp.org>
56125         Make the module 'calloc-gnu' work again on AIX and OSF/1.
56126         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
56127         HAVE_CALLOC.
56128         * lib/xmalloc.c: Update accordingly.
56129         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
56130         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
56131         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
56133 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56134             Bruno Haible  <bruno@clisp.org>
56136         Make the module 'malloc-gnu' work again on AIX and OSF/1.
56137         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
56138         HAVE_MALLOC.
56139         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
56140         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
56141         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
56143 2010-08-29  Bruno Haible  <bruno@clisp.org>
56145         Update modules list.
56146         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
56147         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
56148         (String handling <string.h>): Add astrxfrm.
56149         (File system functions): Add readlinkat.
56151 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56153         Tests for module 'realloc-gnu'.
56154         * modules/realloc-gnu-tests: New file.
56155         * tests/test-realloc-gnu.c: New file.
56157         Tests for module 'calloc-gnu'.
56158         * modules/calloc-gnu-tests: New file.
56159         * tests/test-calloc-gnu.c: New file.
56161         Tests for module 'malloc-gnu'.
56162         * modules/malloc-gnu-tests: New file.
56163         * tests/test-malloc-gnu.c: New file.
56165 2010-08-28  Bruno Haible  <bruno@clisp.org>
56167         Rename module 'realloc' -> 'realloc-gnu'.
56168         * modules/realloc-gnu: New file, copied from modules/realloc.
56169         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
56170         obsolete.
56171         * modules/mgetgroups (Depends-on): Update.
56172         * doc/posix-functions/realloc.texi: Update.
56173         * NEWS: Mention the change.
56175         Rename module 'calloc' -> 'calloc-gnu'.
56176         * modules/calloc-gnu: New file, copied from modules/calloc.
56177         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
56178         obsolete.
56179         * doc/posix-functions/calloc.texi: Update.
56180         * NEWS: Mention the change.
56182         Rename module 'malloc' -> 'malloc-gnu'.
56183         * modules/malloc-gnu: New file, copied from modules/malloc.
56184         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
56185         obsolete.
56186         * modules/argp (Depends-on): Update.
56187         * modules/regex (Depends-on): Update.
56188         * doc/posix-functions/malloc.texi: Update.
56189         * NEWS: Mention the change.
56191 2010-08-28  Eric Blake  <eblake@redhat.com>
56193         pread, pwrite: add missing dependency
56194         * modules/pread (Depends-on): Add extensions.
56195         * modules/pwrite (Depends-on): Likewise.
56197 2010-08-28  Bruno Haible  <bruno@clisp.org>
56199         unistr/u*-strchr: Fix tests dependencies.
56200         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
56201         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
56202         Reported by Ian Beckwith <ianb@erislabs.net>.
56204 2010-08-28  Bruno Haible  <bruno@clisp.org>
56206         read-file: Don't occupy too much unused memory.
56207         * lib/read-file.c (fread_file): Shrink the buffer at the end.
56209 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
56210             Eric Blake  <eblake@redhat.com>
56211             Bruno Haible  <bruno@clisp.org>
56213         read-file: Avoid memory reallocations with regular files.
56214         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
56215         (fread_file): With regular files, use the remaining length as the
56216         initial buffer size.  Check against overflow.
56217         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
56218         sys_stat.
56220 2010-08-28  Bruno Haible  <bruno@clisp.org>
56222         ftello: Relax license.
56223         * modules/ftello (License): Relax to LGPLv2+.
56224         Reported by Eric Blake.
56226 2010-08-28  Bruno Haible  <bruno@clisp.org>
56228         Avoid relocwrapper link errors due to gnulib replacement functions.
56229         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
56230         function.
56231         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56233 2010-08-28  Bruno Haible  <bruno@clisp.org>
56235         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
56236         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
56237         defined.
56238         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
56239         Suggested by Eric Blake.
56241 2010-08-28  Bruno Haible  <bruno@clisp.org>
56243         sys_socket, netdb: Ensure socklen_t gets defined.
56244         * modules/sys_socket (Depends-on): Add socklen.
56245         * modules/netdb (Depends-on): Likewise.
56246         * modules/getaddrinfo (Depends-on): Remove socklen.
56247         * modules/getsockopt (Depends-on): Likewise.
56248         * modules/setsockopt (Depends-on): Likewise.
56249         * tests/test-sys_socket.c: Check that socklen_t is defined.
56250         * tests/test-netdb.c: Likewise.
56251         * m4/socklen.m4: Update comments.
56252         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56254 2010-08-27  Eric Blake  <eblake@redhat.com>
56256         login_tty: add missing dependency
56257         * modules/login_tty (Depends-on): Add pty.
56259 2010-08-26  Eric Blake  <eblake@redhat.com>
56261         lib-symbol-versions: fix m4 quoting
56262         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
56263         format for AC_LINK_IFELSE.
56265         glob: fix compile test
56266         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
56268         btowc: fix missing file
56269         * modules/btowc (Files): Also ship locale-fr.m4.
56271         lseek: fix link test
56272         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
56273         AC_LINK_IFELSE.
56275         include_next: silence autoconf 2.68 warning
56276         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
56277         AC_COMPILE_IFELSE as special.
56278         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
56279         autoconf < 2.68.
56281         acl: fix compilation test
56282         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
56283         AC_COMPILE_IFELSE.
56285 2010-08-26  Bruno Haible  <bruno@clisp.org>
56287         Modernize AC_TRY_RUN invocations.
56288         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
56289         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
56290         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
56291         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
56292         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
56293         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
56294         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
56295         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
56296         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
56297         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
56298         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
56299         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
56300         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
56301         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
56302         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
56303         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
56304         gl_MBRLEN_NUL_RETVAL): Likewise.
56305         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
56306         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
56307         Likewise.
56308         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
56309         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
56310         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
56311         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
56312         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
56313         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
56314         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
56315         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
56316         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
56317         Likewise.
56318         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
56319         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
56320         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56321         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
56322         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
56323         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
56324         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
56325         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
56326         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
56327         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56329 2010-08-26  Bruno Haible  <bruno@clisp.org>
56331         Modernize AC_TRY_LINK invocations.
56332         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
56333         AC_TRY_LINK.
56334         * m4/argp.m4 (gl_ARGP): Likewise.
56335         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
56336         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
56337         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
56338         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
56339         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
56340         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
56341         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
56342         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
56343         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
56344         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
56345         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
56346         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
56347         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
56348         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
56349         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
56350         * m4/hostent.m4 (gl_HOSTENT): Likewise.
56351         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
56352         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
56353         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
56354         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
56355         Likewise.
56356         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
56357         Likewise.
56358         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
56359         Likewise.
56360         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
56361         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
56362         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
56363         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
56364         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
56365         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
56366         * m4/servent.m4 (gl_SERVENT): Likewise.
56367         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
56368         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
56369         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
56370         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
56371         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
56372         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
56373         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
56374         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
56375         * modules/tsearch-tests (configure.ac): Likewise.
56377 2010-08-26  Bruno Haible  <bruno@clisp.org>
56379         Modernize AC_TRY_COMPILE invocations.
56380         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
56381         AC_TRY_COMPILE.
56382         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
56383         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
56384         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
56385         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
56386         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
56387         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
56388         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
56389         * m4/lock.m4 (gl_LOCK): Likewise.
56390         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
56391         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56392         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
56393         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
56394         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
56395         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
56396         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
56397         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
56398         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
56399         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
56400         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
56401         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
56402         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
56403         extraneous semicolon.
56405 2010-08-26  Jim Meyering  <meyering@redhat.com>
56407         stat-time: relax license LGPL
56408         * modules/stat-time (License): Change from GPL to LGPL,
56409         with consent from all contributors, for use in libguile.
56410         Requested by Ludovic Courtès.
56412 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
56414         poll: return immediately on POLLHUP.
56415         * lib/poll.c (poll): Always set timeout before wait_timeout is
56416         computed.
56418 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56420         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
56421         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
56422         rmdir ("dir/.//"), unlinkat.
56424 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56426         stdbool: avoid spurious failure with modern xlc
56427         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
56429 2010-08-24  Bruno Haible  <bruno@clisp.org>
56431         getloadavg: simplify code
56432         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
56433         gl_have_func. Update comments.
56435 2010-08-24  Eric Blake  <eblake@redhat.com>
56437         getloadavg: don't define SVR4 on cygwin
56438         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
56439         only define SVR4 when -lkvm is required.
56440         Reported by Yaakov Selkowitz.
56442 2010-08-24  Bruno Haible  <bruno@clisp.org>
56444         priv-set: fix comment
56445         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
56447 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56449         priv-set: fix comments
56450         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
56451         to match code, as suggested by David Bartley in:
56452         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
56454 2010-08-23  Eric Blake  <eblake@redhat.com>
56456         stdbool: avoid rejecting clang
56457         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
56458         * tests/test-stdbool.c: Enable more tests if using the system
56459         <stdbool.h> instead of the gnulib replacement.
56460         (main): Move xlc bug test to a runtime test for all compilers.
56461         Reported by Anders Kaseorg.
56463         argz: fix shell quoting issue
56464         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
56465         Reported by Charles Wilson.
56467 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
56468             Erik Faye-Lund <kusmabite@gmail.com>
56470         poll, select: handle ERROR_BROKEN_PIPE.
56471         * lib/poll.c (win32_compute_revents): Return POLLHUP when
56472         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
56473         * lib/select.c (win32_compute_revents): Do not mark a pipe
56474         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
56476 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
56478         fts: allow compilation with C++
56479         * lib/fts_.h: Specify extern "C" linkage with C++.
56481 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56483         Fix gnulib-tool sed script de-commentation for AIX sed.
56484         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
56485         sed.
56487 2010-08-17  Eric Blake  <eblake@redhat.com>
56489         test-stddef: test for (some) offsetof bugs
56490         * tests/test-stddef.c: Enhance test to ensure correct type of
56491         offsetof.
56492         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
56493         that we are not fixing at this time.
56495 2010-08-15  Bruno Haible  <bruno@clisp.org>
56497         stpncpy: Allow stpncpy to be defined as a macro.
56498         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
56499         if it's already correctly declared.
56500         * lib/string.in.h (stpncpy): Undefine before redefining.
56501         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
56503 2010-08-14  Bruno Haible  <bruno@clisp.org>
56505         Rename module 'memxfrm' to 'amemxfrm'.
56506         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
56507         (amemxfrm): Renamed from memxfrm.
56508         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
56509         (amemxfrm): Renamed from memxfrm.
56510         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
56511         * NEWS: Mention the change.
56512         * MODULES.html.sh (String handling <string.h>): Update.
56513         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
56514         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
56515         * lib/unicase/u16-casexfrm.c: Likewise.
56516         * lib/unicase/u32-casexfrm.c: Likewise.
56517         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
56518         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
56519         * lib/uninorm/u16-normxfrm.c: Likewise.
56520         * lib/uninorm/u32-normxfrm.c: Likewise.
56521         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
56522         memxfrm.
56523         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
56524         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
56525         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
56526         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
56527         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
56528         Suggested by Paul Eggert.
56530 2010-08-14  Bruno Haible  <bruno@clisp.org>
56532         Tests for module 'astrxfrm'.
56533         * modules/astrxfrm-tests: New file.
56534         * tests/test-astrxfrm.c: New file.
56536         New module 'astrxfrm'.
56537         * lib/astrxfrm.h: New file.
56538         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
56539         * modules/astrxfrm: New file.
56541 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
56543         regex: Tweak doc.
56544         * doc/regex.texi (Overview): Don't mention regex.c.
56545         (GNU Regular Expression Compiling): Likewise.
56546         (Match-end-of-line Operator): Mention 'not_eol'.
56548 2010-08-14  Brian Gough  <bjg@gnu.org>
56549             Bruno Haible  <bruno@clisp.org>
56551         git-merge-changelog: add doc relating to use with bzr and hg.
56552         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
56554 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
56556         pthread: fix pthread.h creation for srcdir != builddir
56557         * modules/pthread (Makefile.am): Fix the rule to work also in a
56558         non-srcdir build.
56560 2010-08-13  Karl Berry  <karl@gnu.org>
56562         * doc/regex.texi (Predefined Syntaxes): @smallexample.
56563         * doc/posix-*/*: force line break before @url of POSIX
56564         specifications.
56565         Suggested by Werner Lemberg.
56567 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56569         strtod: fix const diagnostic
56570         * lib/strtod.c (strtod): Don't assign const char * to char *,
56571         as this elicits a warning from GCC when warnings are enabled.
56573 2010-08-10  Pádraig Brady  <P@draigbrady.com>
56574         and Eric Blake  <eblake@redhat.com>
56576         copy-acl: ignore ENOTSUP on HP-UX
56577         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
56578         so that it is available for HP-UX.
56579         * lib/copy-acl.c (qcopy_acl): Use it.
56580         Reported by Patrick M. Callahan.
56582 2010-08-10  Eric Blake  <eblake@redhat.com>
56584         open, chown: relax license
56585         * modules/open (License): Change to LGPLv2+, with consent by all
56586         authors, for use in augeas.
56587         * modules/chown (License): Likewise.
56588         * modules/lchown (Likewise): Likewise.
56589         Requested by Adam Stokes.
56591 2010-08-09  Karl Berry  <karl@gnu.org>
56593         * build-aux/ar-lib: new file, import from Automake.
56594         * config/srclist.txt: autocheck for updates.
56596 2010-08-09  Eric Blake  <eblake@redhat.com>
56598         readlinkat: adjust client modules
56599         * modules/areadlinkat (Depends-on): Use readlinkat, not
56600         symlinkat.
56601         * modules/areadlinkat-with-size (Depends-on): Likewise.
56603         mknod: be more vocal about danger of running tests as root
56604         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
56605         root, since that is just asking for problems.
56606         Suggested by Bruno Haible, based on a report by Rainer Tammer.
56608         readlinkat: split into its own module
56609         * modules/symlinkat: Split readlinkat...
56610         * modules/readlinkat: ...into separate module.
56611         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
56612         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
56613         * lib/symlinkat.c (readlinkat): Move...
56614         * lib/readlinkat.c: ...into new file.
56615         * modules/symlinkat-tests: Split readlinkat test...
56616         * modules/readlinkat-tests: ...into separate module.
56617         * tests/test-symlinkat.c: Split...
56618         * tests/test-readlinkat.c: ...into new file.
56619         * NEWS: Document the split.
56620         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
56621         * lib/unistd.in.h (readlinkat): Likewise.
56622         Suggested by Bruno Haible.
56624 2010-08-08  Bruno Haible  <bruno@clisp.org>
56626         memxfrm: Speed up.
56627         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
56628         that usually only one call to strxfrm is necessary for each string
56629         part.
56630         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56632 2010-08-07  Karl Berry  <karl@gnu.org>
56634         * doc/posix-headers/limits.texi,
56635         * doc/posix-functions/malloc.texi,
56636         * doc/posix-functions/strsignal.texi: missing @item.
56637         * doc/ld-version-script.texi: spurious leading i.
56638         * doc/regex.texi (Interval Operators): no commas inside @var.
56640 2010-08-01  Bruno Haible  <bruno@clisp.org>
56642         Integrate the regex documentation.
56643         * doc/gnulib.texi: Define 'cn' index.
56644         (Regular expressions): New a chapter that includes regex.texi and
56645         regexprops-generic.texi.
56646         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
56647         syntax.
56649         Whitespace cleanup.
56650         * doc/regex.texi: Remove trailing spaces.
56652         Add regex documentation.
56653         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
56654         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
56655         Written by Kathy A. Hargreaves and Karl Berry.
56657 2010-08-01  Bruno Haible  <bruno@clisp.org>
56659         link: Update documentation.
56660         * doc/posix-functions/link.texi: Update regarding Solaris.
56662 2010-07-31  Bruno Haible  <bruno@clisp.org>
56664         Update modules list.
56665         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
56666         (String handling <string.h>): Add memcmp2, memxfrm.
56667         (Container data structures): Add xlist, xsublist, xoset.
56668         (Core language properties): Add alignof, unused-parameter.
56669         (Process control, Numeric conversion functions <stdlib.h>): Renamed
56670         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
56671         (Unibyte characters <ctype.h>): New section.
56672         (String handling <string.h>): New section.
56673         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
56674         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
56675         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
56676         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
56677         tan, tanh, tanl, y0, y1, yn.
56678         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
56679         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
56680         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
56681         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
56682         unlockpt, vdprintf, vdprintf-posix.
56683         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
56684         (File system functions): Add concat-filename, sys_file, sys_ioctl,
56685         xconcat-filename.
56686         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
56687         getdtablesize, pipe2, pipe2-safer.
56688         (Security): New section.
56689         (Networking functions): Add accept4.
56690         (Signal handling): Add sigpipe.
56691         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
56692         mbmemcasecoll.
56693         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
56694         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
56695         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
56696         pipe-filter-ii.
56697         (Misc): Add argp-version-etc, login_tty, parse-duration.
56699 2010-07-31  Bruno Haible  <bruno@clisp.org>
56701         Improve doc in MODULES.html.
56702         * modules/linkat (Description): Add the word "function".
56703         * modules/mkfifo (Description): Likewise.
56704         * modules/mknod (Description): Likewise.
56705         * modules/remove (Description): Likewise.
56706         * modules/renameat (Description): Likewise.
56707         * modules/stat (Description): Likewise.
56708         * modules/symlink (Description): Likewise.
56709         * modules/unlink (Description): Likewise.
56711 2010-07-31  Bruno Haible  <bruno@clisp.org>
56713         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
56714         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
56715         option --enable/disable-c++ instead of --enable/disable-cxx.
56716         * NEWS: Mention the change.
56718 2010-07-31  Bruno Haible  <bruno@clisp.org>
56720         readlink, areadlink: Relax test a bit.
56721         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
56722         alternative to ENOTDIR.
56723         * tests/test-areadlink.h (test_areadlink): Likewise.
56724         Reported by Rainer Tammer.
56726 2010-07-31  Bruno Haible  <bruno@clisp.org>
56728         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
56729         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
56730         character, perform the search using U_STRCHR.
56731         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
56732         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
56733         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
56734         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
56735         Suggested by Paolo Bonzini.
56737 2010-07-31  Bruno Haible  <bruno@clisp.org>
56739         unistr/u*-strstr: Fix dependencies.
56740         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
56741         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
56742         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
56744 2010-07-31  Bruno Haible  <bruno@clisp.org>
56746         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
56747         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
56748         the beginning of the loop.
56749         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
56750         cases in 'switch' statement.
56752         unistr/u8-strchr: Fix several bugs.
56753         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
56754         the string. When not found, return NULL, not a pointer near the end.
56756         More tests for unistr/u8-strchr.
56757         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
56758         that the function does not read past the first occurrence of the byte
56759         being searched.
56760         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
56761         * tests/unistr/test-u16-strchr.c (main): New function.
56762         * tests/unistr/test-u32-strchr.c (main): New function.
56764 2010-07-31  Bruno Haible  <bruno@clisp.org>
56766         posix-modules: Ignore backup files of documentation files.
56767         * posix-modules: grep only through files named *.texi.
56769 2010-07-31  Bruno Haible  <bruno@clisp.org>
56771         symlinkat: Fix documentation.
56772         * doc/posix-functions/readlinkat.texi: Fix module name.
56774 2010-07-31  Bruno Haible  <bruno@clisp.org>
56776         fchownat: Replace also when chown has the trailing slash bug.
56777         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
56778         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
56779         introduced on 2010-04-10.
56780         Reported by Rainer Tammer.
56782 2010-07-31  Bruno Haible  <bruno@clisp.org>
56784         linkat: Work around AIX 7.1 bug.
56785         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
56786         whether linkat handles trailing slash correctly. If not, replace linkat
56787         and define LINKAT_TRAILING_SLASH_BUG.
56788         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
56789         check whether (fd1,file1) points to a directory if file1 or file2 ends
56790         in a slash. Code taken from lib/link.c.
56791         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
56792         Reported by Rainer Tammer.
56794 2010-07-31  Bruno Haible  <bruno@clisp.org>
56796         Correctly determine whether pow is available in libc on AIX 7 with xlc.
56797         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
56798         This disables an xlc optimization that was causing wrong test results.
56799         Reported by Rainer Tammer.
56801 2010-07-31  Bruno Haible  <bruno@clisp.org>
56803         iconv: Work around AIX 6.1..7.1 bug.
56804         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
56805         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
56806         cross-compiling, guess no on all versions of AIX.
56807         Reported by Rainer Tammer.
56809 2010-07-31  Bruno Haible  <bruno@clisp.org>
56811         readlink: Relax test a bit.
56812         * tests/test-readlink.h (test_readlink): Allow different errno value
56813         when readlink is called with a file name that ends in / and refers to
56814         a file.
56815         Suggested by Eric Blake.
56816         Reported by Rainer Tammer.
56818 2010-07-31  Bruno Haible  <bruno@clisp.org>
56820         copysign: Does not require -lm on glibc systems.
56821         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
56822         gl_COMMON_DOUBLE_MATHFUNC.
56823         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
56825 2010-07-31  Bruno Haible  <bruno@clisp.org>
56827         duplocale: Work around AIX 7.1 bug.
56828         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
56829         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
56830         * lib/duplocale.c (rpl_duplocale): Update comment.
56831         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
56832         Reported by Rainer Tammer.
56834 2010-07-30  Bruno Haible  <bruno@clisp.org>
56836         dirfd: Avoid link error on AIX 7.1.
56837         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
56838         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
56839         exist, set REPLACE_DIRFD.
56840         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
56841         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
56842         * doc/posix-functions/dirfd.texi: Update.
56843         Reported by Rainer Tammer.
56845 2010-07-30  Eric Blake  <eblake@redhat.com>
56847         strtod: next round of AIX fixes
56848         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
56849         exponent.
56850         * tests/test-strtod.c (main): Enhance tests.
56851         * doc/posix-functions/strtod.texi (strtod): Document next bug.
56852         Reported by Rainer Tammer.
56854         futimens: fix configure check
56855         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
56856         Reported by Bruno Haible.
56858 2010-07-30  Bruno Haible  <bruno@clisp.org>
56860         getline: Update regarding AIX.
56861         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
56862         Reported by Rainer Tammer.
56864 2010-07-30  Bruno Haible  <bruno@clisp.org>
56866         wcwidth: Drop replacement on AIX 7.
56867         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
56868         AIX 7.
56869         Reported by Rainer Tammer.
56871 2010-07-30  Bruno Haible  <bruno@clisp.org>
56873         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
56874         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
56875         a 'char *'.
56876         Reported by Rainer Tammer.
56878 2010-07-30  Bruno Haible  <bruno@clisp.org>
56880         unlink: Update regarding AIX.
56881         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
56882         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
56883         Reported by Rainer Tammer.
56885 2010-07-30  Bruno Haible  <bruno@clisp.org>
56887         symlink: Update regarding AIX.
56888         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
56889         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
56890         Reported by Rainer Tammer.
56892 2010-07-30  Bruno Haible  <bruno@clisp.org>
56894         strndup: Update regarding AIX.
56895         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
56896         AIX 7.
56897         Reported by Rainer Tammer.
56899 2010-07-30  Bruno Haible  <bruno@clisp.org>
56901         stat: Update regarding AIX.
56902         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
56903         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
56904         Reported by Rainer Tammer.
56906 2010-07-30  Bruno Haible  <bruno@clisp.org>
56908         truncl: Fix autoconf test.
56909         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
56910         whether truncl works.
56911         Reported by Rainer Tammer.
56913 2010-07-30  Bruno Haible  <bruno@clisp.org>
56915         round: Update regarding AIX.
56916         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
56917         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
56918         Reported by Rainer Tammer.
56920 2010-07-30  Bruno Haible  <bruno@clisp.org>
56922         rename: Update regarding AIX.
56923         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
56924         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
56925         Reported by Rainer Tammer.
56927 2010-07-30  Bruno Haible  <bruno@clisp.org>
56929         printf.m4: Update regarding AIX.
56930         * m4/printf.m4: Update comments regarding AIX.
56931         Reported by Rainer Tammer.
56933 2010-07-30  Bruno Haible  <bruno@clisp.org>
56935         iconv: Update regarding AIX.
56936         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
56937         AIX 7.
56938         Reported by Rainer Tammer.
56940 2010-07-30  Bruno Haible  <bruno@clisp.org>
56942         getopt: Update regarding AIX.
56943         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
56944         no on AIX.
56945         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
56946         Reported by Rainer Tammer.
56948 2010-07-30  Bruno Haible  <bruno@clisp.org>
56950         ldexpl; Update regarding AIX.
56951         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
56952         on AIX 7.
56953         Reported by Rainer Tammer.
56955 2010-07-30  Bruno Haible  <bruno@clisp.org>
56957         frexpl: Update regarding AIX.
56958         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
56959         on AIX 7.
56960         Reported by Rainer Tammer.
56962 2010-07-30  Bruno Haible  <bruno@clisp.org>
56964         open, fopen: Update regarding AIX.
56965         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
56966         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
56967         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
56968         * doc/posix-functions/fopen.texi: Likewise.
56969         Reported by Rainer Tammer.
56971 2010-07-30  Bruno Haible  <bruno@clisp.org>
56973         chown: Update doc regarding AIX.
56974         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
56975         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
56976         Reported by Rainer Tammer.
56978 2010-07-30  Eric Blake  <eblake@redhat.com>
56980         strtod: fix bug in replacement function on AIX
56981         * lib/strtod.c (strtod): Special case broken "0x" parse in
56982         underlying strtod.
56983         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
56984         * doc/posix-functions/strtod.texi (strtod): Likewise.
56985         Reported by Rainer Tammer.
56987 2010-07-30  Bruno Haible  <bruno@clisp.org>
56989         mbrlen: Fix cross-compilation guess for AIX.
56990         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
56991         guess. Leftover from 2008-12-22.
56993 2010-07-30  Bruno Haible  <bruno@clisp.org>
56995         mbrtowc: Fix cross-compilation guess for AIX.
56996         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
56997         guess. Leftover from 2008-12-21.
56999 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
57001         init.sh: work around trap limitation of some shells
57002         * tests/init.sh (setup_): Move exit trap outside of shell function.
57004 2010-07-29  Eric Blake  <eblake@redhat.com>
57006         strtod: aid debugging
57007         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
57008         understanding why strtod is rejected.
57010 2010-07-28  Bruno Haible  <bruno@clisp.org>
57012         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
57013         * lib/unistr/u8-chr.c: Include <string.h>.
57014         * tests/unistr/test-u8-chr.c: Likewise.
57015         * tests/unistr/test-u16-chr.c: Likewise.
57016         * tests/unistr/test-u32-chr.c: Likewise.
57017         * tests/unistr/test-u8-strchr.c: Likewise.
57018         * tests/unistr/test-u16-strchr.c: Likewise.
57019         * tests/unistr/test-u32-strchr.c: Likewise.
57020         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
57021         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
57022         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
57023         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
57025 2010-07-28  Bruno Haible  <bruno@clisp.org>
57027         Use spaces for indentation, not tabs.
57028         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
57030 2010-07-27  Bruno Haible  <bruno@clisp.org>
57032         mbspcasecmp: Fix function specification.
57033         * lib/string.in.h (mbspcasecmp): Fix specification comment.
57034         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
57035         Reported by Eric Blake <eblake@redhat.com>.
57037 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
57039         timespec: use cast and not conditional, as truncation isn't possible
57040         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
57041         instead of a conditional.  Comment about the situation in more detail.
57042         This undoes most of the 2009-10-29 patch.
57044 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
57046         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
57047         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
57048         * lib/unistr/u8-strchr.c: Likewise.
57049         * modules/unistr/u8-chr: Depend on memchr.
57051         unistr/u*-strchr: add tests
57052         * modules/unistr/u8-strchr-tests: New file.
57053         * modules/unistr/u16-strchr-tests: New file.
57054         * modules/unistr/u32-strchr-tests: New file.
57055         * tests/unistr/test-strchr.h: New file.
57056         * tests/unistr/test-u8-strchr.c: New file.
57057         * tests/unistr/test-u16-strchr.c: New file.
57058         * tests/unistr/test-u32-strchr.c: New file.
57060         unistr/u*-chr: test multibyte sequences more
57061         * tests/unistr/test-chr.h: Do complete testing of the characters in the
57062         test vector.
57063         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
57064         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
57065         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
57067         unistr/u*-chr: test multibyte sequences
57068         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
57070         unistr/u*-chr: prepare for multibyte tests
57071         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
57072         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
57073         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
57074         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
57075         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
57076         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
57078 2010-07-18  Bruno Haible  <bruno@clisp.org>
57080         unistr/u8-strchr: Optimize non-ASCII argument case.
57081         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
57082         because the first byte often matches anyway.
57083         Reported by Pádraig Brady <P@draigbrady.com>.
57085 2010-07-15  Karl Berry  <karl@gnu.org>
57087         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
57089 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
57091         getcwd: on Solaris, work better if ancestors are inaccessible
57092         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
57093         buffer and size, try again with a large buffer.  This works better
57094         on Solaris, since its getcwd succeeds even if the path to the root
57095         is inaccessible, and this is helpful in common cases such as .zfs
57096         hidden directories.  Problem reported by J Chapman Flack in
57097         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
57098         Use system getcwd if it's declared, not merely if it's partly
57099         working; use the partly-working test only to avoid needless effort
57100         if the system getcwd fails.
57101         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
57102         comment that was already obsolete and is now even more obsolete.
57103         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
57104         now might call strdup.
57106 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
57108         pthread: Add enough so that coreutils/src/sort.c compiles.
57109         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
57110         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
57111         gnulib. Include <sched.h> and <time.h>, as per POSIX.
57112         Include <sys/types.h>, in case it defines pthread_t.
57113         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
57114         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
57115         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
57116         (pthread_rwlockattr_t, pthread_spinlock_t):
57117         New typedefs, if HAVE_PTHREAD_T is not defined.
57118         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
57119         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
57120         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
57121         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
57122         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
57123         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
57124         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
57125         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
57126         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
57127         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
57128         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
57129         New macros.
57130         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
57131         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
57132         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
57133         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
57134         (pthread_spin_unlock): New dummy functions.
57135         (pthread_create): Return EAGAIN; don't set errno.
57136         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
57137         require AC_C_INLINE.
57138         * modules/pthread (Depends-on): Add sched, time.
57139         (pthread.h): Use AM_V_GEN.
57141 2010-07-13  Bruno Haible  <bruno@clisp.org>
57143         striconveh: Don't malloc memory if the result buffer is sufficient.
57144         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
57145         buffer if its size is sufficient.
57146         Reported by Ludovic Courtès <ludo@gnu.org>.
57148 2010-07-13  Bruno Haible  <bruno@clisp.org>
57150         strtod: Add safety check.
57151         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
57153 2010-07-12  Bruno Haible  <bruno@clisp.org>
57155         Unify tests that set gl_cv_func_ldexpl_no_libm.
57156         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
57157         gl_FUNC_LDEXPL.
57158         (gl_FUNC_LDEXPL): Invoke it.
57159         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
57161 2010-07-12  Bruno Haible  <bruno@clisp.org>
57163         Unify tests that set gl_cv_func_ldexp_no_libm.
57164         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
57165         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
57166         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
57167         (configure.ac): Simply invoke gl_FUNC_LDEXP.
57168         * modules/strtod (Files): Add m4/ldexp.m4.
57170 2010-07-12  Bruno Haible  <bruno@clisp.org>
57172         Unify tests that set gl_cv_func_frexpl_no_libm.
57173         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
57174         gl_FUNC_FREXPL_NO_LIBM.
57175         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
57176         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
57178 2010-07-12  Bruno Haible  <bruno@clisp.org>
57180         Unify tests that set gl_cv_func_frexp_no_libm.
57181         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
57182         gl_FUNC_FREXP_NO_LIBM.
57183         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
57184         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
57186 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
57188         memcoll: clarify sizes versus lengths, document better, and tweak perf
57189         * lib/memcoll.c (strcoll_loop, memcoll0):
57190         Improve quality of descriptive comments.  Name variables
57191         consistently as to whether they are lengths (which do not include
57192         terminating null) versus sizes (which do).
57193         * lib/xmemcoll.c (xmemcoll0): Likewise.
57194         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
57195         returned when s1size == 0; this is easier to compile and saves
57196         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
57198 2010-07-12  Bruno Haible  <bruno@clisp.org>
57200         Tests for module '_Exit'.
57201         * modules/_Exit-tests: New file.
57202         * tests/test-_Exit.sh: New file.
57203         * tests/test-_Exit.c: New file.
57205         New module '_Exit'.
57206         * lib/stdlib.in.h (__attribute__): New macro.
57207         (_Exit): New declaration.
57208         * lib/_Exit.c: New file.
57209         * m4/_Exit.m4: New file.
57210         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
57211         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
57212         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
57213         * modules/_Exit: New file.
57214         * tests/test-stdlib-c++.cc (_Exit): Check signature.
57215         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
57217 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
57219         strtod: make it more-accurate typically, and don't require libm
57220         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
57221         Include limits.h.  Don't include string.h.
57222         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
57223         (locale_isspace): New function, so that no casts are needed to
57224         check whether *s is a space.
57225         (ldexp): Provide an unused dummy if not available.
57226         (scale_radix_exp, parse_number, underlying_strtod): New functions.
57227         (strtod): Use them.  This implementation prefers to use the
57228         underlying strtod if available, falling back on our own code
57229         only to fix known bugs.  This is more likely to produce an
57230         accurate result.  Also, it avoids the use of libm functions.
57231         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
57232         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
57233         was absent, but it caused a test failure with coreutils.
57234         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
57235         with libm.
57236         * modules/strtod (Makefile.am, Link): libm is no longer needed.
57237         * modules/strtod-tests (Makefile.am): Likewise.
57239 2010-07-11  Pádraig Brady  <P@draigBrady.com>
57240             Bruno Haible  <bruno@clisp.org>
57242         unistr/u8-strchr: Optimize ASCII argument case.
57243         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
57245 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
57247         (x)memcoll: minor tweaks
57248         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
57249         is after the type that it qualifies.
57250         (memcoll0): Likewise.
57251         * lib/memcoll.h (memcoll0): Likewise.
57252         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
57253         * lib/xmemcoll.h (xmemcoll0): Likewise.
57254         * lib/memcoll.c (memcoll0): Correct the comment.  This function
57255         differs from memcoll in that the NUL byte is part of the argument.
57256         Omit the abort-checks, as performance is a real issue here.  Plus,
57257         the checks were wrong anyway (an off-by-one error).  Omit local
57258         variable 'diff', as it's a bit clearer that way.
57259         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
57260         no longer needed.
57262 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
57264         (x)memcoll: speedup when input is known to be NUL delimited
57265         * lib/memcoll.c: Include stdlib.
57266         (memcoll0): New function.
57267         (strcoll_loop): New function, refactored for use in both memcoll
57268         and memcoll0.
57269         * lib/memcoll.h (memcoll0): Add prototype.
57270         * lib/xmemcoll.c (xmemcoll0): New function.
57271         (collate_error): New function, refactored for use in both xmemcoll
57272         and xmemcoll0.
57273         * lib/xmemcoll.h (xmemcoll0): Add prototype.
57274         * m4/memcoll.m4: add inline invocation.
57276 2010-07-06  Pádraig Brady  <P@draigBrady.com>
57278         * build-aux/bootstrap: Remove any local translations
57279         from the translation project synchronization directory,
57280         so that local only translations are not distributed.
57282 2010-07-04  Bruno Haible  <bruno@clisp.org>
57284         fsusage: Clarify which code applies to which platforms.
57285         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
57286         platform.
57287         * lib/fsusage.c (get_fs_usage): Likewise.
57289 2010-07-04  Bruno Haible  <bruno@clisp.org>
57291         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
57292         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
57293         Reported by Martin Lambers <marlam@marlam.de>.
57295 2010-07-04  Jim Meyering  <meyering@redhat.com>
57297         hash: once again explicitly disallow insertion of NULL
57298         * lib/hash.c (hash_insert0): Reinstate just-removed test:
57299         inserting a NULL pointer cannot work with these functions.
57300         Add a comment with details.
57301         This reverts part of the 2010-07-01 commit, 5bef1a35
57302         "hash: extend module to deal with non-pointer keys".
57304 2010-07-01  Bruno Haible  <bruno@clisp.org>
57306         stdbool: Update doc.
57307         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
57308         Info from Christian Weisgerber <naddy@mips.inka.de>.
57310 2010-07-01  Jim Meyering  <meyering@redhat.com>
57312         hash: extend module to deal with non-pointer keys
57313         * lib/hash.c (hash_insert0): New interface, much like hash_insert
57314         but that allows insertion of non-pointer entries.
57315         Do not disallow an ENTRY value of NULL.
57316         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
57317         * lib/hash.h (hash_insert0): Declare.
57319 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
57321         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
57322         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
57323         not present (i.e. with autoconf 2.59 and when using gettextize, not
57324         gnulib), require AC_GNU_SOURCE instead.
57326 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
57328         idpriv-drop: Fix tests.
57329         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
57330         not to the test-idpriv-droptemp program.
57332 2010-06-29  Bruno Haible  <bruno@clisp.org>
57334         string: Fix syntax error with g++ 2.96.
57335         * lib/string.in.h (__pure__): Remove definition.
57336         (_GL_ATTRIBUTE_PURE): New macro.
57337         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
57338         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
57339         Reported by Christian Weisgerber <naddy@mips.inka.de>.
57341 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
57343         unitypes: Fix bug introduced on 2010-05-18.
57344         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
57346 2010-06-22  Eric Blake  <eblake@redhat.com>
57348         memmem: slight optimization
57349         * lib/str-two-way.h (critical_factorization): Update comments.
57350         Reduce work during factorization phase.
57351         Reported by Carlos Bueno <carlos@bueno.org>.
57353 2010-06-21  Bruno Haible  <bruno@clisp.org>
57355         Fix HAVE_CALLOC_POSIX misnomer.
57356         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
57357         !HAVE_CALLOC_POSIX.
57358         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
57359         HAVE_CALLOC_POSIX.
57360         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
57361         instead of HAVE_CALLOC_POSIX.
57362         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
57363         HAVE_CALLOC_POSIX.
57365         Use modern idiom for calloc() replacement.
57366         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
57367         AC_FUNC_CALLOC.
57368         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
57369         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
57370         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
57371         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
57372         (gl_REPLACE_CALLOC): New macro.
57374 2010-06-21  Bruno Haible  <bruno@clisp.org>
57376         Fix HAVE_REALLOC_POSIX misnomer.
57377         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
57378         !HAVE_REALLOC_POSIX.
57379         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
57380         HAVE_REALLOC_POSIX.
57381         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
57382         instead of HAVE_REALLOC_POSIX.
57383         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
57384         HAVE_REALLOC_POSIX.
57386         Use modern idiom for realloc() replacement.
57387         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
57388         AC_FUNC_REALLOC.
57389         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
57390         Autoconf's AC_FUNC_REALLOC.
57391         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
57392         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
57393         (gl_REPLACE_REALLOC): New macro.
57394         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
57396 2010-06-21  Bruno Haible  <bruno@clisp.org>
57398         Fix HAVE_MALLOC_POSIX misnomer.
57399         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
57400         !HAVE_MALLOC_POSIX.
57401         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
57402         HAVE_MALLOC_POSIX.
57403         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
57404         instead of HAVE_MALLOC_POSIX.
57405         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
57406         HAVE_MALLOC_POSIX.
57408         Use modern idiom for malloc() replacement.
57409         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
57410         AC_FUNC_MALLOC.
57411         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
57412         Autoconf's AC_FUNC_MALLOC.
57413         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
57414         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
57415         (gl_REPLACE_MALLOC): New macro.
57416         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
57418 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
57420         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
57421         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
57422         This macro takes 3 arguments, not 4.
57424 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
57426         ipv6: fix detection under mingw
57427         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
57428         in6_addr.
57430 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
57432         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
57433         that strtod() works when cross-compiling to a glibc version known
57434         to work.
57436 2010-06-15  Bruno Haible  <bruno@clisp.org>
57438         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
57440 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
57442         select: Correct timeout.
57443         * lib/select.c (rpl_select): Compute wait_timeout correctly.
57445 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57447         git-version-gen: init shell var to avoid env var influence
57448         * build-aux/git-version-gen (v): Init shell var to empty.
57450 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
57452         priv-set: Don't assume that priv.h exists merely because getppriv does.
57453         See Jan Andersen's bug report about AIX 5L in
57454         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
57455         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
57456         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
57457         * lib/priv-set.h: Likewise.
57458         * tests/test-priv-set.c: Likewise.
57460 2010-06-13  Bruno Haible  <bruno@clisp.org>
57462         relocatable: Make it easier to test whether to install wrappers.
57463         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
57464         RELOCATABLE_VIA_WRAPPER.
57466 2010-06-13  Bruno Haible  <bruno@clisp.org>
57468         gnulib-tool: Display specified modules and dependencies differently.
57469         * gnulib-tool (func_show_module_list): New function.
57470         (func_import, func_create_testdir): Invoke it.
57471         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57473 2010-06-13  Bruno Haible  <bruno@clisp.org>
57475         gnulib-tool: Align code of func_import and func_create_testdir.
57476         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
57477         specified_modules.
57479 2010-06-12  Jim Meyering  <meyering@redhat.com>
57481         test-inttostr: avoid spurious failure on Solaris 9
57482         * tests/test-inttostr.c (main): Skip the test when snprintf fails
57483         to accept "%ju".  Reported by Bruno Haible.
57485 2010-06-11  Jim Meyering  <meyering@redhat.com>
57487         test-sys_socket: mark variables as used more readably
57488         * tests/test-sys_socket.c (main): Mark otherwise unused variables
57489         as "used" explicitly via (void) statement casts.  This is more
57490         readable than using them in an artificial return expression.
57491         Suggestion from Bruno Haible.
57493 2010-06-11  Bruno Haible  <bruno@clisp.org>
57495         Avoid some more warnings from "gcc -Wwrite-strings".
57496         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
57497         to 'const char *'.
57498         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
57499         * tests/test-c-strcasestr.c (main): Likewise.
57500         * tests/test-mbscasestr1.c (main): Likewise.
57501         * tests/test-mbscasestr2.c (main): Likewise.
57502         * tests/test-memmem.c (main): Likewise.
57503         * tests/test-strstr.c (main): Likewise.
57504         * tests/test-strcasestr.c (main): Likewise.
57506 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57508         init.sh: change framework_failure_ to fail with status 99, not 1
57509         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
57510         automake's parallel-tests rule that this is an unexpected failure,
57511         even if the test is listed in XFAIL_TESTS.
57513 2010-06-11  Jim Meyering  <meyering@redhat.com>
57515         test-inttostr: avoid warnings about 4-6KB literal strings
57516         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
57517         Include "macros.h", for its definition of ASSERT.
57518         (CK): s/assert/ASSERT/
57519         * modules/inttostr-tests (Files): Add macros.h.
57521         init.sh: don't use $ME_ or skip_ before they are defined
57522         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
57523         their first uses.  Also hoist their companions: warn_, fail_,
57524         framework_failure_, $stderr_fileno.  Prompted by a patch from
57525         Stefano Lattarini.
57527         test-sys_socket: avoid set-but-not-used warnings from gcc
57528         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
57529         avoid warning about set-but-not-used variables.
57531         test-xvasprintf: avoid 'const' discard warnings
57532         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
57533         "const" when assigning from literal strings.
57534         (test_xasprintf): Add "void" in function argument list to placate
57535         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
57537         tests: avoid compilation warnings in argmatch and exclude tests...
57538         in packages that define ARGMATCH_DIE_DECL, like coreutils.
57539         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
57540         Since it always exits, declare with the "noreturn" attribute.
57541         * tests/test-argmatch.c: Likewise.
57543         tests: avoid 'const' discard warnings in mbsstr tests
57544         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
57545         * tests/test-mbsstr2.c (main): Likewise.
57547         test-verify: avoid warning from gcc's -Wmissing-declarations
57548         * tests/test-verify.c (function): Declare to be static.
57550         test-inttostr.c: include <string.h> for use of strcmp
57551         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
57553         test-linkat: avoid failed assertion on "other" architectures
57554         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
57555         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
57556         sparc: https://bugs.launchpad.net/bugs/591968
57558 2010-06-11  Jim Meyering  <meyering@redhat.com>
57560         printf.m4: avoid autoconf's "Expanded Before Required" warning
57561         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
57562         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
57563         autoconf warning.
57565 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
57567         Replacement header templates are now named with ".in", not "_".
57568         * doc/gnulib-intro.texi: Correct.
57570 2010-06-10  Jim Meyering  <meyering@redhat.com>
57572         inttostr-tests: depend on snprintf, not snprintf-posix
57573         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
57574         snprintf-posix, to avoid this aclocal failure:
57575           missing file gnulib-tests/vasnprintf.c
57576           configure.ac:45: error: expected source file, required through \
57577           AC_LIBSOURCES, not found
57579 2010-06-10  Jim Meyering  <meyering@redhat.com>
57581         inttostr: add a new function, inttostr, and tests
57582         The namesake function was not available.  The existence of the
57583         template file, inttostr.c makes its addition nontrivial.
57584         * lib/anytostr.c: Rename from inttostr.c.
57585         (anytostr): Rename from inttostr.
57586         * lib/inttostr.c: New file.
57587         * modules/inttostr (Files): Add anytostr.c.
57588         (Makefile.am): Set lib_SOURCES instead of ...
57589         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
57590         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
57591         * lib/offtostr.c: Likewise.
57592         * lib/uinttostr.c: Likewise.
57593         * lib/umaxtostr.c: Likewise.
57594         * modules/inttostr-tests: New file.
57595         * tests/test-inttostr.c: New file.  Test these functions.
57597 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
57598             Bruno Haible  <bruno@clisp.org>
57600         Add "Extending Gnulib" chapter to manual.
57601         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
57602         chapter.
57603         (Extending Gnulib): New chapter.
57604         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
57605         chapter.
57607 2010-06-09  Bruno Haible  <bruno@clisp.org>
57609         Avoid relocwrapper link errors due to gnulib replacement functions.
57610         * lib/areadlink.c: Use the system's malloc, realloc functions.
57611         (areadlink): Set errno to ENOMEM explicitly.
57612         * modules/areadlink (Depends-on): Remove malloc-posix.
57613         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57615 2010-06-09  Bruno Haible  <bruno@clisp.org>
57617         Avoid relocwrapper link errors due to gnulib replacement functions.
57618         * lib/canonicalize-lgpl.c: Use the system's malloc function.
57619         * lib/malloca.c: Likewise.
57620         * lib/relocatable.c: Likewise.
57621         * lib/progreloc.c: Use the system's malloc, sprintf functions.
57622         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
57623         * lib/setenv.c: Use the system's malloc, realloc functions.
57624         * lib/strerror.c: Use the system's sprintf function.
57625         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57627 2010-06-04  Bruno Haible  <bruno@clisp.org>
57629         Prefer documented low-level autoconf macro names.
57630         * m4/lib-link.m4: Use m4_translit instead of translit.
57631         * m4/environ.m4: Likewise.
57632         * m4/mathfunc.m4: Likewise.
57633         * m4/onceonly.m4: Likewise.
57634         * m4/stdint.m4: Likewise.
57635         Suggested by Eric Blake.
57637 2010-06-04  Martin Lambers  <marlam@marlam.de>
57638             Bruno Haible  <bruno@clisp.org>
57640         havelib: Allow library names with '+' characters.
57641         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57642         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
57644 2010-06-09  Bruno Haible  <bruno@clisp.org>
57646         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
57647         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
57648         realloc failed.
57650 2010-06-08  Peter Simons  <simons@cryp.to>
57652         maint.mk: make the news-check rule more configurable
57653         * top/maint.mk (news-check-lines-spec): New variable.
57654         (news-check): Use "sed -n 1,10p" in place of "head".
57656 2010-06-07  Jim Meyering  <meyering@redhat.com>
57658         do-release-commit-and-tag: fix typo in --help
57659         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
57661         regex: avoid new dead-code warning with gcc-4.6.0
57662         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
57663         if-block containing a while-loop.  It's been unused for at least
57664         5 years.
57666 2010-06-05  Bruno Haible  <bruno@clisp.org>
57668         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
57669         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
57671 2010-06-04  Bruno Haible  <bruno@clisp.org>
57673         Update to GNU gettext 0.18.1.
57674         * modules/gettext (configure.ac): Require gettext infrastructure from
57675         version 0.18.1.
57677 2010-06-03  Bruno Haible  <bruno@clisp.org>
57679         Don't use AC_LIBOBJ with file names in subdirectories.
57680         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
57681         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
57682         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
57683         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
57684         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
57685         gl_LIBUNISTRING_LIBSOURCE.
57686         (Makefile.am): Augment lib_SOURCES here, conditionally.
57687         * NEWS: Drop requirement for Automake option 'subdir-objects'.
57689 2010-06-03  Bruno Haible  <bruno@clisp.org>
57691         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
57692         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
57693         expansion does not end with a newline.
57694         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
57695         unnecessary newline.
57697 2010-06-03  Bruno Haible  <bruno@clisp.org>
57699         Reduce dependencies.
57700         * tests/test-quotearg.h: New file, extracted from
57701         tests/test-quotearg.c.
57702         * tests/test-quotearg-simple.c: New file, extracted from
57703         tests/test-quotearg.c.
57704         * tests/test-quotearg.c: Don't include <ctype.h>.
57705         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
57706         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
57707         use_quote_double_quotes, use_quotearg_colon): Moved to
57708         tests/test-quotearg.h.
57709         (results_g, flag_results, custom_quotes, custom_results): Moved
57710         to tests/test-quotearg-simple.c.
57711         (main): Moved the part that does not depend on gettext to
57712         tests/test-quotearg-simple.c. Return 77 if the test cannot be
57713         performed.
57714         * modules/quotearg-simple: New file.
57715         * modules/quotearg-simple-tests: New file.
57716         * modules/quotearg (Depends-on): Add quotearg-simple.
57717         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
57718         (Files): Add tests/test-quotearg.h.
57719         Reported by Paolo Bonzini.
57721 2010-06-03  Bruno Haible  <bruno@clisp.org>
57723         Reduce dependencies.
57724         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
57726 2010-06-03  Bruno Haible  <bruno@clisp.org>
57728         time: Undefine more broken macros.
57729         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
57730         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
57731         Reported by Eric Blake.
57733 2010-06-03  Bruno Haible  <bruno@clisp.org>
57735         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
57736         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
57737         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
57738         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
57739         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
57740         Reported by Ludovic Courtès <ludo@gnu.org>.
57742 2010-06-02  Eric Blake  <eblake@redhat.com>
57744         time: work with mingw + pthreads-win32 library
57745         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
57746         if timespec is defined only in pthread.h.
57747         * modules/time (Makefile.am): Substitute it.
57748         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
57749         <pthread.h>, when needed.
57750         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
57751         from the library.
57753 2010-05-31  Bruno Haible  <bruno@clisp.org>
57755         Avoid expanding two macros in the wrong order.
57756         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
57757         gl_LIBUNISTRING if it is defined.
57758         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
57759         autoconf >= 2.64.
57760         Reported by Ludovic Courtès <ludo@gnu.org>.
57762 2010-05-27  Jim Meyering  <meyering@redhat.com>
57764         maint.mk: also prohibit "#undef" of always-defined symbols
57765         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
57766         Allow more than one space before the symbol name.
57767         (sc_prohibit_always-defined_macros): Use grep's -E, now that
57768         the regexp uses alternation.
57770 2010-05-26  Eric Blake  <eblake@redhat.com>
57772         maint.mk: avoid echo -e
57773         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
57774         Convert all uses of echo -* to printf.
57775         Reported by Matthias Bolte.
57777 2010-05-25  Bruno Haible  <bruno@clisp.org>
57779         Update to GNU gettext 0.18, part 2.
57780         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
57781         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
57783 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57785         Add missing include in test-pwrite.c.
57786         * tests/test-pwrite.c: Include string.h, for strcmp.
57788 2010-05-24  Bruno Haible  <bruno@clisp.org>
57790         * NEWS: Mention requirement for Automake option 'subdir-objects'.
57792 2010-05-24  Bruno Haible  <bruno@clisp.org>
57794         Don't use conversion with transliteration in u{8,16,32}_strcoll.
57795         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
57796         iconveh_error argument.
57797         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
57798         U_STRCONV_TO_LOCALE.
57799         * lib/unistr/u16-strcoll.c: Likewise.
57800         * lib/unistr/u32-strcoll.c: Likewise.
57801         * modules/unistr/u8-strcoll (Depends-on): Add
57802         uniconv/u8-strconv-to-enc, localcharset. Remove
57803         uniconv/u8-strconv-to-locale.
57804         (configure.ac): Bump version number.
57805         * modules/unistr/u16-strcoll (Depends-on): Add
57806         uniconv/u16-strconv-to-enc, localcharset. Remove
57807         uniconv/u16-strconv-to-locale.
57808         (configure.ac): Bump version number.
57809         * modules/unistr/u32-strcoll (Depends-on): Add
57810         uniconv/u32-strconv-to-enc, localcharset. Remove
57811         uniconv/u32-strconv-to-locale.
57812         (configure.ac): Bump version number.
57814 2010-05-24  Bruno Haible  <bruno@clisp.org>
57816         Avoid a test failure on NetBSD 5.0.
57817         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
57818         an iconv() bug.
57820 2010-05-24  Bruno Haible  <bruno@clisp.org>
57822         Adjust #include directive style.
57823         * modules/regex (Includes): Recommend to write <regex.h>.
57825 2010-05-24  Bruno Haible  <bruno@clisp.org>
57827         regex: Don't require alloca.
57828         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
57829         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
57830         only inside if (0).
57832 2010-05-23  Jim Meyering  <meyering@redhat.com>
57834         test-renameat.c: include <sys/stat.h>
57835         * tests/test-renameat.c: Include <sys/stat.h>; required for
57836         definition of S_IS* macros.
57838 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
57840         Update maintainer documentation for 'relocatable-prog' module.
57841         * doc/relocatable-maint.texi: Update.
57842         Comments by Bruno Haible.
57844 2010-05-23  Bruno Haible  <bruno@clisp.org>
57846         git-merge-changelog: Enable --split-merged-entry by default.
57847         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
57848         (usage): Don't mention this option any more.
57849         Reported by Ralf Wildenhues.
57851 2010-05-23  Jim Meyering  <meyering@redhat.com>
57853         test-pwrite: do not leave behind a test file named "out"
57854         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
57855         The trivial-looking use of init.sh is really necessary.
57856         It ensures that the temporary file, "out", is created in
57857         a temporary directory, and removed upon termination.
57858         * tests/test-pwrite.sh: Re-add file.
57859         * modules/pwrite-tests: Reference it.
57861 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57863         Fix output redirection buglet in init.sh.
57864         * tests/init.sh: Fix redirection of stderr.
57866 2010-05-20  Simon Josefsson  <simon@josefsson.org>
57868         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
57870 2010-05-17  Simon Josefsson  <simon@josefsson.org>
57872         * modules/valgrind-tests: New file.
57873         * m4/valgrind-tests.m4: New file.
57874         * doc/valgrind-tests.texi: New file.
57875         * doc/gnulib.texi (Running self-tests under valgrind): New
57876         section.
57878 2010-05-19  Bruno Haible  <bruno@clisp.org>
57880         Clean up dead code in recent commit.
57881         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
57882         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
57883         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
57884         Suggested by Paolo Bonzini.
57886 2010-05-19  Bruno Haible  <bruno@clisp.org>
57888         Avoid valgrind error reports from libunistring.
57889         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
57890         * modules/libunistring (Files): Add it.
57891         * modules/libunistring-optional (Files): Likewise.
57893 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
57894             Bruno Haible  <bruno@clisp.org>
57896         New module 'libunistring-optional'.
57897         * modules/libunistring-optional: New file.
57898         * m4/libunistring-base.m4: New file.
57899         * m4/libunistring-optional.m4: New file.
57900         * lib/unicase.in.h: Renamed from lib/unicase.h.
57901         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
57902         * lib/unictype.in.h: Renamed from lib/unictype.h.
57903         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
57904         * lib/uniname.in.h: Renamed from lib/uniname.h.
57905         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
57906         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
57907         * lib/unistr.in.h: Renamed from lib/unistr.h.
57908         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
57909         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
57910         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
57911         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
57912         gl_LIBUNISTRING. If the library was found, determine the installed
57913         version and set LIBUNISTRING_VERSION.
57914         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
57915         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
57916         handle a configuration option --with-included-libunistring.
57917         * modules/libunistring (Files): Add m4/absolute-header.m4.
57918         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
57919         Add m4/libunistring-base.m4.
57920         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57921         (Makefile.am): Build unicase.h from unicase.in.h.
57922         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
57923         Add m4/libunistring-base.m4.
57924         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57925         (Makefile.am): Build uniconv.h from uniconv.in.h.
57926         * modules/unictype/base (Files): Use unictype.in.h instead of
57927         unictype.h. Add m4/libunistring-base.m4.
57928         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57929         (Makefile.am): Build unictype.h from unictype.in.h.
57930         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
57931         Add m4/libunistring-base.m4.
57932         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57933         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
57934         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
57935         Add m4/libunistring-base.m4.
57936         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57937         (Makefile.am): Build uniname.h from uniname.in.h.
57938         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
57939         Add m4/libunistring-base.m4.
57940         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57941         (Makefile.am): Build uninorm.h from uninorm.in.h.
57942         * modules/unistdio/base (Files): Use unistdio.in.h instead of
57943         unistdio.h. Add m4/libunistring-base.m4.
57944         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57945         (Makefile.am): Build unistdio.h from unistdio.in.h.
57946         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
57947         Add m4/libunistring-base.m4.
57948         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57949         (Makefile.am): Build unistr.h from unistr.in.h.
57950         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
57951         Add m4/libunistring-base.m4.
57952         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57953         (Makefile.am): Build unitypes.h from unitypes.in.h.
57954         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
57955         Add m4/libunistring-base.m4.
57956         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57957         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
57958         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
57959         uniwidth.h. Add m4/libunistring-base.m4.
57960         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
57961         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
57962         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
57963         instead of augmenting lib_SOURCES.
57964         * modules/unicase/empty-suffix-context: Likewise.
57965         * modules/unicase/locale-language: Likewise.
57966         * modules/unicase/tolower: Likewise.
57967         * modules/unicase/totitle: Likewise.
57968         * modules/unicase/toupper: Likewise.
57969         * modules/unicase/u8-casecmp: Likewise.
57970         * modules/unicase/u8-casecoll: Likewise.
57971         * modules/unicase/u8-casefold: Likewise.
57972         * modules/unicase/u8-casexfrm: Likewise.
57973         * modules/unicase/u8-ct-casefold: Likewise.
57974         * modules/unicase/u8-ct-tolower: Likewise.
57975         * modules/unicase/u8-ct-totitle: Likewise.
57976         * modules/unicase/u8-ct-toupper: Likewise.
57977         * modules/unicase/u8-is-cased: Likewise.
57978         * modules/unicase/u8-is-casefolded: Likewise.
57979         * modules/unicase/u8-is-lowercase: Likewise.
57980         * modules/unicase/u8-is-titlecase: Likewise.
57981         * modules/unicase/u8-is-uppercase: Likewise.
57982         * modules/unicase/u8-prefix-context: Likewise.
57983         * modules/unicase/u8-suffix-context: Likewise.
57984         * modules/unicase/u8-tolower: Likewise.
57985         * modules/unicase/u8-totitle: Likewise.
57986         * modules/unicase/u8-toupper: Likewise.
57987         * modules/unicase/u16-casecmp: Likewise.
57988         * modules/unicase/u16-casecoll: Likewise.
57989         * modules/unicase/u16-casefold: Likewise.
57990         * modules/unicase/u16-casexfrm: Likewise.
57991         * modules/unicase/u16-ct-casefold: Likewise.
57992         * modules/unicase/u16-ct-tolower: Likewise.
57993         * modules/unicase/u16-ct-totitle: Likewise.
57994         * modules/unicase/u16-ct-toupper: Likewise.
57995         * modules/unicase/u16-is-cased: Likewise.
57996         * modules/unicase/u16-is-casefolded: Likewise.
57997         * modules/unicase/u16-is-lowercase: Likewise.
57998         * modules/unicase/u16-is-titlecase: Likewise.
57999         * modules/unicase/u16-is-uppercase: Likewise.
58000         * modules/unicase/u16-prefix-context: Likewise.
58001         * modules/unicase/u16-suffix-context: Likewise.
58002         * modules/unicase/u16-tolower: Likewise.
58003         * modules/unicase/u16-totitle: Likewise.
58004         * modules/unicase/u16-toupper: Likewise.
58005         * modules/unicase/u32-casecmp: Likewise.
58006         * modules/unicase/u32-casecoll: Likewise.
58007         * modules/unicase/u32-casefold: Likewise.
58008         * modules/unicase/u32-casexfrm: Likewise.
58009         * modules/unicase/u32-ct-casefold: Likewise.
58010         * modules/unicase/u32-ct-tolower: Likewise.
58011         * modules/unicase/u32-ct-totitle: Likewise.
58012         * modules/unicase/u32-ct-toupper: Likewise.
58013         * modules/unicase/u32-is-cased: Likewise.
58014         * modules/unicase/u32-is-casefolded: Likewise.
58015         * modules/unicase/u32-is-lowercase: Likewise.
58016         * modules/unicase/u32-is-titlecase: Likewise.
58017         * modules/unicase/u32-is-uppercase: Likewise.
58018         * modules/unicase/u32-prefix-context: Likewise.
58019         * modules/unicase/u32-suffix-context: Likewise.
58020         * modules/unicase/u32-tolower: Likewise.
58021         * modules/unicase/u32-totitle: Likewise.
58022         * modules/unicase/u32-toupper: Likewise.
58023         * modules/unicase/ulc-casecmp: Likewise.
58024         * modules/unicase/ulc-casecoll: Likewise.
58025         * modules/unicase/ulc-casexfrm: Likewise.
58026         * modules/uniconv/u8-conv-from-enc: Likewise.
58027         * modules/uniconv/u8-conv-to-enc: Likewise.
58028         * modules/uniconv/u8-strconv-from-enc: Likewise.
58029         * modules/uniconv/u8-strconv-from-locale: Likewise.
58030         * modules/uniconv/u8-strconv-to-enc: Likewise.
58031         * modules/uniconv/u8-strconv-to-locale: Likewise.
58032         * modules/uniconv/u16-conv-from-enc: Likewise.
58033         * modules/uniconv/u16-conv-to-enc: Likewise.
58034         * modules/uniconv/u16-strconv-from-enc: Likewise.
58035         * modules/uniconv/u16-strconv-from-locale: Likewise.
58036         * modules/uniconv/u16-strconv-to-enc: Likewise.
58037         * modules/uniconv/u16-strconv-to-locale: Likewise.
58038         * modules/uniconv/u32-conv-from-enc: Likewise.
58039         * modules/uniconv/u32-conv-to-enc: Likewise.
58040         * modules/uniconv/u32-strconv-from-enc: Likewise.
58041         * modules/uniconv/u32-strconv-from-locale: Likewise.
58042         * modules/uniconv/u32-strconv-to-enc: Likewise.
58043         * modules/uniconv/u32-strconv-to-locale: Likewise.
58044         * modules/unictype/bidicategory-byname: Likewise.
58045         * modules/unictype/bidicategory-name: Likewise.
58046         * modules/unictype/bidicategory-of: Likewise.
58047         * modules/unictype/bidicategory-test: Likewise.
58048         * modules/unictype/block-list: Likewise.
58049         * modules/unictype/block-test: Likewise.
58050         * modules/unictype/category-C: Likewise.
58051         * modules/unictype/category-Cc: Likewise.
58052         * modules/unictype/category-Cf: Likewise.
58053         * modules/unictype/category-Cn: Likewise.
58054         * modules/unictype/category-Co: Likewise.
58055         * modules/unictype/category-Cs: Likewise.
58056         * modules/unictype/category-L: Likewise.
58057         * modules/unictype/category-Ll: Likewise.
58058         * modules/unictype/category-Lm: Likewise.
58059         * modules/unictype/category-Lo: Likewise.
58060         * modules/unictype/category-Lt: Likewise.
58061         * modules/unictype/category-Lu: Likewise.
58062         * modules/unictype/category-M: Likewise.
58063         * modules/unictype/category-Mc: Likewise.
58064         * modules/unictype/category-Me: Likewise.
58065         * modules/unictype/category-Mn: Likewise.
58066         * modules/unictype/category-N: Likewise.
58067         * modules/unictype/category-Nd: Likewise.
58068         * modules/unictype/category-Nl: Likewise.
58069         * modules/unictype/category-No: Likewise.
58070         * modules/unictype/category-P: Likewise.
58071         * modules/unictype/category-Pc: Likewise.
58072         * modules/unictype/category-Pd: Likewise.
58073         * modules/unictype/category-Pe: Likewise.
58074         * modules/unictype/category-Pf: Likewise.
58075         * modules/unictype/category-Pi: Likewise.
58076         * modules/unictype/category-Po: Likewise.
58077         * modules/unictype/category-Ps: Likewise.
58078         * modules/unictype/category-S: Likewise.
58079         * modules/unictype/category-Sc: Likewise.
58080         * modules/unictype/category-Sk: Likewise.
58081         * modules/unictype/category-Sm: Likewise.
58082         * modules/unictype/category-So: Likewise.
58083         * modules/unictype/category-Z: Likewise.
58084         * modules/unictype/category-Zl: Likewise.
58085         * modules/unictype/category-Zp: Likewise.
58086         * modules/unictype/category-Zs: Likewise.
58087         * modules/unictype/category-and: Likewise.
58088         * modules/unictype/category-and-not: Likewise.
58089         * modules/unictype/category-byname: Likewise.
58090         * modules/unictype/category-name: Likewise.
58091         * modules/unictype/category-none: Likewise.
58092         * modules/unictype/category-of: Likewise.
58093         * modules/unictype/category-or: Likewise.
58094         * modules/unictype/category-test: Likewise.
58095         * modules/unictype/combining-class: Likewise.
58096         * modules/unictype/ctype-alnum: Likewise.
58097         * modules/unictype/ctype-alpha: Likewise.
58098         * modules/unictype/ctype-blank: Likewise.
58099         * modules/unictype/ctype-cntrl: Likewise.
58100         * modules/unictype/ctype-digit: Likewise.
58101         * modules/unictype/ctype-graph: Likewise.
58102         * modules/unictype/ctype-lower: Likewise.
58103         * modules/unictype/ctype-print: Likewise.
58104         * modules/unictype/ctype-punct: Likewise.
58105         * modules/unictype/ctype-space: Likewise.
58106         * modules/unictype/ctype-upper: Likewise.
58107         * modules/unictype/ctype-xdigit: Likewise.
58108         * modules/unictype/decimal-digit: Likewise.
58109         * modules/unictype/digit: Likewise.
58110         * modules/unictype/mirror: Likewise.
58111         * modules/unictype/numeric: Likewise.
58112         * modules/unictype/property-alphabetic: Likewise.
58113         * modules/unictype/property-ascii-hex-digit: Likewise.
58114         * modules/unictype/property-bidi-arabic-digit: Likewise.
58115         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
58116         * modules/unictype/property-bidi-block-separator: Likewise.
58117         * modules/unictype/property-bidi-boundary-neutral: Likewise.
58118         * modules/unictype/property-bidi-common-separator: Likewise.
58119         * modules/unictype/property-bidi-control: Likewise.
58120         * modules/unictype/property-bidi-embedding-or-override: Likewise.
58121         * modules/unictype/property-bidi-eur-num-separator: Likewise.
58122         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
58123         * modules/unictype/property-bidi-european-digit: Likewise.
58124         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
58125         * modules/unictype/property-bidi-left-to-right: Likewise.
58126         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
58127         * modules/unictype/property-bidi-other-neutral: Likewise.
58128         * modules/unictype/property-bidi-pdf: Likewise.
58129         * modules/unictype/property-bidi-segment-separator: Likewise.
58130         * modules/unictype/property-bidi-whitespace: Likewise.
58131         * modules/unictype/property-byname: Likewise.
58132         * modules/unictype/property-combining: Likewise.
58133         * modules/unictype/property-composite: Likewise.
58134         * modules/unictype/property-currency-symbol: Likewise.
58135         * modules/unictype/property-dash: Likewise.
58136         * modules/unictype/property-decimal-digit: Likewise.
58137         * modules/unictype/property-default-ignorable-code-point: Likewise.
58138         * modules/unictype/property-deprecated: Likewise.
58139         * modules/unictype/property-diacritic: Likewise.
58140         * modules/unictype/property-extender: Likewise.
58141         * modules/unictype/property-format-control: Likewise.
58142         * modules/unictype/property-grapheme-base: Likewise.
58143         * modules/unictype/property-grapheme-extend: Likewise.
58144         * modules/unictype/property-grapheme-link: Likewise.
58145         * modules/unictype/property-hex-digit: Likewise.
58146         * modules/unictype/property-hyphen: Likewise.
58147         * modules/unictype/property-id-continue: Likewise.
58148         * modules/unictype/property-id-start: Likewise.
58149         * modules/unictype/property-ideographic: Likewise.
58150         * modules/unictype/property-ids-binary-operator: Likewise.
58151         * modules/unictype/property-ids-trinary-operator: Likewise.
58152         * modules/unictype/property-ignorable-control: Likewise.
58153         * modules/unictype/property-iso-control: Likewise.
58154         * modules/unictype/property-join-control: Likewise.
58155         * modules/unictype/property-left-of-pair: Likewise.
58156         * modules/unictype/property-line-separator: Likewise.
58157         * modules/unictype/property-logical-order-exception: Likewise.
58158         * modules/unictype/property-lowercase: Likewise.
58159         * modules/unictype/property-math: Likewise.
58160         * modules/unictype/property-non-break: Likewise.
58161         * modules/unictype/property-not-a-character: Likewise.
58162         * modules/unictype/property-numeric: Likewise.
58163         * modules/unictype/property-other-alphabetic: Likewise.
58164         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
58165         * modules/unictype/property-other-grapheme-extend: Likewise.
58166         * modules/unictype/property-other-id-continue: Likewise.
58167         * modules/unictype/property-other-id-start: Likewise.
58168         * modules/unictype/property-other-lowercase: Likewise.
58169         * modules/unictype/property-other-math: Likewise.
58170         * modules/unictype/property-other-uppercase: Likewise.
58171         * modules/unictype/property-paired-punctuation: Likewise.
58172         * modules/unictype/property-paragraph-separator: Likewise.
58173         * modules/unictype/property-pattern-syntax: Likewise.
58174         * modules/unictype/property-pattern-white-space: Likewise.
58175         * modules/unictype/property-private-use: Likewise.
58176         * modules/unictype/property-punctuation: Likewise.
58177         * modules/unictype/property-quotation-mark: Likewise.
58178         * modules/unictype/property-radical: Likewise.
58179         * modules/unictype/property-sentence-terminal: Likewise.
58180         * modules/unictype/property-soft-dotted: Likewise.
58181         * modules/unictype/property-space: Likewise.
58182         * modules/unictype/property-terminal-punctuation: Likewise.
58183         * modules/unictype/property-test: Likewise.
58184         * modules/unictype/property-titlecase: Likewise.
58185         * modules/unictype/property-unassigned-code-value: Likewise.
58186         * modules/unictype/property-unified-ideograph: Likewise.
58187         * modules/unictype/property-uppercase: Likewise.
58188         * modules/unictype/property-variation-selector: Likewise.
58189         * modules/unictype/property-white-space: Likewise.
58190         * modules/unictype/property-xid-continue: Likewise.
58191         * modules/unictype/property-xid-start: Likewise.
58192         * modules/unictype/property-zero-width: Likewise.
58193         * modules/unictype/scripts: Likewise.
58194         * modules/unictype/syntax-c-ident: Likewise.
58195         * modules/unictype/syntax-c-whitespace: Likewise.
58196         * modules/unictype/syntax-java-ident: Likewise.
58197         * modules/unictype/syntax-java-whitespace: Likewise.
58198         * modules/unilbrk/u8-possible-linebreaks: Likewise.
58199         * modules/unilbrk/u8-width-linebreaks: Likewise.
58200         * modules/unilbrk/u16-possible-linebreaks: Likewise.
58201         * modules/unilbrk/u16-width-linebreaks: Likewise.
58202         * modules/unilbrk/u32-possible-linebreaks: Likewise.
58203         * modules/unilbrk/u32-width-linebreaks: Likewise.
58204         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
58205         * modules/unilbrk/ulc-width-linebreaks: Likewise.
58206         * modules/uniname/uniname: Likewise.
58207         * modules/uninorm/canonical-decomposition: Likewise.
58208         * modules/uninorm/composition: Likewise.
58209         * modules/uninorm/decomposing-form: Likewise.
58210         * modules/uninorm/decomposition: Likewise.
58211         * modules/uninorm/filter: Likewise.
58212         * modules/uninorm/nfc: Likewise.
58213         * modules/uninorm/nfd: Likewise.
58214         * modules/uninorm/nfkc: Likewise.
58215         * modules/uninorm/nfkd: Likewise.
58216         * modules/uninorm/u8-normalize: Likewise.
58217         * modules/uninorm/u8-normcmp: Likewise.
58218         * modules/uninorm/u8-normcoll: Likewise.
58219         * modules/uninorm/u8-normxfrm: Likewise.
58220         * modules/uninorm/u16-normalize: Likewise.
58221         * modules/uninorm/u16-normcmp: Likewise.
58222         * modules/uninorm/u16-normcoll: Likewise.
58223         * modules/uninorm/u16-normxfrm: Likewise.
58224         * modules/uninorm/u32-normalize: Likewise.
58225         * modules/uninorm/u32-normcmp: Likewise.
58226         * modules/uninorm/u32-normcoll: Likewise.
58227         * modules/uninorm/u32-normxfrm: Likewise.
58228         * modules/unistdio/u8-asnprintf: Likewise.
58229         * modules/unistdio/u8-asprintf: Likewise.
58230         * modules/unistdio/u8-snprintf: Likewise.
58231         * modules/unistdio/u8-sprintf: Likewise.
58232         * modules/unistdio/u8-u8-asnprintf: Likewise.
58233         * modules/unistdio/u8-u8-asprintf: Likewise.
58234         * modules/unistdio/u8-u8-snprintf: Likewise.
58235         * modules/unistdio/u8-u8-sprintf: Likewise.
58236         * modules/unistdio/u8-u8-vasnprintf: Likewise.
58237         * modules/unistdio/u8-u8-vasprintf: Likewise.
58238         * modules/unistdio/u8-u8-vsnprintf: Likewise.
58239         * modules/unistdio/u8-u8-vsprintf: Likewise.
58240         * modules/unistdio/u8-vasnprintf: Likewise.
58241         * modules/unistdio/u8-vasprintf: Likewise.
58242         * modules/unistdio/u8-vsnprintf: Likewise.
58243         * modules/unistdio/u8-vsprintf: Likewise.
58244         * modules/unistdio/u16-asnprintf: Likewise.
58245         * modules/unistdio/u16-asprintf: Likewise.
58246         * modules/unistdio/u16-snprintf: Likewise.
58247         * modules/unistdio/u16-sprintf: Likewise.
58248         * modules/unistdio/u16-u16-asnprintf: Likewise.
58249         * modules/unistdio/u16-u16-asprintf: Likewise.
58250         * modules/unistdio/u16-u16-snprintf: Likewise.
58251         * modules/unistdio/u16-u16-sprintf: Likewise.
58252         * modules/unistdio/u16-u16-vasnprintf: Likewise.
58253         * modules/unistdio/u16-u16-vasprintf: Likewise.
58254         * modules/unistdio/u16-u16-vsnprintf: Likewise.
58255         * modules/unistdio/u16-u16-vsprintf: Likewise.
58256         * modules/unistdio/u16-vasnprintf: Likewise.
58257         * modules/unistdio/u16-vasprintf: Likewise.
58258         * modules/unistdio/u16-vsnprintf: Likewise.
58259         * modules/unistdio/u16-vsprintf: Likewise.
58260         * modules/unistdio/u32-asnprintf: Likewise.
58261         * modules/unistdio/u32-asprintf: Likewise.
58262         * modules/unistdio/u32-snprintf: Likewise.
58263         * modules/unistdio/u32-sprintf: Likewise.
58264         * modules/unistdio/u32-u32-asnprintf: Likewise.
58265         * modules/unistdio/u32-u32-asprintf: Likewise.
58266         * modules/unistdio/u32-u32-snprintf: Likewise.
58267         * modules/unistdio/u32-u32-sprintf: Likewise.
58268         * modules/unistdio/u32-u32-vasnprintf: Likewise.
58269         * modules/unistdio/u32-u32-vasprintf: Likewise.
58270         * modules/unistdio/u32-u32-vsnprintf: Likewise.
58271         * modules/unistdio/u32-u32-vsprintf: Likewise.
58272         * modules/unistdio/u32-vasnprintf: Likewise.
58273         * modules/unistdio/u32-vasprintf: Likewise.
58274         * modules/unistdio/u32-vsnprintf: Likewise.
58275         * modules/unistdio/u32-vsprintf: Likewise.
58276         * modules/unistdio/ulc-asnprintf: Likewise.
58277         * modules/unistdio/ulc-asprintf: Likewise.
58278         * modules/unistdio/ulc-fprintf: Likewise.
58279         * modules/unistdio/ulc-snprintf: Likewise.
58280         * modules/unistdio/ulc-sprintf: Likewise.
58281         * modules/unistdio/ulc-vasnprintf: Likewise.
58282         * modules/unistdio/ulc-vasprintf: Likewise.
58283         * modules/unistdio/ulc-vfprintf: Likewise.
58284         * modules/unistdio/ulc-vsnprintf: Likewise.
58285         * modules/unistdio/ulc-vsprintf: Likewise.
58286         * modules/unistr/u8-check: Likewise.
58287         * modules/unistr/u8-chr: Likewise.
58288         * modules/unistr/u8-cmp: Likewise.
58289         * modules/unistr/u8-cmp2: Likewise.
58290         * modules/unistr/u8-cpy: Likewise.
58291         * modules/unistr/u8-cpy-alloc: Likewise.
58292         * modules/unistr/u8-endswith: Likewise.
58293         * modules/unistr/u8-mblen: Likewise.
58294         * modules/unistr/u8-mbsnlen: Likewise.
58295         * modules/unistr/u8-mbtouc: Likewise.
58296         * modules/unistr/u8-mbtouc-unsafe: Likewise.
58297         * modules/unistr/u8-mbtoucr: Likewise.
58298         * modules/unistr/u8-move: Likewise.
58299         * modules/unistr/u8-next: Likewise.
58300         * modules/unistr/u8-prev: Likewise.
58301         * modules/unistr/u8-set: Likewise.
58302         * modules/unistr/u8-startswith: Likewise.
58303         * modules/unistr/u8-stpcpy: Likewise.
58304         * modules/unistr/u8-stpncpy: Likewise.
58305         * modules/unistr/u8-strcat: Likewise.
58306         * modules/unistr/u8-strchr: Likewise.
58307         * modules/unistr/u8-strcmp: Likewise.
58308         * modules/unistr/u8-strcoll: Likewise.
58309         * modules/unistr/u8-strcpy: Likewise.
58310         * modules/unistr/u8-strcspn: Likewise.
58311         * modules/unistr/u8-strdup: Likewise.
58312         * modules/unistr/u8-strlen: Likewise.
58313         * modules/unistr/u8-strmblen: Likewise.
58314         * modules/unistr/u8-strmbtouc: Likewise.
58315         * modules/unistr/u8-strncat: Likewise.
58316         * modules/unistr/u8-strncmp: Likewise.
58317         * modules/unistr/u8-strncpy: Likewise.
58318         * modules/unistr/u8-strnlen: Likewise.
58319         * modules/unistr/u8-strpbrk: Likewise.
58320         * modules/unistr/u8-strrchr: Likewise.
58321         * modules/unistr/u8-strspn: Likewise.
58322         * modules/unistr/u8-strstr: Likewise.
58323         * modules/unistr/u8-strtok: Likewise.
58324         * modules/unistr/u8-to-u16: Likewise.
58325         * modules/unistr/u8-to-u32: Likewise.
58326         * modules/unistr/u8-uctomb: Likewise.
58327         * modules/unistr/u16-check: Likewise.
58328         * modules/unistr/u16-chr: Likewise.
58329         * modules/unistr/u16-cmp: Likewise.
58330         * modules/unistr/u16-cmp2: Likewise.
58331         * modules/unistr/u16-cpy: Likewise.
58332         * modules/unistr/u16-cpy-alloc: Likewise.
58333         * modules/unistr/u16-endswith: Likewise.
58334         * modules/unistr/u16-mblen: Likewise.
58335         * modules/unistr/u16-mbsnlen: Likewise.
58336         * modules/unistr/u16-mbtouc: Likewise.
58337         * modules/unistr/u16-mbtouc-unsafe: Likewise.
58338         * modules/unistr/u16-mbtoucr: Likewise.
58339         * modules/unistr/u16-move: Likewise.
58340         * modules/unistr/u16-next: Likewise.
58341         * modules/unistr/u16-prev: Likewise.
58342         * modules/unistr/u16-set: Likewise.
58343         * modules/unistr/u16-startswith: Likewise.
58344         * modules/unistr/u16-stpcpy: Likewise.
58345         * modules/unistr/u16-stpncpy: Likewise.
58346         * modules/unistr/u16-strcat: Likewise.
58347         * modules/unistr/u16-strchr: Likewise.
58348         * modules/unistr/u16-strcmp: Likewise.
58349         * modules/unistr/u16-strcoll: Likewise.
58350         * modules/unistr/u16-strcpy: Likewise.
58351         * modules/unistr/u16-strcspn: Likewise.
58352         * modules/unistr/u16-strdup: Likewise.
58353         * modules/unistr/u16-strlen: Likewise.
58354         * modules/unistr/u16-strmblen: Likewise.
58355         * modules/unistr/u16-strmbtouc: Likewise.
58356         * modules/unistr/u16-strncat: Likewise.
58357         * modules/unistr/u16-strncmp: Likewise.
58358         * modules/unistr/u16-strncpy: Likewise.
58359         * modules/unistr/u16-strnlen: Likewise.
58360         * modules/unistr/u16-strpbrk: Likewise.
58361         * modules/unistr/u16-strrchr: Likewise.
58362         * modules/unistr/u16-strspn: Likewise.
58363         * modules/unistr/u16-strstr: Likewise.
58364         * modules/unistr/u16-strtok: Likewise.
58365         * modules/unistr/u16-to-u32: Likewise.
58366         * modules/unistr/u16-to-u8: Likewise.
58367         * modules/unistr/u16-uctomb: Likewise.
58368         * modules/unistr/u32-check: Likewise.
58369         * modules/unistr/u32-chr: Likewise.
58370         * modules/unistr/u32-cmp: Likewise.
58371         * modules/unistr/u32-cmp2: Likewise.
58372         * modules/unistr/u32-cpy: Likewise.
58373         * modules/unistr/u32-cpy-alloc: Likewise.
58374         * modules/unistr/u32-endswith: Likewise.
58375         * modules/unistr/u32-mblen: Likewise.
58376         * modules/unistr/u32-mbsnlen: Likewise.
58377         * modules/unistr/u32-mbtouc: Likewise.
58378         * modules/unistr/u32-mbtouc-unsafe: Likewise.
58379         * modules/unistr/u32-mbtoucr: Likewise.
58380         * modules/unistr/u32-move: Likewise.
58381         * modules/unistr/u32-next: Likewise.
58382         * modules/unistr/u32-prev: Likewise.
58383         * modules/unistr/u32-set: Likewise.
58384         * modules/unistr/u32-startswith: Likewise.
58385         * modules/unistr/u32-stpcpy: Likewise.
58386         * modules/unistr/u32-stpncpy: Likewise.
58387         * modules/unistr/u32-strcat: Likewise.
58388         * modules/unistr/u32-strchr: Likewise.
58389         * modules/unistr/u32-strcmp: Likewise.
58390         * modules/unistr/u32-strcoll: Likewise.
58391         * modules/unistr/u32-strcpy: Likewise.
58392         * modules/unistr/u32-strcspn: Likewise.
58393         * modules/unistr/u32-strdup: Likewise.
58394         * modules/unistr/u32-strlen: Likewise.
58395         * modules/unistr/u32-strmblen: Likewise.
58396         * modules/unistr/u32-strmbtouc: Likewise.
58397         * modules/unistr/u32-strncat: Likewise.
58398         * modules/unistr/u32-strncmp: Likewise.
58399         * modules/unistr/u32-strncpy: Likewise.
58400         * modules/unistr/u32-strnlen: Likewise.
58401         * modules/unistr/u32-strpbrk: Likewise.
58402         * modules/unistr/u32-strrchr: Likewise.
58403         * modules/unistr/u32-strspn: Likewise.
58404         * modules/unistr/u32-strstr: Likewise.
58405         * modules/unistr/u32-strtok: Likewise.
58406         * modules/unistr/u32-to-u16: Likewise.
58407         * modules/unistr/u32-to-u8: Likewise.
58408         * modules/unistr/u32-uctomb: Likewise.
58409         * modules/uniwbrk/u8-wordbreaks: Likewise.
58410         * modules/uniwbrk/u16-wordbreaks: Likewise.
58411         * modules/uniwbrk/u32-wordbreaks: Likewise.
58412         * modules/uniwbrk/ulc-wordbreaks: Likewise.
58413         * modules/uniwbrk/wordbreak-property: Likewise.
58414         * modules/uniwidth/u8-strwidth: Likewise.
58415         * modules/uniwidth/u8-width: Likewise.
58416         * modules/uniwidth/u16-strwidth: Likewise.
58417         * modules/uniwidth/u16-width: Likewise.
58418         * modules/uniwidth/u32-strwidth: Likewise.
58419         * modules/uniwidth/u32-width: Likewise.
58420         * modules/uniwidth/width: Likewise.
58421         * modules/unicase/cased-tests (Makefile.am): Link all test programs
58422         with $(LIBUNISTRING).
58423         * modules/unicase/ignorable-tests: Likewise.
58424         * modules/unicase/locale-language-tests: Likewise.
58425         * modules/unicase/tolower-tests: Likewise.
58426         * modules/unicase/totitle-tests: Likewise.
58427         * modules/unicase/toupper-tests: Likewise.
58428         * modules/unicase/u8-casecmp-tests: Likewise.
58429         * modules/unicase/u8-casecoll-tests: Likewise.
58430         * modules/unicase/u8-casefold-tests: Likewise.
58431         * modules/unicase/u8-is-cased-tests: Likewise.
58432         * modules/unicase/u8-is-casefolded-tests: Likewise.
58433         * modules/unicase/u8-is-lowercase-tests: Likewise.
58434         * modules/unicase/u8-is-titlecase-tests: Likewise.
58435         * modules/unicase/u8-is-uppercase-tests: Likewise.
58436         * modules/unicase/u8-tolower-tests: Likewise.
58437         * modules/unicase/u8-totitle-tests: Likewise.
58438         * modules/unicase/u8-toupper-tests: Likewise.
58439         * modules/unicase/u16-casecmp-tests: Likewise.
58440         * modules/unicase/u16-casecoll-tests: Likewise.
58441         * modules/unicase/u16-casefold-tests: Likewise.
58442         * modules/unicase/u16-is-cased-tests: Likewise.
58443         * modules/unicase/u16-is-casefolded-tests: Likewise.
58444         * modules/unicase/u16-is-lowercase-tests: Likewise.
58445         * modules/unicase/u16-is-titlecase-tests: Likewise.
58446         * modules/unicase/u16-is-uppercase-tests: Likewise.
58447         * modules/unicase/u16-tolower-tests: Likewise.
58448         * modules/unicase/u16-totitle-tests: Likewise.
58449         * modules/unicase/u16-toupper-tests: Likewise.
58450         * modules/unicase/u32-casecmp-tests: Likewise.
58451         * modules/unicase/u32-casecoll-tests: Likewise.
58452         * modules/unicase/u32-casefold-tests: Likewise.
58453         * modules/unicase/u32-is-cased-tests: Likewise.
58454         * modules/unicase/u32-is-casefolded-tests: Likewise.
58455         * modules/unicase/u32-is-lowercase-tests: Likewise.
58456         * modules/unicase/u32-is-titlecase-tests: Likewise.
58457         * modules/unicase/u32-is-uppercase-tests: Likewise.
58458         * modules/unicase/u32-tolower-tests: Likewise.
58459         * modules/unicase/u32-totitle-tests: Likewise.
58460         * modules/unicase/u32-toupper-tests: Likewise.
58461         * modules/unicase/ulc-casecmp-tests: Likewise.
58462         * modules/unicase/ulc-casecoll-tests: Likewise.
58463         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
58464         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
58465         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
58466         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
58467         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
58468         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
58469         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
58470         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
58471         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
58472         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
58473         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
58474         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
58475         * modules/unictype/bidicategory-byname-tests: Likewise.
58476         * modules/unictype/bidicategory-name-tests: Likewise.
58477         * modules/unictype/bidicategory-of-tests: Likewise.
58478         * modules/unictype/bidicategory-test-tests: Likewise.
58479         * modules/unictype/block-list-tests: Likewise.
58480         * modules/unictype/block-of-tests: Likewise.
58481         * modules/unictype/block-test-tests: Likewise.
58482         * modules/unictype/category-C-tests: Likewise.
58483         * modules/unictype/category-Cc-tests: Likewise.
58484         * modules/unictype/category-Cf-tests: Likewise.
58485         * modules/unictype/category-Cn-tests: Likewise.
58486         * modules/unictype/category-Co-tests: Likewise.
58487         * modules/unictype/category-Cs-tests: Likewise.
58488         * modules/unictype/category-L-tests: Likewise.
58489         * modules/unictype/category-Ll-tests: Likewise.
58490         * modules/unictype/category-Lm-tests: Likewise.
58491         * modules/unictype/category-Lo-tests: Likewise.
58492         * modules/unictype/category-Lt-tests: Likewise.
58493         * modules/unictype/category-Lu-tests: Likewise.
58494         * modules/unictype/category-M-tests: Likewise.
58495         * modules/unictype/category-Mc-tests: Likewise.
58496         * modules/unictype/category-Me-tests: Likewise.
58497         * modules/unictype/category-Mn-tests: Likewise.
58498         * modules/unictype/category-N-tests: Likewise.
58499         * modules/unictype/category-Nd-tests: Likewise.
58500         * modules/unictype/category-Nl-tests: Likewise.
58501         * modules/unictype/category-No-tests: Likewise.
58502         * modules/unictype/category-P-tests: Likewise.
58503         * modules/unictype/category-Pc-tests: Likewise.
58504         * modules/unictype/category-Pd-tests: Likewise.
58505         * modules/unictype/category-Pe-tests: Likewise.
58506         * modules/unictype/category-Pf-tests: Likewise.
58507         * modules/unictype/category-Pi-tests: Likewise.
58508         * modules/unictype/category-Po-tests: Likewise.
58509         * modules/unictype/category-Ps-tests: Likewise.
58510         * modules/unictype/category-S-tests: Likewise.
58511         * modules/unictype/category-Sc-tests: Likewise.
58512         * modules/unictype/category-Sk-tests: Likewise.
58513         * modules/unictype/category-Sm-tests: Likewise.
58514         * modules/unictype/category-So-tests: Likewise.
58515         * modules/unictype/category-Z-tests: Likewise.
58516         * modules/unictype/category-Zl-tests: Likewise.
58517         * modules/unictype/category-Zp-tests: Likewise.
58518         * modules/unictype/category-Zs-tests: Likewise.
58519         * modules/unictype/category-and-not-tests: Likewise.
58520         * modules/unictype/category-and-tests: Likewise.
58521         * modules/unictype/category-byname-tests: Likewise.
58522         * modules/unictype/category-name-tests: Likewise.
58523         * modules/unictype/category-none-tests: Likewise.
58524         * modules/unictype/category-of-tests: Likewise.
58525         * modules/unictype/category-or-tests: Likewise.
58526         * modules/unictype/category-test-withtable-tests: Likewise.
58527         * modules/unictype/combining-class-tests: Likewise.
58528         * modules/unictype/ctype-alnum-tests: Likewise.
58529         * modules/unictype/ctype-alpha-tests: Likewise.
58530         * modules/unictype/ctype-blank-tests: Likewise.
58531         * modules/unictype/ctype-cntrl-tests: Likewise.
58532         * modules/unictype/ctype-digit-tests: Likewise.
58533         * modules/unictype/ctype-graph-tests: Likewise.
58534         * modules/unictype/ctype-lower-tests: Likewise.
58535         * modules/unictype/ctype-print-tests: Likewise.
58536         * modules/unictype/ctype-punct-tests: Likewise.
58537         * modules/unictype/ctype-space-tests: Likewise.
58538         * modules/unictype/ctype-upper-tests: Likewise.
58539         * modules/unictype/ctype-xdigit-tests: Likewise.
58540         * modules/unictype/decimal-digit-tests: Likewise.
58541         * modules/unictype/digit-tests: Likewise.
58542         * modules/unictype/mirror-tests: Likewise.
58543         * modules/unictype/numeric-tests: Likewise.
58544         * modules/unictype/property-alphabetic-tests: Likewise.
58545         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
58546         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
58547         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
58548         * modules/unictype/property-bidi-block-separator-tests: Likewise.
58549         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
58550         * modules/unictype/property-bidi-common-separator-tests: Likewise.
58551         * modules/unictype/property-bidi-control-tests: Likewise.
58552         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
58553         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
58554         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
58555         * modules/unictype/property-bidi-european-digit-tests: Likewise.
58556         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
58557         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
58558         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
58559         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
58560         * modules/unictype/property-bidi-pdf-tests: Likewise.
58561         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
58562         * modules/unictype/property-bidi-whitespace-tests: Likewise.
58563         * modules/unictype/property-byname-tests: Likewise.
58564         * modules/unictype/property-combining-tests: Likewise.
58565         * modules/unictype/property-composite-tests: Likewise.
58566         * modules/unictype/property-currency-symbol-tests: Likewise.
58567         * modules/unictype/property-dash-tests: Likewise.
58568         * modules/unictype/property-decimal-digit-tests: Likewise.
58569         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
58570         * modules/unictype/property-deprecated-tests: Likewise.
58571         * modules/unictype/property-diacritic-tests: Likewise.
58572         * modules/unictype/property-extender-tests: Likewise.
58573         * modules/unictype/property-format-control-tests: Likewise.
58574         * modules/unictype/property-grapheme-base-tests: Likewise.
58575         * modules/unictype/property-grapheme-extend-tests: Likewise.
58576         * modules/unictype/property-grapheme-link-tests: Likewise.
58577         * modules/unictype/property-hex-digit-tests: Likewise.
58578         * modules/unictype/property-hyphen-tests: Likewise.
58579         * modules/unictype/property-id-continue-tests: Likewise.
58580         * modules/unictype/property-id-start-tests: Likewise.
58581         * modules/unictype/property-ideographic-tests: Likewise.
58582         * modules/unictype/property-ids-binary-operator-tests: Likewise.
58583         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
58584         * modules/unictype/property-ignorable-control-tests: Likewise.
58585         * modules/unictype/property-iso-control-tests: Likewise.
58586         * modules/unictype/property-join-control-tests: Likewise.
58587         * modules/unictype/property-left-of-pair-tests: Likewise.
58588         * modules/unictype/property-line-separator-tests: Likewise.
58589         * modules/unictype/property-logical-order-exception-tests: Likewise.
58590         * modules/unictype/property-lowercase-tests: Likewise.
58591         * modules/unictype/property-math-tests: Likewise.
58592         * modules/unictype/property-non-break-tests: Likewise.
58593         * modules/unictype/property-not-a-character-tests: Likewise.
58594         * modules/unictype/property-numeric-tests: Likewise.
58595         * modules/unictype/property-other-alphabetic-tests: Likewise.
58596         * modules/unictype/property-other-default-ignorable-code-point-tests:
58597         Likewise.
58598         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
58599         * modules/unictype/property-other-id-continue-tests: Likewise.
58600         * modules/unictype/property-other-id-start-tests: Likewise.
58601         * modules/unictype/property-other-lowercase-tests: Likewise.
58602         * modules/unictype/property-other-math-tests: Likewise.
58603         * modules/unictype/property-other-uppercase-tests: Likewise.
58604         * modules/unictype/property-paired-punctuation-tests: Likewise.
58605         * modules/unictype/property-paragraph-separator-tests: Likewise.
58606         * modules/unictype/property-pattern-syntax-tests: Likewise.
58607         * modules/unictype/property-pattern-white-space-tests: Likewise.
58608         * modules/unictype/property-private-use-tests: Likewise.
58609         * modules/unictype/property-punctuation-tests: Likewise.
58610         * modules/unictype/property-quotation-mark-tests: Likewise.
58611         * modules/unictype/property-radical-tests: Likewise.
58612         * modules/unictype/property-sentence-terminal-tests: Likewise.
58613         * modules/unictype/property-soft-dotted-tests: Likewise.
58614         * modules/unictype/property-space-tests: Likewise.
58615         * modules/unictype/property-terminal-punctuation-tests: Likewise.
58616         * modules/unictype/property-test-tests: Likewise.
58617         * modules/unictype/property-titlecase-tests: Likewise.
58618         * modules/unictype/property-unassigned-code-value-tests: Likewise.
58619         * modules/unictype/property-unified-ideograph-tests: Likewise.
58620         * modules/unictype/property-uppercase-tests: Likewise.
58621         * modules/unictype/property-variation-selector-tests: Likewise.
58622         * modules/unictype/property-white-space-tests: Likewise.
58623         * modules/unictype/property-xid-continue-tests: Likewise.
58624         * modules/unictype/property-xid-start-tests: Likewise.
58625         * modules/unictype/property-zero-width-tests: Likewise.
58626         * modules/unictype/scripts-tests: Likewise.
58627         * modules/unictype/syntax-c-ident-tests: Likewise.
58628         * modules/unictype/syntax-c-whitespace-tests: Likewise.
58629         * modules/unictype/syntax-java-ident-tests: Likewise.
58630         * modules/unictype/syntax-java-whitespace-tests: Likewise.
58631         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
58632         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
58633         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
58634         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
58635         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
58636         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
58637         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
58638         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
58639         * modules/uniname/uniname-tests: Likewise.
58640         * modules/uninorm/canonical-decomposition-tests: Likewise.
58641         * modules/uninorm/compat-decomposition-tests: Likewise.
58642         * modules/uninorm/composition-tests: Likewise.
58643         * modules/uninorm/decomposing-form-tests: Likewise.
58644         * modules/uninorm/decomposition-tests: Likewise.
58645         * modules/uninorm/filter-tests: Likewise.
58646         * modules/uninorm/nfc-tests: Likewise.
58647         * modules/uninorm/nfd-tests: Likewise.
58648         * modules/uninorm/nfkc-tests: Likewise.
58649         * modules/uninorm/nfkd-tests: Likewise.
58650         * modules/uninorm/u8-normcmp-tests: Likewise.
58651         * modules/uninorm/u8-normcoll-tests: Likewise.
58652         * modules/uninorm/u16-normcmp-tests: Likewise.
58653         * modules/uninorm/u16-normcoll-tests: Likewise.
58654         * modules/uninorm/u32-normcmp-tests: Likewise.
58655         * modules/uninorm/u32-normcoll-tests: Likewise.
58656         * modules/unistdio/u8-asnprintf-tests: Likewise.
58657         * modules/unistdio/u8-vasnprintf-tests: Likewise.
58658         * modules/unistdio/u8-vasprintf-tests: Likewise.
58659         * modules/unistdio/u8-vsnprintf-tests: Likewise.
58660         * modules/unistdio/u8-vsprintf-tests: Likewise.
58661         * modules/unistdio/u16-asnprintf-tests: Likewise.
58662         * modules/unistdio/u16-vasnprintf-tests: Likewise.
58663         * modules/unistdio/u16-vasprintf-tests: Likewise.
58664         * modules/unistdio/u16-vsnprintf-tests: Likewise.
58665         * modules/unistdio/u16-vsprintf-tests: Likewise.
58666         * modules/unistdio/u32-asnprintf-tests: Likewise.
58667         * modules/unistdio/u32-vasnprintf-tests: Likewise.
58668         * modules/unistdio/u32-vasprintf-tests: Likewise.
58669         * modules/unistdio/u32-vsnprintf-tests: Likewise.
58670         * modules/unistdio/u32-vsprintf-tests: Likewise.
58671         * modules/unistdio/ulc-asnprintf-tests: Likewise.
58672         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
58673         * modules/unistdio/ulc-vasprintf-tests: Likewise.
58674         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
58675         * modules/unistdio/ulc-vsprintf-tests: Likewise.
58676         * modules/unistr/u8-check-tests: Likewise.
58677         * modules/unistr/u8-chr-tests: Likewise.
58678         * modules/unistr/u8-cmp-tests: Likewise.
58679         * modules/unistr/u8-cmp2-tests: Likewise.
58680         * modules/unistr/u8-cpy-alloc-tests: Likewise.
58681         * modules/unistr/u8-cpy-tests: Likewise.
58682         * modules/unistr/u8-mblen-tests: Likewise.
58683         * modules/unistr/u8-mbsnlen-tests: Likewise.
58684         * modules/unistr/u8-mbtouc-tests: Likewise.
58685         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
58686         * modules/unistr/u8-mbtoucr-tests: Likewise.
58687         * modules/unistr/u8-move-tests: Likewise.
58688         * modules/unistr/u8-next-tests: Likewise.
58689         * modules/unistr/u8-prev-tests: Likewise.
58690         * modules/unistr/u8-set-tests: Likewise.
58691         * modules/unistr/u8-stpcpy-tests: Likewise.
58692         * modules/unistr/u8-stpncpy-tests: Likewise.
58693         * modules/unistr/u8-strcat-tests: Likewise.
58694         * modules/unistr/u8-strcmp-tests: Likewise.
58695         * modules/unistr/u8-strcoll-tests: Likewise.
58696         * modules/unistr/u8-strcpy-tests: Likewise.
58697         * modules/unistr/u8-strdup-tests: Likewise.
58698         * modules/unistr/u8-strlen-tests: Likewise.
58699         * modules/unistr/u8-strmblen-tests: Likewise.
58700         * modules/unistr/u8-strmbtouc-tests: Likewise.
58701         * modules/unistr/u8-strncat-tests: Likewise.
58702         * modules/unistr/u8-strncmp-tests: Likewise.
58703         * modules/unistr/u8-strncpy-tests: Likewise.
58704         * modules/unistr/u8-strnlen-tests: Likewise.
58705         * modules/unistr/u8-to-u16-tests: Likewise.
58706         * modules/unistr/u8-to-u32-tests: Likewise.
58707         * modules/unistr/u8-uctomb-tests: Likewise.
58708         * modules/unistr/u16-check-tests: Likewise.
58709         * modules/unistr/u16-chr-tests: Likewise.
58710         * modules/unistr/u16-cmp-tests: Likewise.
58711         * modules/unistr/u16-cmp2-tests: Likewise.
58712         * modules/unistr/u16-cpy-alloc-tests: Likewise.
58713         * modules/unistr/u16-cpy-tests: Likewise.
58714         * modules/unistr/u16-mblen-tests: Likewise.
58715         * modules/unistr/u16-mbsnlen-tests: Likewise.
58716         * modules/unistr/u16-mbtouc-tests: Likewise.
58717         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
58718         * modules/unistr/u16-mbtoucr-tests: Likewise.
58719         * modules/unistr/u16-move-tests: Likewise.
58720         * modules/unistr/u16-next-tests: Likewise.
58721         * modules/unistr/u16-prev-tests: Likewise.
58722         * modules/unistr/u16-set-tests: Likewise.
58723         * modules/unistr/u16-stpcpy-tests: Likewise.
58724         * modules/unistr/u16-stpncpy-tests: Likewise.
58725         * modules/unistr/u16-strcat-tests: Likewise.
58726         * modules/unistr/u16-strcmp-tests: Likewise.
58727         * modules/unistr/u16-strcoll-tests: Likewise.
58728         * modules/unistr/u16-strcpy-tests: Likewise.
58729         * modules/unistr/u16-strdup-tests: Likewise.
58730         * modules/unistr/u16-strlen-tests: Likewise.
58731         * modules/unistr/u16-strmblen-tests: Likewise.
58732         * modules/unistr/u16-strmbtouc-tests: Likewise.
58733         * modules/unistr/u16-strncat-tests: Likewise.
58734         * modules/unistr/u16-strncmp-tests: Likewise.
58735         * modules/unistr/u16-strncpy-tests: Likewise.
58736         * modules/unistr/u16-strnlen-tests: Likewise.
58737         * modules/unistr/u16-to-u32-tests: Likewise.
58738         * modules/unistr/u16-to-u8-tests: Likewise.
58739         * modules/unistr/u16-uctomb-tests: Likewise.
58740         * modules/unistr/u32-check-tests: Likewise.
58741         * modules/unistr/u32-chr-tests: Likewise.
58742         * modules/unistr/u32-cmp-tests: Likewise.
58743         * modules/unistr/u32-cmp2-tests: Likewise.
58744         * modules/unistr/u32-cpy-alloc-tests: Likewise.
58745         * modules/unistr/u32-cpy-tests: Likewise.
58746         * modules/unistr/u32-mblen-tests: Likewise.
58747         * modules/unistr/u32-mbsnlen-tests: Likewise.
58748         * modules/unistr/u32-mbtouc-tests: Likewise.
58749         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
58750         * modules/unistr/u32-mbtoucr-tests: Likewise.
58751         * modules/unistr/u32-move-tests: Likewise.
58752         * modules/unistr/u32-next-tests: Likewise.
58753         * modules/unistr/u32-prev-tests: Likewise.
58754         * modules/unistr/u32-set-tests: Likewise.
58755         * modules/unistr/u32-stpcpy-tests: Likewise.
58756         * modules/unistr/u32-stpncpy-tests: Likewise.
58757         * modules/unistr/u32-strcat-tests: Likewise.
58758         * modules/unistr/u32-strcmp-tests: Likewise.
58759         * modules/unistr/u32-strcoll-tests: Likewise.
58760         * modules/unistr/u32-strcpy-tests: Likewise.
58761         * modules/unistr/u32-strdup-tests: Likewise.
58762         * modules/unistr/u32-strlen-tests: Likewise.
58763         * modules/unistr/u32-strmblen-tests: Likewise.
58764         * modules/unistr/u32-strmbtouc-tests: Likewise.
58765         * modules/unistr/u32-strncat-tests: Likewise.
58766         * modules/unistr/u32-strncmp-tests: Likewise.
58767         * modules/unistr/u32-strncpy-tests: Likewise.
58768         * modules/unistr/u32-strnlen-tests: Likewise.
58769         * modules/unistr/u32-to-u16-tests: Likewise.
58770         * modules/unistr/u32-to-u8-tests: Likewise.
58771         * modules/unistr/u32-uctomb-tests: Likewise.
58772         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
58773         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
58774         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
58775         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
58776         * modules/uniwidth/u8-strwidth-tests: Likewise.
58777         * modules/uniwidth/u8-width-tests: Likewise.
58778         * modules/uniwidth/u16-strwidth-tests: Likewise.
58779         * modules/uniwidth/u16-width-tests: Likewise.
58780         * modules/uniwidth/u32-strwidth-tests: Likewise.
58781         * modules/uniwidth/u32-width-tests: Likewise.
58782         * modules/uniwidth/width-tests: Likewise.
58784 2010-05-18  Richard Jones  <rjones@redhat.com>
58786         doc: users.txt: list hivex
58787         * users.txt: Add hivex.
58789 2010-05-18  Richard Jones  <rjones@redhat.com>
58791         doc: users.txt: list febootstrap
58792         * users.txt: Add febootstrap.
58794 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
58796         bootstrap: fix an error when gnulib is not used as a git submodule
58797         * build-aux/bootstrap (gnulib_path): If its length is zero then
58798         assign "gnulib" to it.
58799         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
58801 2010-05-16  Bruno Haible  <bruno@clisp.org>
58803         Avoid autoconf warnings about AM_ICONV.
58804         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
58805         2.64.
58807 2010-05-16  Bruno Haible  <bruno@clisp.org>
58809         absolute-header: Make the macro usable in more situations.
58810         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
58811         from gl_ABSOLUTE_HEADER.
58812         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
58814 2010-05-16  James Youngman  <jay@gnu.org>
58816         doc: update users.txt
58817         * users.txt: Add CSSC.
58819 2010-05-16  Jim Meyering  <meyering@redhat.com>
58821         init.sh: fix an error in the previous change; add more comments
58822         * tests/init.sh: Compare exit code in loop against 9, not 2.
58823         Patch by Bruno Haible.
58824         Make the two tests more similar by adding an empty "then" clause.
58825         Add comments.
58827         init.sh: avoid unnecessary shell re-exec
58828         * tests/init.sh: Improve the re-exec-required check to first test the
58829         current shell.  If it passes the test, do not search for a shell that
58830         does pass, and do not re-exec.  This test is particularly contorted to
58831         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
58832         of $(...) evokes a syntax error and causes immediate shell exit with
58833         status 2.  Bruno Haible reported that the re-exec made it impossible
58834         to single-step through any init.sh-using script.
58836 2010-05-16  Bruno Haible  <bruno@clisp.org>
58838         Fix collision between gnulib's and libintl's printf replacements.
58839         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
58840         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
58841         (printf): When using GNU C, map the __printf__ function to rpl_printf
58842         via __asm__. When not using GNU C, define rpl_printf instead of
58843         __printf__.
58844         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
58845         commit.
58846         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
58847         commit.
58848         * m4/asm-underscore.m4: New file.
58849         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
58850         * modules/stdio (Files): Add m4/asm-underscore.m4.
58851         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
58852         Reported by Ben Pfaff.
58854 2010-05-16  Bruno Haible  <bruno@clisp.org>
58856         verify: Avoid skipping the test on openSUSE 11.0.
58857         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
58859 2010-05-13  Bruno Haible  <bruno@clisp.org>
58861         Avoid useless warnings from G++.
58862         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
58863         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
58864         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
58866 2010-05-11  Jim Meyering  <meyering@redhat.com>
58868         maint.mk: tweak preceding change
58869         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
58870         regexps tighter by anchoring at EOL, and make the new group "shy"
58871         for slightly decreased overhead.
58873 2010-05-11  Eric Blake  <eblake@redhat.com>
58875         maint.mk: gnulib doesn't guarantee NSIG
58876         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
58878 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
58880         test-pwrite.c: Remove unused variable declaration.
58881         * tests/test-pwrite.c (main): Remove read_buf declaration.
58883         Remove useless test-pwrite.sh file.
58884         * tests/test-pwrite.sh: Delete file.
58885         * modules/pwrite-tests: Remove references.
58886         Reported by Bruno Haible.
58888 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
58890         init.sh: fix a typo
58891         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
58893 2010-05-10  Jim Meyering  <meyering@redhat.com>
58895         maint.mk: avoid using a temporary file in the always-defined-macros check
58896         * top/maint.mk (.re-defmac): Remove rule.
58897         (gl_trap_): Remove definition.
58898         (sc_prohibit_always-defined_macros): Rewrite not to create and
58899         depend on a temporary file.  Instead, depend on GNU grep's ability
58900         to read a list of regular expressions from stdin when given "-f -".
58902 2010-05-09  Bruno Haible  <bruno@clisp.org>
58904         Update to GNU gettext 0.18, part 1.
58905         * m4/gettext.m4: Update to GNU gettext 0.18.
58906         * m4/intl.m4: Likewise.
58907         * m4/po.m4: Likewise.
58908         * modules/gettext (Files): Add m4/fcntl-o.m4.
58909         (configure.ac): Require gettext infrastructure from version 0.18.
58911 2010-05-09  Jim Meyering  <meyering@redhat.com>
58913         init.sh: enable MALLOC_PERTURB_
58914         * tests/init.sh: Enable glibc's malloc-perturbing option.
58916         maint.mk: improve sc_cross_check_PATH_usage_in_tests
58917         With my recent change in init.sh from the two-line form:
58918             -#   : ${srcdir=.}
58919             -#   . "$srcdir/init.sh"; path_prepend_ .
58920             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
58921         I noticed that using the one-line form would cause this test
58922         to fail with a false-positive, or to stop working altogether,
58923         depending on whether help-version changed or all the tests did.
58924         * top/maint.mk (_hv_regex): Remove this definition.
58925         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
58926         (_hv_regex_strong): Use a stronger regex to check for conformance.
58927         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
58928         Give a separate diagnostic for lack of conforming use.
58930         maint.mk: prohibit definition of symbols defined by gnulib
58931         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
58932         definition of symbols defined by gnulib.
58934 2010-05-09  Bruno Haible  <bruno@clisp.org>
58936         acl: Avoid test failure on Cygwin-hosted mingw.
58937         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
58939 2010-05-09  Bruno Haible  <bruno@clisp.org>
58941         error: Use system's fcntl function.
58942         * lib/error.c (fcntl): Undefine.
58944 2010-05-09  Jim Meyering  <meyering@redhat.com>
58946         verify: adjust formatting to be more consistent
58947         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
58948         argument-list '('s, and after one comma.
58950 2010-05-09  Bruno Haible  <bruno@clisp.org>
58952         error: More reliable output on mingw.
58953         * lib/error.c: Include <windows.h>.
58954         (is_open): New function.
58955         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
58956         defined.
58958 2010-05-09  Bruno Haible  <bruno@clisp.org>
58960         vasnprintf: Fix syntax errors in libintl build on mingw.
58961         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
58962         pad_ourselves and prec_ourselves after use.
58964 2010-05-08  Bruno Haible  <bruno@clisp.org>
58966         * lib/config.charset: Update comments for Cygwin 1.7.
58967         * lib/localcharset.c: Likewise.
58969 2010-05-07  Jim Meyering  <meyering@redhat.com>
58971         init.sh: improve comments
58972         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
58973         . "${srcdir=.}/init.sh"; path_prepend_ .
58974         Add a note about path_prepend_ and the alternative of using
58975         TESTS_ENVIRONMENT.
58977 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
58979         exclude: Unescape hashed patterns in wildcard mode.
58980         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
58981         to the hash list.
58982         * tests/test-exclude8.sh: New test case.
58983         * modules/exclude-tests: Add new test.
58985 2010-05-05  Eric Blake  <eblake@redhat.com>
58987         verify: automate tests
58988         * modules/verify-tests: New module.
58989         * tests/test-verify.sh: New file.
58990         * tests/test-verify.c: Guard each negative test with a unique id.
58991         Also avoid warning about unused left hand of comma expressions.
58993 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
58995         Further improvements to verify.h, suggested by Eric Blake.
58996         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
58997         the GL_* versions, to avoid collision with OpenGL.
58998         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
58999         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
59000         than testing merely whether it's defined.
59002         Modify verify.h to pacify gcc -Wredundant_decls.
59003         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
59004         These use the prefix "GL_" since they're likely to be useful elsewhere.
59005         We may need to break them out into a different .h file.
59006         (__COUNTER__): Define to 0 if the compiler doesn't support it.
59007         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
59008         of verify_function__.
59010 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
59012         Tests for module pwrite.
59013         * modules/pwrite-tests: New file.
59014         * tests/test-pwrite.sh: New file.
59015         * tests/test-pwrite.c: New file.
59017         New module pwrite.
59018         * lib/unistd.in.h (pwrite): New declaration.
59019         * lib/pwrite.c: New file, from glibc with modifications.
59020         * m4/pwrite.m4: New file.
59021         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
59022         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
59023         REPLACE_PWRITE.
59024         * modules/pwrite: New file.
59025         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
59026         REPLACE_PWRITE.
59027         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
59028         * doc/posix-functions/pwrite.texi: Mention the new module.
59030 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
59032         pread: Update documentation.
59033         * doc/posix-functions/pread.texi: Mention the 'pread' module.
59035 2010-05-04  Eric Blake  <eblake@redhat.com>
59037         docs: update cygwin progress
59038         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
59039         this bug.
59040         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
59041         Added in cygwin 1.7.2.
59042         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
59043         Likewise.
59044         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
59045         Likewise.
59046         * doc/glibc-functions/dup3.texi (dup3): Likewise.
59047         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
59048         * doc/glibc-functions/accept4.texi (accept4): Likewise.
59049         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
59050         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
59051         Mention nproc module.
59052         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
59053         bug in cygwin 1.7.5 addition.
59054         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
59055         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
59056         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
59057         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
59058         1.7.5.
59059         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
59060         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
59061         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
59062         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
59063         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
59064         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
59065         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
59066         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
59067         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
59068         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
59069         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
59070         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
59071         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
59072         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
59073         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
59074         Likewise.
59075         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
59076         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
59077         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
59078         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
59079         Likewise.
59080         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
59081         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
59082         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
59083         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
59084         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
59085         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
59086         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
59087         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
59088         Likewise.
59089         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
59090         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
59091         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
59092         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
59093         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
59094         Likewise.
59095         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
59096         Likewise.
59097         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
59098         Likewise.
59099         * doc/glibc-functions/xdrrec_endofrecord.texi
59100         (xdrrec_endofrecord): Likewise.
59101         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
59102         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
59103         Likewise.
59104         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
59105         Likewise.
59107 2010-05-04  Jim Meyering  <meyering@redhat.com>
59109         gendocs.sh: make its "-s FILE" option more useful
59110         * build-aux/gendocs.sh: When honoring the -s FILE option, update
59111         $PACKAGE to reflect the probably-different basename of "FILE".
59113 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
59115         bootstrap: don't ignore download_po_files failure
59116         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
59117         failure.
59119 2010-05-03  Jim Meyering  <meyering@redhat.com>
59121         maint.mk: allow to pass options to gendocs.sh
59122         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
59123         (gendocs_options_): New overridable variable.
59125         gnu-web-doc-update: don't ignore configure or build failure
59126         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
59128         announce-gen: backslash-escape '@'s in --help output
59129         * build-aux/announce-gen: Fix syntax errors.
59131         maint.mk, announce-gen: allow project-specific announcement mail headers
59132         * top/maint.mk (translation_project_): Define default.
59133         (announcement_Cc_, announcement_mail_headers_): Likewise.
59134         (announcement): Invoke announce-gen with new --mail-headers option.
59135         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
59137         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
59138         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
59139         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
59140         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
59141         line in the "err2" output file when running "make check" in verbose
59142         mode (i.e., with set -x enabled).
59144 2010-05-03  Bruno Haible  <bruno@clisp.org>
59146         wctob: Fix for weird platforms.
59147         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
59148         argument value.
59150 2010-05-03  Jim Meyering  <meyering@redhat.com>
59152         maint.mk: prohibit unwarranted use of <strings.h>
59153         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
59154         strings.h in a file that does not also use strcasecmp, strncasecmp,
59155         ffs or ffsll.
59157         maint.mk: remove obsolete comments
59158         * top/maint.mk: Remove stale, commented-out rules.
59160 2010-05-02  Bruno Haible  <bruno@clisp.org>
59162         wcwidth: Declare also when it's aliased.
59163         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
59164         macro.
59166 2010-05-02  Bruno Haible  <bruno@clisp.org>
59168         Fix regression from 2010-04-25.
59169         * gnulib-tool (func_modules_transitive_closure): Check the status of
59170         all modules, not only of the tests that are of the form foo-tests where
59171         foo is a module.
59173 2010-05-02  Bruno Haible  <bruno@clisp.org>
59175         wctob: Work around nasty Cygwin 1.7.2 bug.
59176         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
59177         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
59179 2010-05-01  Bruno Haible  <bruno@clisp.org>
59181         fpurge: Sharper test.
59182         * tests/test-fpurge.c (main): Add one more ftell check.
59183         * modules/fpurge-tests (Depends-on): Add ftell.
59184         Suggested by Eric Blake.
59186 2010-05-01  Bruno Haible  <bruno@clisp.org>
59188         ftello: Another test.
59189         * tests/test-ftello3.c: New file.
59190         * modules/ftello-tests (Files): Add it.
59191         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
59192         MOSTLYCLEANFILES.
59194         ftell: Another test.
59195         * tests/test-ftell3.c: New file.
59196         * modules/ftell-tests (Files): Add it.
59197         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
59198         MOSTLYCLEANFILES.
59200 2010-05-01  Bruno Haible  <bruno@clisp.org>
59202         ftell, ftello: Work around Solaris bug.
59203         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
59204         * lib/ftello.c: Include stdio-impl.h.
59205         (ftello): On Solaris, when _IOWRT is set, compute the result without
59206         looking at _IOREAD.
59207         * modules/ftello (Files): Add lib/stdio-impl.h.
59208         * doc/posix-functions/ftell.texi: Mention Solaris bug.
59209         * doc/posix-functions/ftello.texi: Likewise.
59210         Reported by Eric Blake.
59212 2010-05-01  Bruno Haible  <bruno@clisp.org>
59214         freading: Adapt to special meaning of _IOREAD flag on Solaris.
59215         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
59216         the _IOWRT flag is also set.
59218 2010-05-01  Bruno Haible  <bruno@clisp.org>
59220         Fix doc about a HP-UX stdio bug.
59221         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
59222         * doc/posix-functions/ftello.texi: Likewise.
59224 2010-05-01  Bruno Haible  <bruno@clisp.org>
59226         lseek test: Fix failure on Solaris.
59227         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
59228         output.
59230 2010-04-30  Jim Meyering  <meyering@redhat.com>
59232         bootstrap: don't ignore failure to generate po*/Makevars
59233         * build-aux/bootstrap (with_gettext): Don't ignore failure
59234         to create po/Makevars or runtime-po/Makevars.
59236 2010-04-29  Eric Blake  <eblake@redhat.com>
59238         headers: relax license to LGPLv2+
59239         * modules/fcntl-h (License): Relax license.
59240         * modules/getopt-posix (License): Likewise.
59241         * modules/locale (License): Likewise.
59242         * modules/math (License): Likewise.
59243         * modules/pty (License): Likewise.
59244         * modules/sched (License): Likewise.
59245         * modules/search (License): Likewise.
59246         * modules/spawn (License): Likewise.
59247         * modules/stdarg (License): Likewise.
59248         * modules/sysexits (License): Likewise.
59250 2010-04-29  Jim Meyering  <meyering@redhat.com>
59252         inttypes: relax license to LGPLv2+
59253         * modules/inttypes (License): Relax license.
59255 2010-04-29  Simon Josefsson  <simon@josefsson.org>
59257         * top/maint.mk (indent): Run twice to produce idempotent results.
59259 2010-04-28  Bruno Haible  <bruno@clisp.org>
59261         getdate: Generate getdate.c in the source directory.
59262         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
59263         MOSTLYCLEANFILES.
59264         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
59266 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
59268         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
59269         is not declared as a const *; avoid warnings in that case.
59271 2010-04-28  Eric Blake  <eblake@redhat.com>
59273         canonicalize-lgpl: avoid compiler warning
59274         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
59275         declaration' / 'extraneous semicolon' warning with some compilers.
59276         Reported by Andreas Gruenbacher.
59278 2010-04-28  Jim Meyering  <meyering@redhat.com>
59280         init.sh: ensure a more reliable exit status when exiting via trap
59281         * tests/init.sh (setup_): Don't rely on $? in signal handler.
59282         Inspired by patches from Dmitry V. Levin.
59283         Also trap on signal 3 (SIGQUIT).
59285 2010-04-27  Bruno Haible  <bruno@clisp.org>
59287         Update doc about utimes().
59288         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
59289         'utimens' module.
59290         Reported by Andreas Gruenbacher <agruen@suse.de>.
59292 2010-04-27  Eric Blake  <eblake@redhat.com>
59294         full-read, full-write: relax license
59295         * modules/full-read (License): Drop to LGPLv2+.
59296         * modules/full-write (License): Likewise.
59297         * modules/safe-read (License): Likewise.
59298         * modules/safe-write (License): Likewise.
59300         pthread: mention library for linking
59301         * modules/pthread (Link): Mention $(LIB_PTHREAD).
59303 2010-04-27  Jim Meyering  <meyering@redhat.com>
59305         maint.mk: fix a bug introduced in last change
59306         * top/maint.mk (gl_assured_headers_): Now that all names are on
59307         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
59308         is not anchored to end of word, it should be adequate.
59310         maint.mk: avoid side-effect in latest syntax-check
59311         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
59312         to run commands via $(shell...), and hence to incur cost only when
59313         the new rule is actually run.
59315         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
59316         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
59317         and use that to create a regexp used to detect all #if HAVE_..._H uses.
59318         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
59319         (gl_assured_headers_, az_, AZ_): Define.
59320         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
59322 2010-04-26  Jim Meyering  <jim@meyering.net>
59323             Bruno Haible  <bruno@clisp.org>
59325         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
59326         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
59327         Prompted by an exchange with Gilles Espinasse.
59329 2010-04-26  Jim Meyering  <meyering@redhat.com>
59331         git-version-gen: aesthetic tweak
59332         * build-aux/git-version-gen: Use "$nl" rather than a literal,
59333         so that the command remains on a single line.
59335 2010-04-26  Eric Blake  <eblake@redhat.com>
59337         git-version-gen: allow use on EBCDIC hosts
59338         * build-aux/git-version-gen (dirty): Use literal rather than tying
59339         ourselves to ascii.
59340         Reported by Steve Goetze.
59342 2010-04-25  Bruno Haible  <bruno@clisp.org>
59344         netdb: Add support for GNULIB_POSIXCHECK.
59345         * lib/netdb.in.h: Include warn-on-use.h.
59346         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
59347         functions are used when GNULIB_POSIXCHECK is defined and the
59348         getaddrinfo module is not in use.
59349         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
59350         freeaddrinfo, gai_strerror, getnameinfo are declared.
59351         * modules/netdb (Depends-on): Add warn-on-use.
59352         (Makefile.am): Include warn-on-use.h in netdb.h.
59354 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
59356         build: avoid "make check" failure without .git/ directory
59357         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
59358         there is no .git/ directory.
59360 2010-04-25  Bruno Haible  <bruno@clisp.org>
59362         ptsname: Fix misuse of ttyname_r.
59363         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
59364         of errno.
59366 2010-04-25  Bruno Haible  <bruno@clisp.org>
59368         ttyname_r: Make it work on Solaris 10.
59369         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
59370         if the system function has the POSIX declaration. Test whether the
59371         function fails if the buffer is less than 128 bytes large.
59372         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
59373         system's ttyname_r function. Provide a reasonably large buffer.
59374         * modules/ttyname_r (Depends-on): Add extensions.
59375         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
59377 2010-04-25  Bruno Haible  <bruno@clisp.org>
59379         Use the 'extensions' module for some more functions on Solaris.
59380         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
59381         module.
59382         * doc/posix-functions/ctime_r.texi: Likewise.
59383         * doc/posix-functions/getgrgid_r.texi: Likewise.
59384         * doc/posix-functions/getgrnam_r.texi: Likewise.
59385         * doc/posix-functions/getpwnam_r.texi: Likewise.
59386         * doc/posix-functions/getpwuid_r.texi: Likewise.
59387         * doc/posix-functions/readdir_r.texi: Likewise.
59388         * doc/posix-functions/sigwait.texi: Likewise.
59389         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
59390         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
59392 2010-04-25  Bruno Haible  <bruno@clisp.org>
59394         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
59395         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
59396         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
59397         * lib/ttyname_r.c: Include <limits.h>.
59398         (ttyname_r): Define using the system's ttyname_r function, if it exists
59399         and not on Solaris.
59400         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
59401         set.
59402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
59403         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
59404         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
59405         Reported by Simon Josefsson.
59407 2010-04-25  Bruno Haible  <bruno@clisp.org>
59409         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
59410         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
59411         * doc/posix-functions/ctime_r.texi: Likewise.
59412         * doc/posix-functions/getgrgid_r.texi: Likewise.
59413         * doc/posix-functions/getgrnam_r.texi: Likewise.
59414         * doc/posix-functions/getlogin_r.texi: Likewise.
59415         * doc/posix-functions/getpwnam_r.texi: Likewise.
59416         * doc/posix-functions/getpwuid_r.texi: Likewise.
59417         * doc/posix-functions/readdir_r.texi: Likewise.
59418         * doc/posix-functions/sigwait.texi: Likewise.
59419         * doc/posix-functions/ttyname_r.texi: Likewise.
59420         Reported by Simon Josefsson.
59422 2010-04-25  Bruno Haible  <bruno@clisp.org>
59424         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
59425         * gnulib-tool (func_usage): Document that --with-*-tests options apply
59426         also to --create-testdir.
59427         (func_acceptable): Don't consider the status of *-tests modules here.
59428         (func_modules_transitive_closure): Consider it here, before including a
59429         test module.
59430         (func_import, func_create_testdir): Set inc_all_direct_tests,
59431         inc_all_indirect_tests.
59432         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
59433         --create-testdir and --create-megatestdir.
59435 2010-04-25  Bruno Haible  <bruno@clisp.org>
59437         gnulib-tool: Add --without-*-tests options.
59438         * gnulib-tool (func_usage): Document the --without-*-tests options.
59439         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
59440         excl_unportable_tests): New variables.
59441         Fail if they are specified with --import or --update.
59442         (func_acceptable): Respect the excl_*_tests variables.
59443         (func_import): Set the excl_*_tests variables to empty.
59445 2010-04-25  Simon Josefsson  <simon@josefsson.org>
59446             Bruno Haible  <bruno@clisp.org>
59448         Work around a MacOS X 10.4 bug with openpty.
59449         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
59450         * tests/test-openpty.c (main): Close the master side explicitly.
59452 2010-04-25  Bruno Haible  <bruno@clisp.org>
59454         strnlen: Fix a C++ test error on MacOS X and Solaris.
59455         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
59456         the function is not declared.
59457         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
59458         Simon Josefsson.
59460 2010-04-24  Bruno Haible  <bruno@clisp.org>
59462         Avoid a gcc warning.
59463         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
59464         of correct type for %08lx directive.
59465         Reported by Eric Blake.
59467 2010-04-24  Bruno Haible  <bruno@clisp.org>
59469         vasnprintf: Correct errno value in case of out-of-memory.
59470         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
59471         or sprintf. Use the errno value from SNPRINTF or sprintf.
59472         Reported by Ian Beckwith <ianb@erislabs.net>.
59474 2010-04-24  Bruno Haible  <bruno@clisp.org>
59476         ansi-c++-opt: Find correct compiler when cross-compiling.
59477         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
59478         AC_CHECK_PROGS.
59479         Reported by Simon Josefsson.
59481 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
59483         vc-list-files: Add support for subversion
59484         * build-aux/vc-list-files: Use "svn list" to generate the list of
59485         files controlled by subversion.
59487 2010-04-23  Jim Meyering  <meyering@redhat.com>
59489         vc-list-files tests: convert to use init.sh
59490         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
59491         path_prepend_.
59492         Use Exit, not exit.
59493         Use skip_ rather than open coding it.
59494         Remove trap set-up and compare definitions.
59495         * tests/test-vc-list-files-git.sh: Likewise.
59496         * modules/vc-list-files-tests (Files): Add tests/init.sh.
59498 2010-04-22  Simon Josefsson  <simon@josefsson.org>
59500         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
59501         backup files.
59503 2010-04-21  Simon Josefsson  <simon@josefsson.org>
59505         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
59507 2010-04-20  Eric Blake  <eblake@redhat.com>
59509         tests: be robust to ignored SIGPIPE
59510         * tests/test-select-in.sh: Consume all output.
59511         * tests/test-lseek.sh: Check correct exit status, while avoiding
59512         EPIPE.
59514 2010-04-20  Simon Josefsson  <simon@josefsson.org>
59515             Bruno Haible  <bruno@clisp.org>
59517         visibility: Don't use -fvisibility if it leads to a warning.
59518         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
59519         yes, don't pretend that visibility works if it leads to a warning.
59520         Reported by Mike Gran <spk121@yahoo.com>.
59522 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
59524         * build-aux/bootstrap: Use "git -h" for testing for supported options
59525         instead of "git --help".  The short-form option only shows a summary,
59526         and doesn't layout the full man page.  Grep for the full option name
59527         in the summary, too.
59529 2010-04-19  Bruno Haible  <bruno@clisp.org>
59531         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
59532         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
59533         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
59534         mention of RELOCATABLE_STRIP.
59535         Reported by Sylvain Beucler <beuc@beuc.net>.
59537 2010-04-19  Bruno Haible  <bruno@clisp.org>
59539         * lib/diffseq.h: Fix typo in comment.
59540         Reported by Eric Blake.
59542 2010-04-19  Bruno Haible  <bruno@clisp.org>
59544         ioctl: Move autoconf macro to a .m4 file.
59545         * m4/ioctl.m4: New file, extracted from modules/ioctl.
59546         * modules/ioctl (Files): Add it.
59547         (configure.ac): Simply invoke gl_FUNC_IOCTL.
59548         Reported by Ian Beckwith <ianb@erislabs.net>.
59550 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
59551             Bruno Haible  <bruno@clisp.org>
59553         diffseq: Accommodate use-case with abstract arrays.
59554         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
59555         is not defined.
59556         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
59557         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
59559 2010-04-18  Bruno Haible  <bruno@clisp.org>
59561         * doc/posix-headers/stdbool.texi: More precise wording.
59563 2010-04-17  Jim Meyering  <meyering@redhat.com>
59565         maint.mk: use gnu-style indentation in an embedded perl script
59566         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
59567         Rename variable: s/two/last_two_bytes/
59569 2010-04-16  Eric Blake  <eblake@redhat.com>
59571         test-stdbool: skip test that fails with Solaris CC
59572         * tests/test-stdbool.c (f): Skip test that causes compilation
59573         error under buggy C++ compiler.
59574         * lib/stdbool.in.h: Document the limitation.
59575         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
59577         setenv: allow compilation with C++
59578         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
59579         register keyword.
59581         stdint: allow test to pass with C++
59582         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
59584         getopt: allow compilation with C++
59585         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
59586         struct.
59587         * lib/getopt.c (_getopt_internal_r): Use correct type.
59588         Reported by Dagobert Michelson, via Joel E. Denny.
59590 2010-04-16  Bruno Haible  <bruno@clisp.org>
59592         Override netdb.h always.
59593         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
59594         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
59595         Reported by Ludovic Courtès <ludo@gnu.org>.
59597 2010-04-15  Bruno Haible  <bruno@clisp.org>
59599         openpty: Fix mistake from 2010-03-21.
59600         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
59601         Reported by Simon Josefsson.
59603 2010-04-15  Eric Blake  <eblake@redhat.com>
59605         test-forkpty: fix expected signature
59606         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
59607         Reported by Simon Josefsson.
59609 2010-04-15  Jim Meyering  <meyering@redhat.com>
59611         maint.mk: texinfo_suffix_re_: correct the default regexp
59612         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
59614         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
59615         make it configurable via texinfo_suffix_re_.
59617 2010-04-14  Eric Blake  <eblake@redhat.com>
59619         strtok_r: relax license to LGPLv2+
59620         * modules/strtok_r (License): Relax license.
59621         Reported by Matthias Bolte.
59623 2010-04-14  Simon Josefsson  <simon@josefsson.org>
59625         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
59626         version 1.4.4 by default instead of requiring the libgcrypt
59627         version used during build.  This makes it possible to use the
59628         application with older but still binary compatible libgcrypt
59629         versions.
59631 2010-04-13  Eric Blake  <eblake@redhat.com>
59633         getopt-gnu: match recent glibc fixes and posix ruling
59634         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
59635         '+' handling, when requesting extensions.
59636         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
59637         'W;' handling.
59638         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
59639         * doc/posix-functions/getopt.texi (getopt): Document this.
59640         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
59641         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59642         Likewise.
59644         getopt: merge bug fixes from glibc
59645         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
59646         diagnostics.  Honor '+:' correctly.  Reject ';'.
59648         getopt-posix: detect MacOS bug
59649         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
59650         optind when missing a required argument.
59651         * doc/posix-functions/getopt.texi (getopt): Document the bug.
59652         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
59653         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59654         Likewise.
59656         getopt-posix: avoid spurious failure on Solaris
59657         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
59658         an indicator that setting optind=1 is sufficient for reset.
59660         getopt-posix: avoid spurious failure on FreeBSD
59661         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
59662         in POSIX mode, since the m4 test uses it.
59664         gnulib-tool: silence warning on BSD sh
59665         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
59667 2010-04-13  Jim Meyering  <meyering@redhat.com>
59669         doc: users.txt: GNU patch now uses gnulib
59670         * users.txt: Add patch.
59672 2010-04-12  Jim Meyering  <meyering@redhat.com>
59674         maint.mk: generate more concise timing data for syntax-check rules
59675         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
59676         " done" from each line that reports a syntax-check test duration.
59678 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
59680         git-version-gen: use "git update-index..." rather than "git status"
59681         * build-aux/git-version-gen: Use git update-index --refresh, not
59682         "git status".  With some versions of git, "git status" would fail
59683         to update the index and result in an unwarranted "-dirty" suffix.
59685 2010-04-11  Jim Meyering  <meyering@redhat.com>
59687         openat: correct formatting (no semantic change)
59688         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
59689         Suggested by Bruno Haible.
59691 2010-04-11  Bruno Haible  <bruno@clisp.org>
59693         Stricter declaration checking in testdirs.
59694         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59695         If for_tests is true, augment AM_CPPFLAGS to define
59696         GNULIB_STRICT_CHECKING.
59697         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
59698         GNULIB_STRICT_CHECKING is defined, verify that the function is
59699         declared.
59701 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
59702             Bruno Haible  <bruno@clisp.org>
59704         libunistring: Improve configure output.
59705         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
59706         Don't say "consider installing GNU libunistring" when checking again
59707         with libiconv.
59709 2010-04-11  Bruno Haible  <bruno@clisp.org>
59711         libunistring: Correct value of $LTLIBUNISTRING.
59712         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
59713         correct the value of $LTLIBUNISTRING.
59715 2010-04-11  Bruno Haible  <bruno@clisp.org>
59717         havelib: Add static libraries to LIBS in the right order.
59718         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
59719         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
59721 2010-04-11  Bruno Haible  <bruno@clisp.org>
59723         libunistring: Detect libunistring also when it depends on libiconv.
59724         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
59725         the second AC_LIB_HAVE_LINKFLAGS invocation.
59727 2010-04-11  James Youngman  <jay@gnu.org>
59729         close-stream: declare local scalars to be "const"
59730         * lib/close-stream.c (close_stream): Make boolean variables const
59731         to document the fact that we set but do not change them.
59733 2010-04-11  Bruno Haible  <bruno@clisp.org>
59735         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
59737 2010-04-11  Jim Meyering  <meyering@redhat.com>
59739         maint.mk: don't include dist-check.mk
59740         * top/maint.mk: Remove bogus include directive.
59742         maint.mk: improve empty-line-at-EOF check
59743         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
59744         solution, rather than tail+Perl-based one.  The latter would read
59745         a few kilobytes from the end of each file, and did not handle empty
59746         files properly.
59748         maint.mk: print the elapsed time for each syntax-check rule
59749         * top/maint.mk (sc_m_rules_): Save start time in a file.
59750         (sc_z_rules_): New rules: remove temp file and print elapsed time.
59751         (local-check): Interpose the .z rules
59753 2010-04-11  Jim Meyering  <meyering@redhat.com>
59755         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
59756         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
59757         empty file with one that ends in an empty line.
59759 2010-04-10  Bruno Haible  <bruno@clisp.org>
59761         mkdir: Make it work on mingw64.
59762         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
59763         * lib/mkdir.c: Update comment.
59764         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
59766 2010-04-10  Bruno Haible  <bruno@clisp.org>
59768         Don't override improved macro from newer autoconf.
59769         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
59770         autoconf >= 2.62.
59771         Reported by Joel E. Denny <jdenny@clemson.edu>.
59773 2010-04-10  Jim Meyering  <meyering@redhat.com>
59775         maint.mk: new syntax-check rule: prohibit empty lines at end of file
59776         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
59778         maint.mk: correct a diagnostic
59779         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
59780         in diagnostic; now use $prohibit.
59782 2010-04-10  Bruno Haible  <address@hidden>
59784         fchownat: Fix a C++ test error on Solaris 8.
59785         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
59786         the function does not exist.
59788 2010-04-10  Bruno Haible  <bruno@clisp.org>
59790         vasnprintf: Add more tests.
59791         * tests/test-vasnprintf-posix.c: Include <errno.h>.
59792         (test_function): Test converting an invalid wide string.
59794         vasnprintf: Correct handling of unconvertible wide string arguments.
59795         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
59796         VASNPRINTF.
59797         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
59798         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
59799         smaller than the expected maximum need for the directive. Set errno to
59800         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
59801         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
59802         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
59803         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
59804         * modules/vasnprintf (Files): Add m4/printf.m4.
59805         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
59807 2010-04-10  Bruno Haible  <bruno@clisp.org>
59809         vasnprintf: Fix crash in %ls directive.
59810         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
59811         string is passed as argument to %ls, with no precision and no width.
59812         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
59814 2010-04-10  Bruno Haible  <bruno@clisp.org>
59816         vasnprintf: Fix multiple test failures on mingw.
59817         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
59818         _snprintf, or snwprintf, not _snwprintf.
59820 2010-04-10  Bruno Haible  <bruno@clisp.org>
59822         write: Fix a C++ test error on mingw.
59823         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
59825 2010-04-10  Bruno Haible  <bruno@clisp.org>
59827         vasnprintf test: Reduce code duplication.
59828         * tests/test-vasnprintf.c (test_function): New function, extracted from
59829         test_vasnprintf.
59830         (test_vasnprintf, test_asnprintf): Invoke it.
59832 2010-04-10  Bruno Haible  <bruno@clisp.org>
59834         strnlen: Fix warning in C++ mode on MacOS X.
59835         * lib/string.in.h (strnlen): Use the modern idiom.
59836         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
59837         defining strnlen as a macro already in <config.h>.
59838         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59839         REPLACE_STRNLEN.
59840         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
59841         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
59843 2010-04-08  James Youngman  <jay@gnu.org>
59845         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
59846         the example.
59848 2010-04-09  Jim Meyering  <meyering@redhat.com>
59850         maint.mk: print better diagnostic when there is no $(_hv_file)
59851         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
59852         announce that when $(_hv_file) (aka help-version) does not exist.
59854         init.sh: run tr in the "C" locale to avoid multibyte interpretation
59855         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
59856         not try to interpret its random input bytes.  Jarno Rajahalme reported
59857         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
59858         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
59859         (mktempd_): Likewise, just in case.
59861         ftruncate: add two years to projected module removal date: 2012
59862         * m4/ftruncate.m4: Adjust comments.
59864         ftruncate: mark module as obsolete; even MinGW provides it, now
59865         * modules/ftruncate (Status): Obsolete.
59866         (Notice): Say that.
59867         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
59868         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
59870 2010-04-08  Bruno Haible  <bruno@clisp.org>
59872         Fix side effects from tests-related modules.
59873         * modules/dprintf-posix (Comment): New section.
59874         * modules/fprintf-posix (Comment): Likewise.
59875         * modules/obstack-printf-posix (Comment): Likewise.
59876         * modules/printf-posix (Comment): Likewise.
59877         * modules/snprintf-posix (Comment): Likewise.
59878         * modules/sprintf-posix (Comment): Likewise.
59879         * modules/vasnprintf-posix (Comment): Likewise.
59880         * modules/vasprintf-posix (Comment): Likewise.
59881         * modules/vdprintf-posix (Comment): Likewise.
59882         * modules/vfprintf-posix (Comment): Likewise.
59883         * modules/vprintf-posix (Comment): Likewise.
59884         * modules/vsnprintf-posix (Comment): Likewise.
59885         * modules/vsprintf-posix (Comment): Likewise.
59886         * modules/xprintf-posix (Comment): Likewise.
59887         * modules/xvasprintf-posix (Comment): Likewise.
59888         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
59889         * modules/floorf-tests (Depends-on): Likewise.
59890         * modules/round-tests (Depends-on): Likewise.
59891         * modules/roundf-tests (Depends-on): Likewise.
59892         * modules/trunc-tests (Depends-on): Likewise.
59893         * modules/truncf-tests (Depends-on): Likewise.
59894         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
59895         'fprintf-posix' module is not present.
59896         * tests/test-floorf2.c (check): Likewise.
59897         * tests/test-trunc2.c (check): Likewise.
59898         * tests/test-truncf2.c (check): Likewise.
59899         * tests/test-round2.c (equal): Likewise.
59900         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
59902 2010-04-07  Karl Berry  <karl@gnu.org>
59904         * config/srclist.txt,
59905         * config/srclistvars.sh,
59906         * config/srclist-update: doc fixes.
59908 2010-04-07  Jim Meyering  <meyering@redhat.com>
59910         maint.mk: add a PATH crosschecking syntax-check rule
59911         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
59912         Useful if you use a test like the one in help-version (coreutils,
59913         diffutils, grep, gzip) that ensures $(VERSION) matches what is
59914         printed by prog --version.
59916 2010-04-06  Bruno Haible  <bruno@clisp.org>
59918         Fix link error on mingw.
59919         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
59920         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
59922 2010-04-06  Bruno Haible  <bruno@clisp.org>
59924         Assume rmdir exists.
59925         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
59927 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
59929         doc: update users.txt
59930         * users.txt: Add gcal.
59932 2010-04-06  Jim Meyering  <meyering@redhat.com>
59934         init.sh: simply unset TMPDIR rather than risking env -i
59935         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
59936         although it probably works fine on all Unix-based systems, some
59937         systems (Cygwin?) cannot tolerate a totally cleared environment.
59938         Suggestion from Eric Blake.
59940 2010-04-06  Jim Meyering  <meyering@redhat.com>
59942         init.sh: portability fix: use env's POSIX-specified -i option not -u
59943         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
59944         than unportable env -u.  Solaris 5.11's env lacks support for -u.
59946 2010-04-05  Bruno Haible  <bruno@clisp.org>
59948         btowc: Work around Cygwin 1.7.2 bug.
59949         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
59950         does not map NUL to 0.
59951         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
59953 2010-04-05  Bruno Haible  <bruno@clisp.org>
59955         Make the multithread modules work on Cygwin 1.7.2.
59956         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
59957         imported symbols can be declared weak, so that it returns "no" on
59958         Cygwin 1.7.2.
59960 2010-04-05  Bruno Haible  <bruno@clisp.org>
59962         Use the module 'strncat'.
59963         * modules/unistr/u8-strncat (Depends-on): Add strncat.
59965         Tests for module 'strncat'.
59966         * modules/strncat-tests: New file.
59967         * tests/test-strncat.c: New file.
59969         New module 'strncat'.
59970         * lib/string.in.h (strncat): New declaration.
59971         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
59972         * m4/strncat.m4: New file, based on m4/memchr.m4.
59973         * modules/strncat: New file.
59974         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
59975         is declared.
59976         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
59977         REPLACE_STRNCAT.
59978         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
59979         REPLACE_STRNCAT.
59980         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
59981         module.
59982         * tests/test-string-c++.cc: Check signature of strncat.
59984 2010-04-05  Jim Meyering  <meyering@redhat.com>
59986         xstrtoumax-tests: convert to use init.sh
59987         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
59988         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
59989         Use Exit, not exit.
59990         Remove uses of $EXEEXT and "./" to run a program in the current dir.
59992         xstrtoimax-tests: convert to use init.sh
59993         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
59994         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
59995         Use Exit, not exit.
59996         Remove uses of $EXEEXT and "./" to run a program in the current dir.
59998 2010-04-05  Bruno Haible  <bruno@clisp.org>
60000         sys_socket: Avoid #define replacements in C++ mode.
60001         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
60002         warning to the function if possible, rather than #defining the symbol
60003         to a dysfunctional alias.
60005 2010-04-05  Bruno Haible  <bruno@clisp.org>
60007         fseeko: Fix C++ test error on mingw.
60008         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
60009         gl_FUNC_FSEEKO.
60010         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
60011         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
60012         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
60013         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
60015 2010-04-05  Bruno Haible  <bruno@clisp.org>
60017         duplocale: Improve test output.
60018         * tests/test-duplocale.c (main): Print reason for skipped test.
60020 2010-04-05  Bruno Haible  <bruno@clisp.org>
60022         Assume rmdir exists.
60023         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
60024         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
60026 2010-04-05  Bruno Haible  <bruno@clisp.org>
60028         Fix link error on Solaris 8 with cc.
60029         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
60031 2010-04-05  Bruno Haible  <bruno@clisp.org>
60033         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
60034         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
60036 2010-04-05  Bruno Haible  <bruno@clisp.org>
60038         vasprintf: Update documentation.
60039         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
60041 2010-04-05  Bruno Haible  <bruno@clisp.org>
60043         ptsname: Improve test.
60044         * tests/test-ptsname.c (main): Also try the various master names of BSD
60045         systems.
60047 2010-04-05  Bruno Haible  <bruno@clisp.org>
60049         memchr: Avoid a possible C++ test error.
60050         * lib/string.in.h (memchr): Provide declaration if function is missing.
60051         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
60052         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
60053         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
60054         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
60056 2010-04-05  Bruno Haible  <bruno@clisp.org>
60058         strtok_r: Improve idiom.
60059         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
60060         AC_LIBOBJ is used.
60062 2010-04-05  Bruno Haible  <bruno@clisp.org>
60064         strdup: Improve idiom.
60065         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
60066         AC_LIBOBJ is used.
60067         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
60068         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
60069         when AC_LIBOBJ is used.
60071 2010-04-05  Bruno Haible  <bruno@clisp.org>
60073         mbsinit, mbrtowc, wcrtomb: Improve idioms.
60074         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
60075         don't set REPLACE_MBSINIT to 1.
60076         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
60077         don't set REPLACE_MBRTOWC to 1.
60078         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
60079         exist, don't set REPLACE_MBSRTOWCS to 1.
60080         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
60081         exist, don't set REPLACE_MBSNRTOWCS to 1.
60082         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
60083         don't set REPLACE_WCRTOMB to 1.
60084         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
60085         exist, don't set REPLACE_WCSRTOMBS to 1.
60086         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
60087         exist, don't set REPLACE_WCSNRTOMBS to 1.
60089 2010-04-05  Bruno Haible  <bruno@clisp.org>
60091         ldexpl: Improve idiom.
60092         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
60093         make sure to set HAVE_DECL_LDEXPL to 0.
60095 2010-04-05  Jim Meyering  <meyering@redhat.com>
60097         xstrtol-tests: convert to use init.sh
60098         * modules/xstrtol-tests (Files): Add tests/init.sh.
60099         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
60100         Use Exit, not exit.
60101         Remove uses of $EXEEXT and "./" to run a program in the current dir.
60103         atexit-tests: convert to use init.sh
60104         * modules/atexit-tests (Files): Add tests/init.sh.
60105         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
60106         Use Exit, not exit.
60107         Remove uses of $EXEEXT and "./" to run a program in the current dir.
60109         init.sh: fix typo
60110         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
60112         init.sh: make it easier for a test script to write to the tty, ...
60113         when using automake's parallel-tests mode.
60114         * tests/init.sh (stderr_fileno_): Define overridable variable.
60115         (warn_): New function, to use it.
60116         (fail_, skip_, framework_failure_): Use warn_.
60118 2010-04-04  Bruno Haible  <bruno@clisp.org>
60120         btowc: Avoid warning.
60121         * lib/btowc.c: Include <stdlib.h>.
60122         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
60124 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
60125             Bruno Haible  <bruno@clisp.org>
60127         wchar: Port to NetBSD 1.5.
60128         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
60129         * lib/wctype.in.h (WEOF): Likewise.
60131 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
60132             Bruno Haible  <bruno@clisp.org>
60134         Port extended stdio to NetBSD 1.5.
60135         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
60136         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
60137         older.
60139 2010-04-04  Bruno Haible  <bruno@clisp.org>
60141         string: Remove unused substitution.
60142         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
60143         HAVE_DECL_STRERROR.
60144         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
60146 2010-04-04  Bruno Haible  <bruno@clisp.org>
60148         strtod: Avoid a possible C++ test error.
60149         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
60150         set REPLACE_STRTOD.
60152 2010-04-04  Bruno Haible  <bruno@clisp.org>
60154         strerror: Update documentation.
60155         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
60157 2010-04-04  Bruno Haible  <bruno@clisp.org>
60159         stdio: Fix some C++ test errors on Solaris 8 with GCC.
60160         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
60161         _GL_CXXALIAS_SYS_CAST.
60163 2010-04-04  Bruno Haible  <bruno@clisp.org>
60165         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
60166         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
60167         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
60168         REPLACE_FREXPL to 1.
60169         * doc/posix-functions/frexpl.texi: Update documentation.
60171 2010-04-04  Bruno Haible  <bruno@clisp.org>
60173         math: Fix some C++ test errors on Solaris 8 and Cygwin.
60174         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
60176 2010-04-04  Bruno Haible  <bruno@clisp.org>
60178         Implement nanosleep for native Windows.
60179         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
60181 2010-04-04  Bruno Haible  <bruno@clisp.org>
60183         math: Fix some C++ test errors on Solaris 8.
60184         * lib/math.in.h (truncf, trunc): Use simpler idiom.
60186 2010-04-04  Bruno Haible  <bruno@clisp.org>
60188         math: Fix some C++ test errors on Cygwin.
60189         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
60190         truncl): Provide declaration if the system does not have it.
60191         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
60192         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
60193         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
60194         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
60195         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
60196         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
60197         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
60198         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
60199         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
60200         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
60201         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
60202         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
60203         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
60204         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
60205         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
60206         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
60207         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
60208         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
60209         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
60210         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
60211         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
60212         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
60214 2010-04-04  Bruno Haible  <bruno@clisp.org>
60216         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
60217         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
60218         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
60219         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
60220         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
60221         * m4/isinf.m4 (gl_ISINF): Likewise.
60222         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
60224 2010-04-04  Bruno Haible  <bruno@clisp.org>
60226         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
60227         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
60229 2010-04-04  Bruno Haible  <bruno@clisp.org>
60231         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
60232         * modules/tmpfile (configure.ac): Update.
60234         tmpfile: Fix C++ test error on mingw.
60235         * lib/stdio.in.h (tmpfile): New declaration.
60236         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
60237         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
60238         * modules/tmpfile (Depends-on): Add stdio.
60239         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
60240         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
60241         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
60242         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
60243         REPLACE_TMPFILE.
60244         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
60246 2010-04-04  Bruno Haible  <bruno@clisp.org>
60248         ioctl: Fix C++ test error on mingw.
60249         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
60250         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
60251         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
60253 2010-04-03  Bruno Haible  <bruno@clisp.org>
60255         wcwidth: Fix C++ test error on mingw.
60256         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
60257         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
60258         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
60260 2010-04-03  Bruno Haible  <bruno@clisp.org>
60262         nanosleep: Fix C++ test error on mingw.
60263         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
60264         * lib/time.in.h (nanosleep): Use modern idiom.
60265         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
60266         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
60267         REPLACE_NANOSLEEP to 1.
60268         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
60269         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
60271 2010-04-03  Bruno Haible  <bruno@clisp.org>
60273         strptime: Fix C++ test error on mingw.
60274         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
60275         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
60276         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
60277         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
60278         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
60279         not REPLACE_STRPTIME.
60280         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
60281         REPLACE_STRPTIME.
60283 2010-04-03  Bruno Haible  <bruno@clisp.org>
60285         timegm: Fix C++ test error on mingw.
60286         * lib/time.in.h (timegm): Use modern idiom.
60287         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
60288         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
60289         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
60290         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
60292 2010-04-03  Bruno Haible  <bruno@clisp.org>
60294         timegm: Assume declaration if function exists.
60295         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
60296         if it exists. Don't clobber ac_cv_func_timegm.
60298 2010-04-03  Bruno Haible  <bruno@clisp.org>
60300         time_r: Fix C++ test error on mingw.
60301         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
60302         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
60303         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
60304         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
60305         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
60307 2010-04-03  Bruno Haible  <bruno@clisp.org>
60309         time_r: Minor updates.
60310         * modules/time_r (Description): Mention the provided functions.
60311         * lib/time_r.c: Don't include <string.h>.
60312         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
60313         * doc/posix-functions/localtime_r.texi: Likewise.
60315 2010-04-03  Bruno Haible  <bruno@clisp.org>
60317         time: Fix regression introduced on 2010-03-08.
60318         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
60319         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
60321 2010-04-03  Jim Meyering  <meyering@redhat.com>
60323         maint.mk: don't silently disable project-specific syntax-check rules
60324         * top/maint.mk (_prohibit_regexp): Define, to help people realize
60325         that they need to convert their project-specific syntax-check rules
60326         to use the new _sc_search_regexp.
60328 2010-04-03  Bruno Haible  <bruno@clisp.org>
60330         fchdir: Fix regression introduced on 2010-03-08.
60331         * lib/unistd.in.h (fchdir): Fix declaration.
60332         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
60333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
60334         REPLACE_FCHDIR.
60335         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
60336         REPLACE_FCHDIR.
60338 2010-04-03  Bruno Haible  <bruno@clisp.org>
60340         getpagesize: Fix C++ test error on mingw.
60341         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
60342         system does not declare the function.
60343         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
60344         declared.
60345         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
60346         HAVE_DECL_GETPAGESIZE.
60347         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
60349 2010-04-03  Bruno Haible  <bruno@clisp.org>
60351         stdio: Make C++ tests work on mingw.
60352         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
60353         does not declare the function.
60355 2010-04-03  Bruno Haible  <bruno@clisp.org>
60357         ftello: Fix C++ test error on mingw.
60358         * lib/stdio.in.h (ftello): Use modern idiom.
60359         * lib/ftello.c (ftello): Renamed from rpl_ftello.
60360         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
60361         is missing and that it needs to be replaced.
60362         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
60363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
60364         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
60366 2010-04-03  Bruno Haible  <bruno@clisp.org>
60368         fseeko: Fix C++ test error on mingw.
60369         * lib/stdio.in.h (fseeko): Use modern idiom.
60370         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
60371         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
60372         is missing and that it needs to be replaced.
60373         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
60374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
60375         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
60377 2010-04-03  Bruno Haible  <bruno@clisp.org>
60379         mkstemp: Fix C++ test error on mingw.
60380         * lib/stdlib.in.h (mkstemp): Use modern idiom.
60381         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
60382         function is missing and that it needs to be replaced.
60383         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
60384         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
60386 2010-04-03  Bruno Haible  <bruno@clisp.org>
60388         stpncpy: Fix C++ test error on mingw.
60389         * lib/string.in.h (stpncpy): Use modern idiom.
60390         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
60391         function is missing and that it needs to be replaced.
60392         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
60393         REPLACE_STPNCPY.
60394         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
60396 2010-04-03  Bruno Haible  <bruno@clisp.org>
60398         sys_stat: Fix C++ test error on mingw.
60399         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
60400         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
60402 2010-04-03  Bruno Haible  <bruno@clisp.org>
60404         pty: Update doc.
60405         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
60407 2010-04-03  Bruno Haible  <bruno@clisp.org>
60409         unistd: Fix C++ test error on mingw.
60410         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
60412 2010-04-03  Bruno Haible  <bruno@clisp.org>
60414         Update doc regarding mingw.
60415         * doc/glibc-functions/openpty.texi: Update regarding mingw.
60416         * doc/glibc-functions/login_tty.texi: Likewise.
60417         * doc/glibc-functions/forkpty.texi: Likewise.
60419 2010-04-03  Bruno Haible  <bruno@clisp.org>
60421         stdlib: Avoid compilation failure of c-strtold on mingw.
60422         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
60424 2010-04-03  Bruno Haible  <bruno@clisp.org>
60426         locale: Make C++ tests work on Cygwin and mingw.
60427         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
60428         cannot provide the function.
60429         Reported by Simon Josefsson.
60431 2010-04-03  Bruno Haible  <bruno@clisp.org>
60433         localename: Port to MacOS X 10.6.
60434         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
60435         memory layout of the locales in MacOS X 10.6 as well.
60436         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
60438 2010-04-02  Bruno Haible  <bruno@clisp.org>
60440         gnulib-tool: Ensure that long-running tests are executed last.
60441         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
60442         running tests after the one for the other tests.
60444 2010-04-02  Bruno Haible  <bruno@clisp.org>
60446         gnulib-tool: Ensure the tests in the main directory are executed first.
60447         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
60448         start with the current directory.
60450 2010-04-02  Bruno Haible  <bruno@clisp.org>
60452         Tests for module 'havelib', moved here from GNU gettext.
60453         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
60454         modifications.
60455         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
60456         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
60457         with modifications.
60458         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
60459         modifications.
60460         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
60461         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
60462         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
60463         with modifications.
60464         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
60465         with modifications.
60466         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
60467         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
60468         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
60469         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
60470         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
60471         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
60472         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
60473         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
60474         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
60475         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
60476         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
60477         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
60478         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
60479         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
60480         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
60481         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
60482         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
60483         with modifications.
60484         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
60485         with modifications.
60486         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
60487         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
60488         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
60489         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
60490         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
60491         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
60492         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
60493         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
60494         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
60495         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
60496         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
60497         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
60498         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
60499         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
60500         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
60501         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
60502         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
60503         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
60504         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
60505         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
60506         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
60507         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
60508         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
60509         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
60510         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
60511         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
60512         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
60513         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
60514         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
60515         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
60516         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
60517         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
60518         * tests/havelib/rpathx/rpathx.c: New file, from
60519         gettext/autoconf-lib-link.
60520         * tests/havelib/rpathx/Makefile.am: New file, from
60521         gettext/autoconf-lib-link.
60522         * tests/havelib/rpathx/configure.ac: New file, from
60523         gettext/autoconf-lib-link with modifications.
60524         * tests/havelib/rpathy/rpathy.c: New file, from
60525         gettext/autoconf-lib-link.
60526         * tests/havelib/rpathy/Makefile.am: New file, from
60527         gettext/autoconf-lib-link.
60528         * tests/havelib/rpathy/configure.ac: New file, from
60529         gettext/autoconf-lib-link with modifications.
60530         * tests/havelib/rpathz/rpathz.c: New file, from
60531         gettext/autoconf-lib-link.
60532         * tests/havelib/rpathz/Makefile.am: New file, from
60533         gettext/autoconf-lib-link.
60534         * tests/havelib/rpathz/configure.ac: New file, from
60535         gettext/autoconf-lib-link with modifications.
60536         * tests/havelib/rpathlx/usex.c: New file, from
60537         gettext/autoconf-lib-link.
60538         * tests/havelib/rpathlx/Makefile.am: New file, from
60539         gettext/autoconf-lib-link.
60540         * tests/havelib/rpathlx/configure.ac: New file, from
60541         gettext/autoconf-lib-link with modifications.
60542         * tests/havelib/rpathly/usey.c: New file, from
60543         gettext/autoconf-lib-link.
60544         * tests/havelib/rpathly/Makefile.am: New file, from
60545         gettext/autoconf-lib-link.
60546         * tests/havelib/rpathly/configure.ac: New file, from
60547         gettext/autoconf-lib-link with modifications.
60548         * tests/havelib/rpathlz/usez.c: New file, from
60549         gettext/autoconf-lib-link.
60550         * tests/havelib/rpathlz/Makefile.am: New file, from
60551         gettext/autoconf-lib-link.
60552         * tests/havelib/rpathlz/configure.ac: New file, from
60553         gettext/autoconf-lib-link with modifications.
60554         * tests/havelib/rpathlyx/usey.c: New file, from
60555         gettext/autoconf-lib-link.
60556         * tests/havelib/rpathlyx/Makefile.am: New file, from
60557         gettext/autoconf-lib-link.
60558         * tests/havelib/rpathlyx/configure.ac: New file, from
60559         gettext/autoconf-lib-link with modifications.
60560         * tests/havelib/rpathlzyx/usez.c: New file, from
60561         gettext/autoconf-lib-link.
60562         * tests/havelib/rpathlzyx/Makefile.am: New file, from
60563         gettext/autoconf-lib-link.
60564         * tests/havelib/rpathlzyx/configure.ac: New file, from
60565         gettext/autoconf-lib-link with modifications.
60566         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
60567         with modifications.
60569 2010-04-02  Bruno Haible  <bruno@clisp.org>
60571         gnulib-tool: Create distributed built sources also for the tests.
60572         * gnulib-tool (func_create_testdir): Also generate distributed built
60573         sources in the tests directory.
60575 2010-04-02  Bruno Haible  <bruno@clisp.org>
60577         gnulib-tool: Obey user's environment variables.
60578         * gnulib-tool (func_create_testdir): When creating built sources,
60579         respect the environment variables for autoconf, automake, etc. given by
60580         the user.
60582 2010-04-02  Bruno Haible  <bruno@clisp.org>
60584         gnulib-tool: Provide the value of --m4-base to modules.
60585         * gnulib-tool (func_import, func_create_testdir): Emit a definition
60586         of gl_m4_base.
60588 2010-04-02  Eric Blake  <eblake@redhat.com>
60590         maint.mk: fix some fallout
60591         * NEWS: Document the incompatible change, and its effect on cfg.mk.
60592         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
60594 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
60596         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
60597         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
60598         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
60599         (sc_cast_of_x_alloc_return_value): Likewise.
60600         (sc_cast_of_alloca_return_value): Likewise.
60601         (sc_space_tab): Likewise.
60602         (sc_prohibit_atoi_atof): Likewise.
60603         (sc_prohibit_magic_number_exit): Likewise.
60604         (sc_error_exit_success): Likewise.
60605         (sc_file_system): Likewise.
60606         (sc_prohibit_have_config_h): Likewise.
60607         (sc_require_config_h): Likewise.
60608         (sc_prohibit_HAVE_MBRTOWC): Likewise.
60609         (sc_obsolete_symbols): Likewise.
60610         (sc_changelog): Likewise.
60611         (sc_program_name): Likewise.
60612         (sc_the_the): Likewise.
60613         (sc_trailing_blank): Likewise.
60614         (sc_two_space_separator_in_usage): Likewise.
60615         (sc_useless_cpp_parens): Likewise.
60616         (sc_GPL_version): Likewise.
60617         (sc_GFDL_version): Likewise.
60618         (sc_texinfo_acronym): Likewise.
60619         (sc_prohibit_cvs_keyword): Likewise.
60620         (sc_prohibit_stat_st_blocks): Likewise.
60621         (sc_prohibit_S_IS_definition): Likewise.
60622         (sc_redundant_const): Likewise.
60623         (sc_makefile_TAB_only_indentation): Likewise.
60624         (sc_m4_quote_check): Likewise.
60625         (sc_makefile_path_separator_check): Likewise.
60626         (sc_copyright_check): Likewise.
60627         (sc_Wundef_boolean): Likewise.
60628         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
60630         maint.mk: match 0 or more whitespace-before-function-call '('
60631         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
60632         that have zero or two-and-more spaces between the function name
60633         and the open parenthesis.
60634         (sc_error_message_warn_fatal): Likewise.
60635         (sc_error_message_uppercase): Likewise.
60636         (sc_error_message_period): Likewise.
60638 2010-03-31  Eric Blake  <eblake@redhat.com>
60640         maint.mk: check for [ as well as test
60641         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
60642         Based on a libvirt report by Matthias Bolte.
60644         gnumakefile: don't squelch _version output
60645         * top/GNUmakefile (_version): Create one-shot dependency rather
60646         than using $(shell) when version must be regenerated.
60647         (_autoreconf): Run verbosely, by default.
60649         sys_time: avoid compiler warnings
60650         * lib/sys_time.in.h (includes): Ensure gcc pragma is
60651         unconditional, fixing regression from 2010-03-29.
60652         Reported by Simon Josefsson.
60654 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
60656         maint.mk: s/_header_without_use/_sc_header_without_use/
60657         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
60658         (sc_prohibit_assert_without_use): Use the new name.
60659         (sc_prohibit_close_stream_without_use): Likewise.
60660         (sc_prohibit_getopt_without_use): Likewise.
60661         (sc_prohibit_quotearg_without_use): Likewise.
60662         (sc_prohibit_quote_without_use): Likewise.
60663         (sc_prohibit_long_options_without_use): Likewise.
60664         (sc_prohibit_inttostr_without_use): Likewise.
60665         (sc_prohibit_ignore_value_without_use): Likewise.
60666         (sc_prohibit_error_without_use): Likewise.
60667         (sc_prohibit_xalloc_without_use): Likewise.
60668         (sc_prohibit_hash_without_use): Likewise.
60669         (sc_prohibit_hash_pjw_without_use): Likewise.
60670         (sc_prohibit_safe_read_without_use): Likewise.
60671         (sc_prohibit_argmatch_without_use): Likewise.
60672         (sc_prohibit_canonicalize_without_use): Likewise.
60673         (sc_prohibit_root_dev_ino_without_use): Likewise.
60674         (sc_prohibit_openat_without_use): Likewise.
60675         (sc_prohibit_c_ctype_without_use): Likewise.
60676         (sc_prohibit_signal_without_use): Likewise.
60677         (sc_prohibit_intprops_without_use): Likewise.
60679 2010-03-30  Eric Blake  <eblake@redhat.com>
60681         maint: improve module indicators
60682         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
60683         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
60684         columns, and avoid extra macro expansion.
60686         fdopendir: work around FreeBSD bug
60687         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
60688         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
60689         * modules/dirent (Makefile.am): Substitute it.
60690         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
60691         declaration.
60692         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
60693         fix.
60694         Reported by Christian Weisgerber <naddy@mips.inka.de>.
60696 2010-03-29  Bruno Haible  <bruno@clisp.org>
60698         Emit #pragma system_header after the inclusion guard, not before.
60699         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
60700         guard that spans the entire file, not before. This enables an
60701         optimization in GCC's preprocessor.
60702         * lib/ctype.in.h: Likewise.
60703         * lib/dirent.in.h: Likewise.
60704         * lib/errno.in.h: Likewise.
60705         * lib/float.in.h: Likewise.
60706         * lib/getopt.in.h: Likewise.
60707         * lib/iconv.in.h: Likewise.
60708         * lib/langinfo.in.h: Likewise.
60709         * lib/locale.in.h: Likewise.
60710         * lib/math.in.h: Likewise.
60711         * lib/netdb.in.h: Likewise.
60712         * lib/netinet_in.in.h: Likewise.
60713         * lib/pty.in.h: Likewise.
60714         * lib/sched.in.h: Likewise.
60715         * lib/se-selinux.in.h: Likewise.
60716         * lib/search.in.h: Likewise.
60717         * lib/spawn.in.h: Likewise.
60718         * lib/stdarg.in.h: Likewise.
60719         * lib/stdint.in.h: Likewise.
60720         * lib/string.in.h: Likewise.
60721         * lib/strings.in.h: Likewise.
60722         * lib/sys_file.in.h: Likewise.
60723         * lib/sys_ioctl.in.h: Likewise.
60724         * lib/sys_time.in.h: Likewise.
60725         * lib/sys_times.in.h: Likewise.
60726         * lib/sys_utsname.in.h: Likewise.
60727         * lib/sys_wait.in.h: Likewise.
60728         * lib/sysexits.in.h: Likewise.
60729         * lib/wctype.in.h: Likewise.
60731 2010-03-28  James Youngman  <jay@gnu.org>
60733         save-cwd: don't leak a file descriptor when the caller execs.
60734         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
60735         saved file descriptor.
60736         * modules/save-cwd (Depends-on): Depend on cloexec.
60738 2010-03-29  Bruno Haible  <bruno@clisp.org>
60740         Remove vestiges of fts-lgpl module.
60741         * lib/fts_.h: Assume GNULIB_FTS is 1.
60742         * lib/fts.c: Likewise.
60743         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
60745 2010-03-28  Bruno Haible  <bruno@clisp.org>
60747         Fix definition of tests witness macro.
60748         * gnulib-tool (func_import): Fix definition of witness macro.
60750 2010-03-28  Bruno Haible  <bruno@clisp.org>
60752         Fix ioctl's protoype on glibc systems.
60753         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
60754         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
60755         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
60756         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
60757         signature. If not, arrange to replace the ioctl function.
60758         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
60759         REPLACE_IOCTL.
60760         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
60761         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
60762         Reported by Ludovic Courtès <ludo@gnu.org>.
60764 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
60766         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
60767         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
60768         made it so grep -r --include=GLOB* ... did not work.
60770 2010-03-26  Jim Meyering  <meyering@redhat.com>
60771             Eric Blake  <eblake@redhat.com>
60773         maint.mk: prohibit use of test's -o and -a operators
60774         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
60776 2010-03-28  Bruno Haible  <bruno@clisp.org>
60778         Remove unused GNULIB_XYZ macro definitions.
60779         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
60780         invocation.
60782 2010-03-28  Bruno Haible  <bruno@clisp.org>
60784         Mark privileged tests modules.
60785         * modules/idpriv-drop-tests (Status): New section.
60786         * modules/idpriv-droptemp-tests (Status): New section.
60788 2010-03-28  Bruno Haible  <bruno@clisp.org>
60790         Split C++ tests into separate tests modules.
60791         * modules/dirent-c++-tests: New file, extracted from
60792         modules/dirent-tests.
60793         * modules/dirent-tests: Depend on it.
60794         * modules/fcntl-h-c++-tests: New file, extracted from
60795         modules/fcntl-h-tests.
60796         * modules/fcntl-h-tests: Depend on it.
60797         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
60798         * modules/glob-tests: Depend on it.
60799         * modules/iconv-h-c++-tests: New file, extracted from
60800         modules/iconv-h-tests.
60801         * modules/iconv-h-tests: Depend on it.
60802         * modules/langinfo-c++-tests: New file, extracted from
60803         modules/langinfo-tests.
60804         * modules/langinfo-tests: Depend on it.
60805         * modules/locale-c++-tests: New file, extracted from
60806         modules/locale-tests.
60807         * modules/locale-tests: Depend on it.
60808         * modules/math-c++-tests: New file, extracted from modules/math-tests.
60809         * modules/math-tests: Depend on it.
60810         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
60811         * modules/pty-tests: Depend on it.
60812         * modules/search-c++-tests: New file, extracted from
60813         modules/search-tests.
60814         * modules/search-tests: Depend on it.
60815         * modules/signal-c++-tests: New file, extracted from
60816         modules/signal-tests.
60817         * modules/signal-tests: Depend on it.
60818         * modules/spawn-c++-tests: New file, extracted from
60819         modules/spawn-tests.
60820         * modules/spawn-tests: Depend on it.
60821         * modules/stdio-c++-tests: New file, extracted from
60822         modules/stdio-tests.
60823         * modules/stdio-tests: Depend on it.
60824         * modules/stdlib-c++-tests: New file, extracted from
60825         modules/stdlib-tests.
60826         * modules/stdlib-tests: Depend on it.
60827         * modules/string-c++-tests: New file, extracted from
60828         modules/string-tests.
60829         * modules/string-tests: Depend on it.
60830         * modules/sys_ioctl-c++-tests: New file, extracted from
60831         modules/sys_ioctl-tests.
60832         * modules/sys_ioctl-tests: Depend on it.
60833         * modules/sys_select-c++-tests: New file, extracted from
60834         modules/sys_select-tests.
60835         * modules/sys_select-tests: Depend on it.
60836         * modules/sys_socket-c++-tests: New file, extracted from
60837         modules/sys_socket-tests.
60838         * modules/sys_socket-tests: Depend on it.
60839         * modules/sys_stat-c++-tests: New file, extracted from
60840         modules/sys_stat-tests.
60841         * modules/sys_stat-tests: Depend on it.
60842         * modules/sys_time-c++-tests: New file, extracted from
60843         modules/sys_time-tests.
60844         * modules/sys_time-tests: Depend on it.
60845         * modules/time-c++-tests: New file, extracted from modules/time-tests.
60846         * modules/time-tests: Depend on it.
60847         * modules/unistd-c++-tests: New file, extracted from
60848         modules/unistd-tests.
60849         * modules/unistd-tests: Depend on it.
60850         * modules/wchar-c++-tests: New file, extracted from
60851         modules/wchar-tests.
60852         * modules/wchar-tests: Depend on it.
60853         * modules/wctype-c++-tests: New file, extracted from
60854         modules/wctype-tests.
60855         * modules/wctype-tests: Depend on it.
60856         Reported by Simon Josefsson.
60858 2010-03-28  Bruno Haible  <bruno@clisp.org>
60860         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
60861         * gnulib-tool (func_exists_module): New function, extracted from
60862         func_verify_module.
60863         (func_verify_module): Use it.
60864         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
60865         'foo' only if 'foo' exists.
60866         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
60867         module.
60869 2010-03-28  Bruno Haible  <bruno@clisp.org>
60871         gnulib-tool: Add support for special categories of tests.
60872         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
60873         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
60874         (func_usage): Document them.
60875         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
60876         inc_unportable_tests, inc_all_tests): New variables.
60877         (func_acceptable): Consider these variables.
60878         (func_modules_transitive_closure): Make it work when the 'Status' field
60879         consists of multiple words.
60880         (func_import): Store and restore the values of inc_cxx_tests,
60881         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
60882         inc_all_tests in gnulib-comp.m4.
60883         (func_create_testdir): Set inc_all_tests to true.
60884         * doc/gnulib.texi (Extra tests modules): New section.
60885         Suggested by Jim Meyering.
60887 2010-03-28  Bruno Haible  <bruno@clisp.org>
60889         ansi-c++-opt: Allow turning off the C++ build by default.
60890         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
60891         gl_CXX_CHOICE_DEFAULT_NO is defined.
60892         Requested by Eric Blake.
60894 2010-03-28  Bruno Haible  <bruno@clisp.org>
60896         unistd: Avoid #define replacements in C++ mode.
60897         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
60898         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
60899         setsockopt, shutdown, select): In C++, attach a warning to the function
60900         if possible, rather than #defining the symbol to a dysfunctional alias.
60901         Reported by John W. Eaton <jwe@gnu.org>.
60903 2010-03-28  Bruno Haible  <bruno@clisp.org>
60905         Fix link errors on mingw.
60906         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
60907         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
60908         $(LIBSOCKET).
60909         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
60910         $(LIBSOCKET).
60912 2010-03-28  Bruno Haible  <bruno@clisp.org>
60913             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60915         lib-ignore: Determine different options for different compilers.
60916         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
60917         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
60918         Add comments.
60919         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
60920         * NEWS: Mention the change.
60922 2010-03-27  Bruno Haible  <bruno@clisp.org>
60924         Remove unused GNULIB_XYZ macro definitions.
60925         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
60926         * modules/fseek (configure.ac): Likewise.
60927         * modules/ioctl (configure.ac): Likewise.
60928         * modules/open (configure.ac): Likewise.
60929         * modules/stdlib-safer (configure.ac): Likewise.
60931 2010-03-27  Bruno Haible  <bruno@clisp.org>
60933         Add a remark about certain modules.
60934         * modules/malloc (Comment): New section.
60935         * modules/realloc (Comment): Likewise.
60936         * modules/sigpipe (Comment): Likewise.
60938 2010-03-27  Bruno Haible  <bruno@clisp.org>
60940         Resolve conflict between the two kinds of module indicators.
60941         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
60942         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
60943         * modules/canonicalize (configure.ac): Invoke
60944         gl_MODULE_INDICATOR_FOR_TESTS.
60945         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
60946         GNULIB_XYZ.
60947         * tests/test-dirent-c++.cc: Likewise.
60948         * tests/test-dirent-safer.c: Likewise.
60949         * tests/test-dup2.c: Likewise.
60950         * tests/test-fchdir.c: Likewise.
60951         * tests/test-fcntl-h-c++.cc: Likewise.
60952         * tests/test-getopt.c: Likewise.
60953         * tests/test-getopt.h: Likewise.
60954         * tests/test-langinfo-c++.cc: Likewise.
60955         * tests/test-locale-c++.cc: Likewise.
60956         * tests/test-math-c++.cc: Likewise.
60957         * tests/test-pty-c++.cc: Likewise.
60958         * tests/test-search-c++.cc: Likewise.
60959         * tests/test-signal-c++.cc: Likewise.
60960         * tests/test-spawn-c++.cc: Likewise.
60961         * tests/test-stdio-c++.cc: Likewise.
60962         * tests/test-stdlib-c++.cc: Likewise.
60963         * tests/test-string-c++.cc: Likewise.
60964         * tests/test-sys_ioctl-c++.cc: Likewise.
60965         * tests/test-sys_select-c++.cc: Likewise.
60966         * tests/test-sys_socket-c++.cc: Likewise.
60967         * tests/test-sys_stat-c++.cc: Likewise.
60968         * tests/test-sys_time-c++.cc: Likewise.
60969         * tests/test-time-c++.cc: Likewise.
60970         * tests/test-unistd-c++.cc: Likewise.
60971         * tests/test-wchar-c++.cc: Likewise.
60972         * tests/uninorm/test-u8-nfc.c: Likewise.
60973         * tests/uninorm/test-u8-nfd.c: Likewise.
60974         * tests/uninorm/test-u8-nfkc.c: Likewise.
60975         * tests/uninorm/test-u8-nfkd.c: Likewise.
60976         * tests/uninorm/test-u16-nfc.c: Likewise.
60977         * tests/uninorm/test-u16-nfd.c: Likewise.
60978         * tests/uninorm/test-u16-nfkc.c: Likewise.
60979         * tests/uninorm/test-u16-nfkd.c: Likewise.
60980         * tests/uninorm/test-u32-nfc.c: Likewise.
60981         * tests/uninorm/test-u32-nfc-big.c: Likewise.
60982         * tests/uninorm/test-u32-nfd.c: Likewise.
60983         * tests/uninorm/test-u32-nfd-big.c: Likewise.
60984         * tests/uninorm/test-u32-nfkc.c: Likewise.
60985         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
60986         * tests/uninorm/test-u32-nfkd.c: Likewise.
60987         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
60988         * tests/uninorm/test-u32-normalize-big.c: Likewise.
60990 2010-03-27  Bruno Haible  <bruno@clisp.org>
60992         Distinguish two kinds of module indicators.
60993         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
60994         gl_MODULE_INDICATOR.
60995         (gl_MODULE_INDICATOR): New macro.
60996         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
60997         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
60998         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
60999         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
61000         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
61001         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
61002         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
61003         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
61004         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
61005         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
61006         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
61007         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
61008         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
61009         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
61010         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
61011         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
61012         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
61013         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
61014         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
61015         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
61016         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
61017         * modules/cloexec (configure.ac): Likewise.
61018         * modules/getopt-gnu (configure.ac): Likewise.
61019         * modules/uninorm/u8-normalize (configure.ac): Likewise.
61020         * modules/uninorm/u16-normalize (configure.ac): Likewise.
61021         * modules/uninorm/u32-normalize (configure.ac): Likewise.
61022         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
61024 2010-03-27  Bruno Haible  <bruno@clisp.org>
61026         New module description field 'Comment'.
61027         * gnulib-tool: New option --extract-comment.
61028         (func_usage): Document it.
61029         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
61030         (func_get_comment): New function.
61031         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
61033 2010-03-27  Bruno Haible  <bruno@clisp.org>
61035         Addendum to 2010-02-07 commit.
61036         * gnulib-tool (func_usage): Document --extract-applicability option.
61038 2010-03-27  Bruno Haible  <bruno@clisp.org>
61040         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
61041         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
61042         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
61043         rather than link errors.
61045 2010-03-27  Bruno Haible  <bruno@clisp.org>
61047         Avoid side effects from tests-related modules on the compilation of lib.
61048         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
61049         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
61050         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
61051         parameter. Emit into AM_CPPFLAGS a definition of the designated C
61052         macro.
61053         (func_import): Define a witness macro. Assign it a value that depends
61054         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
61055         tests-related modules.
61056         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
61057         Reported by Jim Meyering.
61059 2010-03-27  Bruno Haible  <bruno@clisp.org>
61061         Factorize common .m4 code.
61062         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
61063         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
61064         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
61065         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
61066         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
61067         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
61068         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
61069         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
61070         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
61071         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
61072         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
61073         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
61074         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
61075         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
61076         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
61077         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
61078         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
61079         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
61080         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
61081         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
61082         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
61083         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
61084         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
61085         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
61086         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
61087         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
61088         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
61089         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
61090         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
61091         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
61092         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
61093         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
61095 2010-03-27  Bruno Haible  <bruno@clisp.org>
61097         Fix a compilation error on Cygwin with g++ >= 4.3.
61098         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
61099         if it is undefined or if we alias it to chmod.
61100         (lstat): Don't warn about the use of this function if it is undefined
61101         or if we alias it to stat.
61102         Reported by Simon Josefsson.
61104 2010-03-27  Bruno Haible  <bruno@clisp.org>
61106         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
61107         * modules/getlogin (configure.ac): Update.
61109         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
61110         * modules/getlogin_r (configure.ac): Update.
61112         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
61113         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
61114         * modules/inet_ntop (configure.ac): Update.
61116         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
61117         * modules/inet_pton (configure.ac): Update.
61119         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
61120         * modules/mbslen (configure.ac): Update.
61122         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
61123         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
61124         * modules/forkpty (configure.ac): Update.
61125         * modules/openpty (configure.ac): Update.
61127 2010-03-26  Simon Josefsson  <simon@josefsson.org>
61129         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
61130         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
61132 2010-03-25  Eric Blake  <eblake@redhat.com>
61134         maint: use pragma consistently across replacement headers
61135         * lib/ctype.in.h (system_header): Hoist for consistent placement.
61136         * lib/dirent.in.h (system_header): Likewise.
61137         * lib/errno.in.h (system_header): Likewise.
61138         * lib/float.in.h (system_header): Likewise.
61139         * lib/getopt.in.h (system_header): Likewise.
61140         * lib/iconv.in.h (system_header): Likewise.
61141         * lib/inttypes.in.h (system_header): Likewise.
61142         * lib/langinfo.in.h (system_header): Likewise.
61143         * lib/locale.in.h (system_header): Likewise.
61144         * lib/math.in.h (system_header): Likewise.
61145         * lib/netdb.in.h (system_header): Likewise.
61146         * lib/netinet_in.in.h (system_header): Likewise.
61147         * lib/pty.in.h (system_header): Likewise.
61148         * lib/sched.in.h (system_header): Likewise.
61149         * lib/se-selinux.in.h (system_header): Likewise.
61150         * lib/search.in.h (system_header): Likewise.
61151         * lib/spawn.in.h (system_header): Likewise.
61152         * lib/stdarg.in.h (system_header): Likewise.
61153         * lib/stdint.in.h (system_header): Likewise.
61154         * lib/string.in.h (system_header): Likewise.
61155         * lib/strings.in.h (system_header): Likewise.
61156         * lib/sys_file.in.h (system_header): Likewise.
61157         * lib/sys_ioctl.in.h (system_header): Likewise.
61158         * lib/sys_socket.in.h (system_header): Likewise.
61159         * lib/sys_times.in.h (system_header): Likewise.
61160         * lib/sys_utsname.in.h (system_header): Likewise.
61161         * lib/sys_wait.in.h (system_header): Likewise.
61162         * lib/sysexits.in.h (system_header): Likewise.
61163         * lib/unistd.in.h (system_header): Likewise.
61164         * lib/wctype.in.h (system_header): Likewise.
61166         arpa/inet: fix mingw compilation warning
61167         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
61168         Reported by Matthew Bolte.
61170 2010-03-25  Bruno Haible  <bruno@clisp.org>
61172         Avoid collision between gnulib wrapper and libintl wrapper.
61173         * lib/printf.c (printf): Don't define if a printf wrapper is already
61174         defined in intl/printf.c.
61175         Reported by Michel Boaventura <michel@michelboaventura.com>.
61177 2010-03-25  Bruno Haible  <bruno@clisp.org>
61179         Use ANSI C.
61180         * lib/readutmp.h (getutent): Provide ANSI C prototype.
61182 2010-03-25  Bruno Haible  <bruno@clisp.org>
61184         Minor formatting changes.
61185         * lib/acosl.c: Insert space before function argument list.
61186         * lib/argz.c: Likewise.
61187         * lib/asinl.c: Likewise.
61188         * lib/expl.c: Likewise.
61189         * lib/gen-uni-tables.c: Likewise.
61190         * lib/gettext.h: Likewise.
61191         * lib/glthread/lock.h: Likewise.
61192         * lib/tanl.c: Likewise.
61193         * lib/uniname/uniname.c: Likewise.
61194         * tests/test-idpriv-drop.c: Likewise.
61195         * tests/test-idpriv-droptemp.c: Likewise.
61196         * tests/test-lock.c: Likewise.
61197         * tests/test-tls.c: Likewise.
61198         * lib/argp-help.c: Insert space before function-like macro argument
61199         list.
61200         * lib/memcmp.c: Likewise.
61201         * tests/test-base64.c: Likewise.
61202         * lib/localename.c: Insert space before sizeof's argument list.
61203         * lib/safe-alloc.h: Likewise.
61204         * lib/file-set.h: Insert space before macro argument list.
61205         * tests/test-argp.c: Likewise.
61206         * lib/argp-namefrob.h: Insert space before function parameter list.
61207         * lib/getaddrinfo.c: Likewise.
61208         * lib/netdb.in.h: Likewise.
61209         * lib/parse-duration.h: Likewise.
61210         * lib/parse-duration.c: Likewise.
61211         * lib/poll.c: Likewise.
61212         * lib/select.c: Likewise.
61213         * lib/trim.h: Likewise.
61214         * tests/test-usleep.c: Likewise.
61215         * lib/ldexpl.c: Insert space before function parameter list and before
61216         function argument list.
61217         * lib/logl.c: Likewise.
61218         * lib/sqrtl.c: Likewise.
61219         * lib/trim.c: Likewise.
61220         * lib/cosl.c: Use GNU style indentation. Insert space before function
61221         argument list.
61222         * lib/sinl.c: Likewise.
61223         * lib/tsearch.c: Insert space after 'for'.
61224         Reported by Jim Meyering.
61226 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
61228         * maint.mk (sc_Wundef_boolean): Check for the presence of the
61229         config header before grepping, as it's not present before
61230         autoreconf/configure are run.  Reported by Simon Josefsson.
61232 2010-03-23  Bruno Haible  <bruno@clisp.org>
61234         pt_chown: Make it work with automake < 1.11.
61235         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
61236         Reported by Simon Josefsson.
61238 2010-03-23  Bruno Haible  <bruno@clisp.org>
61240         pt_chown: Don't depend on GPLed modules.
61241         * lib/pt_chown.c: Don't include idpriv.h.
61242         (main): Don't drop privileges.
61243         * modules/pt_chown (Depends-on): Remove idpriv-drop.
61244         Reported by Simon Josefsson.
61246 2010-03-24  Simon Josefsson  <simon@josefsson.org>
61248         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
61249         suggestions from karl@freefriends.org (Karl Berry).
61251 2010-03-22  Eric Blake  <eblake@redhat.com>
61253         gethostname: further tweaks
61254         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
61255         are overriding gethostname.
61256         Suggested by Bruno Haible.
61258 2010-03-21  Bruno Haible  <bruno@clisp.org>
61260         Fix comments.
61261         * lib/forkpty.c (rpl_forkpty): Fix comment.
61262         * lib/openpty.c (rpl_openpty): Likewise.
61263         Reported by Eric Blake.
61265 2010-03-22  Eric Blake  <eblake@redhat.com>
61267         gethostname: fix build on mingw
61268         * lib/unistd.in.h (includes): Work around fact that mingw
61269         <winsock2.h> re-includes <unistd.h>, by avoiding any
61270         redeclarations if we are being included by <winsock2.h>.
61271         Reported by Matthias Bolte.
61273 2010-03-21  Bruno Haible  <bruno@clisp.org>
61275         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
61276         * lib/forkpty.c (forkpty): New replacement function, from glibc with
61277         modifications.
61278         * lib/pty.in.h (forkpty): Update declaration. Add comments.
61279         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
61280         provide the replacement.
61281         * modules/forkpty (Depends-on): Add openpty, login_tty.
61282         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
61283         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
61284         * doc/glibc-functions/forkpty.texi: More supported platforms.
61285         * config/srclist.txt: Add forkpty.c (commented).
61287 2010-03-21  Bruno Haible  <bruno@clisp.org>
61289         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
61290         (Makefile.am): Verify that PTY_LIB is defined.
61292         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
61294 2010-03-21  Bruno Haible  <bruno@clisp.org>
61296         Tests for module 'login_tty'.
61297         * modules/login_tty-tests: New file.
61298         * tests/test-login_tty.c: New file.
61300         New module 'login_tty'.
61301         * lib/login_tty.c: New file.
61302         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
61303         * modules/login_tty: New file.
61304         * doc/glibc-functions/login_tty.texi: Mention the new module.
61306 2010-03-21  Bruno Haible  <bruno@clisp.org>
61308         login_tty: Documentation.
61309         * doc/glibc-functions/login_tty.texi: New file.
61310         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
61312 2010-03-21  Bruno Haible  <bruno@clisp.org>
61314         pty: Consistent macro naming.
61315         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
61316         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
61317         * modules/pty (configure.ac): Update.
61319 2010-03-21  Bruno Haible  <bruno@clisp.org>
61321         Tests for openpty: Make stricter.
61322         * tests/test-openpty.c (main): Add test of canonical processing and
61323         erase.
61324         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
61326         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
61327         * lib/openpty.c (openpty): New replacement function.
61328         * lib/pty.in.h: Include <termios.h>.
61329         (openpty): Update declaration. Add comments.
61330         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
61331         is not declared, arrange to provide the replacement. Check for _getpty
61332         and posix_openpt.
61333         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
61334         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
61335         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
61336         * modules/pty-tests (test_pty_c___LDADD): New variable.
61337         * doc/glibc-functions/openpty.texi: More supported platforms.
61339 2010-03-21  Bruno Haible  <bruno@clisp.org>
61341         setenv: Tweaks.
61342         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
61343         the test program.
61344         * doc/posix-functions/setenv.texi: Update platforms list.
61346 2010-03-21  Bruno Haible  <bruno@clisp.org>
61348         New module 'unlockpt'.
61349         * lib/unlockpt.c: New file, from glibc with modifications.
61350         * m4/unlockpt.m4: New file.
61351         * modules/unlockpt: New file.
61352         * lib/stdlib.in.h (unlockpt): New declaration.
61353         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
61354         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
61355         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
61356         HAVE_UNLOCKPT.
61357         * doc/posix-functions/unlockpt.texi: Mention the new module.
61358         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
61359         * config/srclist.txt: Add unlockpt.c (commented).
61361 2010-03-21  Jim Meyering  <meyering@redhat.com>
61363         maint.mk: prohibit inclusion of "intprops.h" without use
61364         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
61366 2010-03-21  Bruno Haible  <bruno@clisp.org>
61368         New module 'grantpt'.
61369         * lib/grantpt.c: New file, from glibc with modifications.
61370         * m4/grantpt.m4: New file.
61371         * modules/grantpt: New file.
61372         * lib/stdlib.in.h (grantpt): New declaration.
61373         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
61374         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
61375         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
61376         HAVE_GRANTPT.
61377         * doc/posix-functions/grantpt.texi: Mention the new module.
61378         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
61379         * config/srclist.txt: Add grantpt.c (commented).
61381 2010-03-21  Bruno Haible  <bruno@clisp.org>
61383         New module 'pt_chown'.
61384         * lib/pt_chown.c: New file, from glibc with modifications.
61385         * lib/pty-private.h: New file, from glibc with modifications.
61386         * modules/pt_chown: New file.
61387         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
61389 2010-03-21  Bruno Haible  <bruno@clisp.org>
61391         Tests for module 'ptsname'.
61392         * modules/ptsname-tests: New file.
61393         * tests/test-ptsname.c: New file.
61395         New module 'ptsname'.
61396         * lib/ptsname.c: New file, from glibc with modifications.
61397         * m4/ptsname.m4: New file.
61398         * modules/ptsname: New file.
61399         * lib/stdlib.in.h (ptsname): New declaration.
61400         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
61401         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
61402         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
61403         HAVE_PTSNAME.
61404         * doc/posix-functions/ptsname.texi: Mention the new module.
61405         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
61406         * config/srclist.txt: Add ptsname.c (commented).
61408 2010-03-21  Bruno Haible  <bruno@clisp.org>
61410         Tests for module 'ttyname_r'.
61411         * modules/ttyname_r-tests: New file.
61412         * tests/test-ttyname_r.c: New file.
61414         New module 'ttyname_r'.
61415         * lib/ttyname_r.c: New file.
61416         * m4/ttyname_r.m4: New file.
61417         * modules/ttyname_r: New file.
61418         * lib/unistd.in.h (ttyname_r): New declaration.
61419         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
61420         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
61421         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
61422         HAVE_TTYNAME_R.
61423         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
61424         * doc/posix-functions/ttyname_r.texi: Mention the new module.
61426 2010-03-20  Bruno Haible  <bruno@clisp.org>
61428         signal: Undefine macro definitions in C++ mode.
61429         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
61430         sigfillset): Undefine macro definitions from the system header in C++
61431         mode.
61432         Reported by John W. Eaton <jwe@gnu.org>.
61434 2010-03-20  Bruno Haible  <bruno@clisp.org>
61436         Ensure no #include statements inside extern "C" { ... }.
61437         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
61438         contain #include statements.
61439         * lib/time.in.h: Likewise.
61441 2010-03-20  Bruno Haible  <bruno@clisp.org>
61443         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
61444         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
61445         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
61446         Reported by John W. Eaton <jwe@gnu.org>.
61448 2010-03-20  Bruno Haible  <bruno@clisp.org>
61450         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
61451         Reported by Jim Meyering.
61453 2010-03-20  Bruno Haible  <bruno@clisp.org>
61455         pipe: Set errno upon failure.
61456         * lib/pipe.h: Specify that when -1 is returned, errno is set.
61457         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
61458         errno value in error message.
61460 2010-03-20  Bruno Haible  <bruno@clisp.org>
61461             Jim Meyering  <meyering@redhat.com>
61463         lchown: Avoid "unused variable" warning.
61464         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
61466 2010-03-20  Bruno Haible  <bruno@clisp.org>
61468         Work around unlink() bug on MacOS X 10.5.6.
61469         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
61470         attempting to unlink a parent directory.
61471         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
61472         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
61473         activate for the replacement function.
61474         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
61476 2010-03-20  Bruno Haible  <bruno@clisp.org>
61478         Fix link errors on Solaris 8.
61479         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
61480         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
61482 2010-03-19  Jim Meyering  <meyering@redhat.com>
61484         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
61485         The _LIBC implementation of build_range_exp correctly honors the
61486         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
61487         However, the non-_LIBC implementation would ignore that syntax-bit
61488         flag and return REG_ERANGE unconditionally.
61489         This change makes it honor that flag.
61490         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
61491         Make two pointer parameters "const".
61492         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
61493         (parse_bracket_exp): Update caller.
61495         regex.m4: correct the reversed range endpoint ([b-a]) test
61496         * m4/regex.m4: When requiring that [b-a] evoke failure,
61497         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
61498         test pass once again for x86-based systems.
61500 2010-03-19  Bruno Haible  <bruno@clisp.org>
61502         scandir: Fix link error on Solaris 8.
61503         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
61504         macros.
61506 2010-03-19  Bruno Haible  <bruno@clisp.org>
61508         getusershell: Fix documentation.
61509         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
61510         module.
61511         * doc/glibc-functions/setusershell.texi: Likewise.
61513         getusershell: Provide declaration, missing on Solaris 9.
61514         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
61515         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
61516         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
61517         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
61518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
61519         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
61520         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
61521         HAVE_GETUSERSHELL.
61522         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
61524 2010-03-19  Bruno Haible  <bruno@clisp.org>
61526         wctype: Provide iswblank function.
61527         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
61528         exists and is fine.
61529         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
61530         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
61531         * tests/test-wctype.c (main): Re-enable the iswblank tests.
61532         * doc/posix-functions/iswblank.texi: Update.
61534 2010-03-19  Bruno Haible  <bruno@clisp.org>
61536         Tests of module 'pty' in C++ mode.
61537         * modules/pty-tests: New file.
61538         * tests/test-pty-c++.cc: New file.
61539         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
61541 2010-03-19  Eric Blake  <eblake@redhat.com>
61543         logb: fix documentation
61544         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
61545         1.5 declaration bug.
61547         forkpty, openpty: prefer glibc's const-safe prototype
61548         * lib/forkpty.c (rpl_forkpty): New file.
61549         * lib/openpty.c (rpl_openpty): Likewise.
61550         * modules/forkpty (Files): Distribute it.
61551         * modules/openpty (Files): Likewise.
61552         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
61553         check...
61554         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
61555         replacement for non-const BSD signature.
61556         * modules/pty (Makefile.am): Substitute witnesses.
61557         * lib/pty.in.h (forkpty, openpty): Declare replacements.
61558         * tests/test-forkpty.c: Update signature check.
61559         * tests/test-openpty.c: Likewise.
61560         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
61561         * doc/glibc-functions/openpty.texi (openpty): Likewise.
61563         forkpty, openpty: split functions into new modules
61564         * modules/pty (Makefile.am): Substitute new witnesses.
61565         (Libraries): Move library detection...
61566         * modules/forkpty: ...into new module.
61567         * modules/openpty: Another new module.
61568         * modules/pty-tests: Rename and split...
61569         * modules/forkpty-tests: ...to this...
61570         * modules/openpty-tests: ...and this.
61571         * tests/test-pty.c: Rename and split...
61572         * tests/test-forkpty.c: ...to this...
61573         * tests/test-openpty.c: ...and this.
61574         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
61575         (gl_PTY): Split library searching...
61576         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
61577         (gl_FORKPTY, gl_OPENPTY): New macros.
61578         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
61579         * NEWS: Mention the split.
61580         * MODULES.html.sh (Misc): Document the modules.
61581         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
61582         * doc/glibc-functions/openpty.texi (openpty): Likewise.
61584         pty: improve replacement header
61585         * lib/pty.in.h: New file.
61586         * modules/pty (Files): Ship it.
61587         (Makefile.am): Always build replacement.
61588         * m4/pty.m4: Rename...
61589         * m4/pty_h.m4: ...to this.
61590         (gl_PTY): Modernize setting of witness macros; update check of
61591         forkpty to take proper advantage of cache.
61592         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
61594         getopt: avoid compiler warning
61595         * lib/getopt.c (attribute_hidden): Remove unused macro.
61597 2010-03-18  Bruno Haible  <bruno@clisp.org>
61599         Fix link errors on Solaris 8.
61600         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
61601         * modules/search-tests (test_search_c___LDADD): Likewise.
61602         * modules/signal-tests (test_signal_c___LDADD): Likewise.
61603         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
61604         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
61605         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
61606         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
61607         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
61608         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
61610 2010-03-18  Bruno Haible  <bruno@clisp.org>
61612         Fix bug introduced on 2010-03-14.
61613         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
61614         (gl_SPAWN_H): Require it.
61615         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
61616         Reported by Simon Josefsson.
61618 2010-03-18  Bruno Haible  <bruno@clisp.org>
61620         Fix typo introduced on 2009-12-31.
61621         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
61622         posix_spawn_file_actions_adddup2.
61624 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
61625         and Eric Blake  <eblake@redhat.com>
61627         test-vc-list-files-git: make more robust
61628         * tests/test-vc-list-files-git.sh: Unset problematic environment
61629         variables.  Chain commands together.
61631 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
61633         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
61634         `AC_CHECK_DECL' invocation.
61636 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
61638         * lib/inttostr.c (inttostr): Make sure the invocation of verify
61639         appears before executable statements. Suggested by Petr Sumbera
61640         <Petr.Sumbera@Sun.COM>.
61642 2010-03-14  Bruno Haible  <bruno@clisp.org>
61644         * tests/test-flock.c (test_exclusive): Comment out a test that causes
61645         portability problems. Instead use a simpler test.
61646         (main): Check that invalid arguments are rejected only on Linux.
61648 2010-03-14  Bruno Haible  <bruno@clisp.org>
61650         Fix bug introduced on 2009-12-31.
61651         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
61652         gl_PREREQ_SYS_H_WINSOCK2 always.
61653         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
61654         SYS_SOCKET_H variable.
61655         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
61656         Update comments.
61657         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
61658         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
61659         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
61660         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
61661         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
61663 2010-03-14  Bruno Haible  <bruno@clisp.org>
61665         Fix values returned by sinl, cosl.
61666         * lib/trigl.h: Add specification comments.
61667         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
61668         that combines the values from the precomputed table with the values of
61669         the Chebyshev polynomials.
61671 2010-03-14  Bruno Haible  <bruno@clisp.org>
61673         Fix compilation error when modules 'posix_spawn[p]' are not used.
61674         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
61675         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
61677 2010-03-14  Bruno Haible  <bruno@clisp.org>
61679         Fix compilation error on mingw when module 'time_r' is not used.
61680         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
61681         is 1.
61682         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
61683         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
61684         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
61685         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
61687 2010-03-14  Bruno Haible  <bruno@clisp.org>
61689         Fix compilation error with Sun C.
61690         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
61691         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
61692         instead of GCC specific ULONG_LONG_MAX.
61693         * lib/xstrtoll.c: Likewise.
61694         * lib/xstrtoull.c: Likewise.
61696 2010-03-13  Bruno Haible  <bruno@clisp.org>
61698         Allow the user to disable C++ code and tests.
61699         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
61700         (gl_PROG_ANSI_CXX): Require it.
61702 2010-03-13  Bruno Haible  <bruno@clisp.org>
61704         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
61705         cases.
61707 2010-03-13  Bruno Haible  <bruno@clisp.org>
61709         Test that gnulib does not break the standard C++ headers.
61710         * tests/test-locale-c++2.cc: New file.
61711         * modules/locale-tests (Files): Add it.
61712         (Makefile.am): Compile it for test-locale-c++.
61713         * tests/test-math-c++2.cc: New file.
61714         * modules/math-tests (Files): Add it.
61715         (Makefile.am): Compile it for test-math-c++.
61716         * tests/test-signal-c++2.cc: New file.
61717         * modules/signal-tests (Files): Add it.
61718         (Makefile.am): Compile it for test-signal-c++.
61719         * tests/test-stdio-c++2.cc: New file.
61720         * modules/stdio-tests (Files): Add it.
61721         (Makefile.am): Compile it for test-stdio-c++.
61722         * tests/test-stdlib-c++2.cc: New file.
61723         * modules/stdlib-tests (Files): Add it.
61724         (Makefile.am): Compile it for test-stdlib-c++.
61725         * tests/test-string-c++2.cc: New file.
61726         * modules/string-tests (Files): Add it.
61727         (Makefile.am): Compile it for test-string-c++.
61728         * tests/test-time-c++2.cc: New file.
61729         * modules/time-tests (Files): Add it.
61730         (Makefile.am): Compile it for test-time-c++.
61731         Reported by John W. Eaton <jwe@gnu.org>.
61733 2010-03-13  Bruno Haible  <bruno@clisp.org>
61735         * gnulib-tool (func_usage): Clarify which options are available for
61736         --create-testdir and --create-megatestdir.
61738 2010-03-13  Bruno Haible  <bruno@clisp.org>
61740         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
61741         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
61742         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
61743         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
61744         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
61745         when appropriate.
61746         Reported by Jim Meyering.
61748 2010-03-12  Simon Josefsson  <simon@josefsson.org>
61750         * gnulib-tool (func_import): Explain origin of code.
61752 2010-03-12  Bruno Haible  <bruno@clisp.org>
61754         Fix problem with automake's definition of CXXLINK.
61755         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
61756         Reported by Simon Josefsson and Ludovic Courtès.
61758 2010-03-12  Bruno Haible  <bruno@clisp.org>
61760         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
61761         stable releases.
61763 2010-03-11  Bruno Haible  <bruno@clisp.org>
61765         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
61766         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
61767         whether the system provides one variant or multiple variants of the
61768         function.
61769         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
61770         C++ compilers.
61771         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
61772         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
61773         Reported by Jim Meyering.
61775 2010-03-09  Simon Josefsson  <simon@josefsson.org>
61777         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
61779 2010-03-08  Bruno Haible  <bruno@clisp.org>
61781         gnulib-tool: Add support for --libtool in --create-testdir.
61782         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
61783         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
61785 2010-03-08  Eric Blake  <eblake@redhat.com>
61787         gnulib-tool.texi: mention possibility of git submodule
61788         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
61789         submodules.
61790         * doc/.gitignore: Ignore another generated file.
61792 2010-03-08  Karl Berry  <karl@gnu.org>
61794         * doc/gnulib-tool.texi (VCS Issues): Mention third option
61795         of committing gnulib files while skipping others.
61797 2010-03-07  Bruno Haible  <bruno@clisp.org>
61799         Tests of module 'wctype' in C++ mode.
61800         * tests/test-wctype-c++.cc: New file.
61801         * modules/wctype-tests (Files): Add it and tests/signature.h.
61802         (Depends-on): Add ansi-c++-opt.
61803         (Makefile.am): Arrange to compile and run test-wctype-c++.
61805         Tests of module 'wchar' in C++ mode.
61806         * tests/test-wchar-c++.cc: New file.
61807         * modules/wchar-tests (Files): Add it and tests/signature.h.
61808         (Depends-on): Add ansi-c++-opt.
61809         (Makefile.am): Arrange to compile and run test-wchar-c++.
61810         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
61811         gl_MODULE_INDICATOR.
61813         Tests of module 'unistd' in C++ mode.
61814         * tests/test-unistd-c++.cc: New file.
61815         * modules/unistd-tests (Files): Add it and tests/signature.h.
61816         (Depends-on): Add ansi-c++-opt.
61817         (Makefile.am): Arrange to compile and run test-unistd-c++.
61818         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
61819         gl_MODULE_INDICATOR.
61821         Tests of module 'time' in C++ mode.
61822         * tests/test-time-c++.cc: New file.
61823         * modules/time-tests (Files): Add it and tests/signature.h.
61824         (Depends-on): Add ansi-c++-opt.
61825         (Makefile.am): Arrange to compile and run test-time-c++.
61826         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
61828         Tests of module 'sys_time' in C++ mode.
61829         * tests/test-sys_time-c++.cc: New file.
61830         * modules/sys_time-tests (Files): Add it and tests/signature.h.
61831         (Depends-on): Add ansi-c++-opt.
61832         (Makefile.am): Arrange to compile and run test-sys_time-c++.
61833         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
61834         gl_MODULE_INDICATOR.
61836         Tests of module 'sys_stat' in C++ mode.
61837         * tests/test-sys_stat-c++.cc: New file.
61838         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
61839         (Depends-on): Add ansi-c++-opt.
61840         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
61841         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
61842         gl_MODULE_INDICATOR.
61844         Tests of module 'sys_socket' in C++ mode.
61845         * tests/test-sys_socket-c++.cc: New file.
61846         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
61847         (Depends-on): Add ansi-c++-opt.
61848         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
61849         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
61850         gl_MODULE_INDICATOR.
61852         Tests of module 'sys_select' in C++ mode.
61853         * tests/test-sys_select-c++.cc: New file.
61854         * modules/sys_select-tests (Files): Add it and tests/signature.h.
61855         (Depends-on): Add ansi-c++-opt.
61856         (Makefile.am): Arrange to compile and run test-sys_select-c++.
61857         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
61858         gl_MODULE_INDICATOR.
61860         Tests of module 'sys_ioctl' in C++ mode.
61861         * tests/test-sys_ioctl-c++.cc: New file.
61862         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
61863         (Depends-on): Add ansi-c++-opt.
61864         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
61865         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
61866         gl_MODULE_INDICATOR.
61868         Tests of module 'string' in C++ mode.
61869         * tests/test-string-c++.cc: New file.
61870         * modules/string-tests (Files): Add it and tests/signature.h.
61871         (Depends-on): Add ansi-c++-opt.
61872         (Makefile.am): Arrange to compile and run test-string-c++.
61873         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
61874         gl_MODULE_INDICATOR.
61876         Tests of module 'stdlib' in C++ mode.
61877         * tests/test-stdlib-c++.cc: New file.
61878         * modules/stdlib-tests (Files): Add it and tests/signature.h.
61879         (Depends-on): Add ansi-c++-opt.
61880         (Makefile.am): Arrange to compile and run test-stdlib-c++.
61881         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
61882         gl_MODULE_INDICATOR.
61884         Tests of module 'stdio' in C++ mode.
61885         * tests/test-stdio-c++.cc: New file.
61886         * modules/stdio-tests (Files): Add it and tests/signature.h.
61887         (Depends-on): Add ansi-c++-opt.
61888         (Makefile.am): Arrange to compile and run test-stdio-c++.
61889         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
61890         gl_MODULE_INDICATOR.
61892         Tests of module 'spawn' in C++ mode.
61893         * tests/test-spawn-c++.cc: New file.
61894         * modules/spawn-tests (Files): Add it and tests/signature.h.
61895         (Depends-on): Add ansi-c++-opt.
61896         (Makefile.am): Arrange to compile and run test-spawn-c++.
61897         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
61898         gl_MODULE_INDICATOR.
61900         Tests of module 'signal' in C++ mode.
61901         * tests/test-signal-c++.cc: New file.
61902         * modules/signal-tests (Files): Add it and tests/signature.h.
61903         (Depends-on): Add ansi-c++-opt.
61904         (Makefile.am): Arrange to compile and run test-signal-c++.
61905         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
61906         gl_MODULE_INDICATOR.
61908         Tests of module 'search' in C++ mode.
61909         * tests/test-search-c++.cc: New file.
61910         * modules/search-tests (Files): Add it and tests/signature.h.
61911         (Depends-on): Add ansi-c++-opt.
61912         (Makefile.am): Arrange to compile and run test-search-c++.
61913         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
61914         gl_MODULE_INDICATOR.
61916         Tests of module 'math' in C++ mode.
61917         * tests/test-math-c++.cc: New file.
61918         * modules/math-tests (Files): Add it and tests/signature.h.
61919         (Depends-on): Add ansi-c++-opt.
61920         (Makefile.am): Arrange to compile and run test-math-c++.
61921         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
61923         Tests of module 'locale' in C++ mode.
61924         * tests/test-locale-c++.cc: New file.
61925         * modules/locale-tests (Files): Add it and tests/signature.h.
61926         (Depends-on): Add ansi-c++-opt.
61927         (Makefile.am): Arrange to compile and run test-locale-c++.
61928         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
61929         gl_MODULE_INDICATOR.
61931         Tests of module 'langinfo' in C++ mode.
61932         * tests/test-langinfo-c++.cc: New file.
61933         * modules/langinfo-tests (Files): Add it and tests/signature.h.
61934         (Depends-on): Add ansi-c++-opt.
61935         (Makefile.am): Arrange to compile and run test-langinfo-c++.
61936         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
61937         gl_MODULE_INDICATOR.
61939         Tests of module 'iconv-h' in C++ mode.
61940         * tests/test-iconv-h-c++.cc: New file.
61941         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
61942         (Depends-on): Add ansi-c++-opt.
61943         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
61945         Tests of module 'glob' in C++ mode.
61946         * tests/test-glob-c++.cc: New file.
61947         * modules/glob-tests (Files): Add it.
61948         (Depends-on): Add ansi-c++-opt.
61949         (Makefile.am): Arrange to compile and run test-glob-c++.
61951         Tests of module 'fcntl-h' in C++ mode.
61952         * tests/test-fcntl-h-c++.cc: New file.
61953         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
61954         (Depends-on): Add ansi-c++-opt.
61955         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
61956         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
61957         gl_MODULE_INDICATOR.
61959         Tests of module 'dirent' in C++ mode.
61960         * tests/test-dirent-c++.cc: New file.
61961         * modules/dirent-tests (Files): Add it and tests/signature.h.
61962         (Depends-on): Add ansi-c++-opt.
61963         (Makefile.am): Arrange to compile and run test-dirent-c++.
61964         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
61965         gl_MODULE_INDICATOR.
61967         New module 'ansi-c++-opt'.
61968         * modules/ansi-c++-opt: New file.
61969         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
61971         Document C++ namespace mode.
61972         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
61974         wctype: Avoid #define replacements in C++ mode.
61975         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
61976         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
61977         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
61978         In C++, define a namespaced alias symbol.
61979         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
61980         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
61981         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
61982         rule.
61984         wchar: Avoid #define replacements in C++ mode.
61985         * lib/wchar.in.h: Include c++defs.h.
61986         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
61987         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
61988         symbol.
61989         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
61990         * modules/wchar (Depends-on): Add c++defs.
61991         (Makefile.am): Update wchar.h rule.
61993         unistd: Avoid #define replacements in C++ mode.
61994         * lib/unistd.in.h: Include c++defs.h.
61995         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
61996         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
61997         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
61998         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
61999         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
62000         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
62001         symbol.
62002         (environ): Update.
62003         * modules/unistd (Depends-on): Add c++defs.
62004         (Makefile.am): Update unistd.h rule.
62006         time: Avoid #define replacements in C++ mode.
62007         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
62008         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
62009         define a namespaced alias symbol.
62010         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
62011         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
62012         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
62013         * modules/time (Depends-on): Add c++defs, warn-on-use.
62014         (Makefile.am): Update time.h rule.
62015         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
62016         * modules/nanosleep (configure.ac): Likewise.
62017         * modules/strptime (configure.ac): Likewise.
62018         * modules/timegm (configure.ac): Likewise.
62020         sys_time: Avoid #define replacements in C++ mode.
62021         * lib/sys_time.in.h: Include c++defs.h.
62022         (gettimeofday): In C++, define a namespaced alias symbol.
62023         * modules/sys_time (Depends-on): Add c++defs.
62024         (Makefile.am): Update sys/time.h rule.
62026         sys_stat: Avoid #define replacements in C++ mode.
62027         * lib/sys_stat.in.h: Include c++defs.h.
62028         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
62029         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
62030         namespaced alias symbol.
62031         In C++, define a namespaced alias symbol.
62032         * modules/sys_stat (Depends-on): Add c++defs.
62033         (Makefile.am): Update sys/stat.h rule.
62035         sys_socket: Avoid #define replacements in C++ mode.
62036         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
62037         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
62038         definitions also when the system has a <sys/socket.h>.
62039         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
62040         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
62041         In C++, define a namespaced alias symbol.
62042         * modules/sys_socket (Depends-on): Add c++defs.
62043         (Makefile.am): Update sys/socket.h rule.
62045         sys_select: Avoid #define replacements in C++ mode.
62046         * lib/sys_select.in.h: Include c++defs.h. Enable the function
62047         definitions also when the system has a <sys/select.h>.
62048         (select): In C++, define a namespaced alias symbol.
62049         * modules/sys_select (Depends-on): Add c++defs.
62050         (Makefile.am): Update sys/select.h rule.
62052         sys_ioctl: Avoid #define replacements in C++ mode.
62053         * lib/sys_ioctl.in.h: Include c++defs.h.
62054         (ioctl): In C++, define a namespaced alias symbol.
62055         * modules/sys_ioctl (Depends-on): Add c++defs.
62056         (Makefile.am): Update sys/ioctl.h rule.
62058         string: Avoid #define replacements in C++ mode.
62059         * lib/string.in.h: Include c++defs.h.
62060         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
62061         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
62062         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
62063         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
62064         strsignal, strverscmp): In C++, define a namespaced alias symbol.
62065         * modules/string (Depends-on): Add c++defs.
62066         (Makefile.am): Update string.h rule.
62068         stdlib: Avoid #define replacements in C++ mode.
62069         * lib/stdlib.in.h: Include c++defs.h.
62070         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
62071         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
62072         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
62073         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
62074         symbol.
62075         * modules/stdlib (Depends-on): Add c++defs.
62076         (Makefile.am): Update stdlib.h rule.
62078         stdio: Avoid #define replacements in C++ mode.
62079         * lib/stdio.in.h: Include c++defs.h.
62080         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
62081         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
62082         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
62083         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
62084         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
62085         namespaced alias symbol.
62086         * modules/stdio (Depends-on): Add c++defs.
62087         (Makefile.am): Update stdio.h rule.
62089         spawn: Avoid #define replacements in C++ mode.
62090         * lib/spawn.in.h: Include c++defs.h.
62091         (posix_spawn, posix_spawnp, posix_spawnattr_init,
62092         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
62093         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
62094         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
62095         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
62096         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
62097         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
62098         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
62099         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
62100         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
62101         In C++, define a namespaced alias symbol.
62102         * modules/spawn (Depends-on): Add c++defs.
62103         (Makefile.am): Update spawn.h rule.
62105         signal: Avoid #define replacements in C++ mode.
62106         * lib/signal.in.h: Include c++defs.h.
62107         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
62108         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
62109         namespaced alias symbol.
62110         * modules/signal (Depends-on): Add c++defs.
62111         (Makefile.am): Update signal.h rule.
62113         search: Avoid #define replacements in C++ mode.
62114         * lib/search.in.h: Include c++defs.h.
62115         (_gl_search_compar_fn, _gl_search_action_fn): New types.
62116         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
62117         symbol.
62118         * modules/search (Depends-on): Add c++defs.
62119         (Makefile.am): Update search.h rule.
62121         math: Avoid #define replacements in C++ mode.
62122         * lib/math.in.h: Include c++defs.h.
62123         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
62124         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
62125         trunc, truncl): In C++, define a namespaced alias symbol.
62126         * modules/math (Depends-on): Add c++defs.
62127         (Makefile.am): Update math.h rule.
62129         locale: Avoid #define replacements in C++ mode.
62130         * lib/locale.in.h: Include c++defs.h.
62131         (duplocale): In C++, define a namespaced alias symbol.
62132         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
62133         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
62134         * modules/locale (Depends-on): Add c++defs.
62135         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
62137         langinfo: Avoid #define replacements in C++ mode.
62138         * lib/langinfo.in.h: Include c++defs.h.
62139         (nl_langinfo): In C++, define a namespaced alias symbol.
62140         * modules/langinfo (Depends-on): Add c++defs.
62141         (Makefile.am): Update langinfo.h rule.
62143         iconv-h: Avoid #define replacements in C++ mode.
62144         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
62145         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
62146         symbol.
62147         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
62148         whenever iconv is present.
62149         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
62150         (Makefile.am): Update iconv.h rule.
62152         glob: Avoid #define replacements in C++ mode.
62153         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
62154         (_gl_glob_errfunc_fn): New type.
62155         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
62156         symbol.
62157         * modules/glob (Depends-on): Add c++defs, warn-on-use.
62158         (Makefile.am): Update glob.h rule.
62160         fcntl-h: Avoid #define replacements in C++ mode.
62161         * lib/fcntl.in.h: Include c++defs.h.
62162         (fcntl, open, openat): In C++, define a namespaced alias symbol.
62163         * modules/fcntl-h (Depends-on): Add c++defs.
62164         (Makefile.am): Update fcntl.h rule.
62166         dirent: Avoid #define replacements in C++ mode.
62167         * lib/dirent.in.h: Include c++defs.h.
62168         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
62169         namespaced alias symbol.
62170         (dirfd): Update declaration.
62171         * modules/dirent (Depends-on): Add c++defs.
62172         (Makefile.am): Update dirent.h rule.
62174         ctype: Make it usable in C++ code.
62175         * lib/ctype.in.h: Include c++defs.h.
62176         (isblank): Declare as extern "C".
62177         * modules/ctype (Depends-on): Add c++defs.
62178         (Makefile.am): Update ctype.h rule.
62180         New module 'c++defs'.
62181         * modules/c++defs: New file.
62182         * build-aux/c++defs.h: New file.
62183         Reported by John W. Eaton <jwe@gnu.org>.
62185 2010-03-07  Bruno Haible  <bruno@clisp.org>
62187         logb: Provide missing declaration for Cygwin.
62188         * lib/math.in.h (logb): New declaration.
62189         * m4/logb.m4: New file.
62190         * modules/logb (Files): Add m4/logb.m4.
62191         (Depends-on): Add math.
62192         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
62193         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
62194         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
62195         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
62196         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
62198 2010-03-07  Bruno Haible  <bruno@clisp.org>
62200         Fix test-cond link error.
62201         * tests/test-cond.c: Include <stdio.h>.
62203 2010-03-07  Bruno Haible  <bruno@clisp.org>
62205         Fix test-dirent-safer link error.
62206         * modules/dirent-safer-tests (Makefile.am): Define
62207         test_dirent_safer_LDADD.
62209 2010-03-07  Bruno Haible  <bruno@clisp.org>
62211         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
62212         among default module list.
62214 2010-03-07  Bruno Haible  <bruno@clisp.org>
62216         Fix link error on platforms with GNU libiconv.
62217         * modules/unistr/u8-strcoll-tests (Makefile): Define
62218         test_u8_strcoll_LDADD.
62219         * modules/unistr/u16-strcoll-tests (Makefile): Define
62220         test_u16_strcoll_LDADD.
62221         * modules/unistr/u32-strcoll-tests (Makefile): Define
62222         test_u32_strcoll_LDADD.
62224 2010-03-07  Bruno Haible  <bruno@clisp.org>
62226         Use POSIX declarations for socket functions.
62227         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
62228         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
62229         rpl_sendto): Change declaration to match POSIX.
62230         * lib/connect.c (rpl_connect): Likewise.
62231         * lib/accept.c (rpl_accept): Likewise.
62232         * lib/bind.c (rpl_bind): Likewise.
62233         * lib/getpeername.c (rpl_getpeername): Likewise.
62234         * lib/getsockname.c (rpl_getsockname): Likewise.
62235         * lib/recv.c (rpl_recv): Likewise.
62236         * lib/send.c (rpl_send): Likewise.
62237         * lib/recvfrom.c (rpl_recvfrom): Likewise.
62238         * lib/sendto.c (rpl_sendto): Likewise.
62240 2010-03-06  Bruno Haible  <bruno@clisp.org>
62242         Clarify access, euidaccess, faccessat.
62243         * doc/posix-functions/faccessat.texi: Mention security problem under
62244         "Other problems", not "Portability problems".
62245         * doc/posix-functions/access.texi: Likewise. Mention a related security
62246         problem.
62247         * doc/glibc-functions/euidaccess.texi: Mention security problems.
62248         * lib/euidaccess.c: Add comments about platforms.
62249         * lib/unistd.in.h (access, euidaccess): Add warnings.
62251 2010-03-07  Bruno Haible  <bruno@clisp.org>
62253         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
62254         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
62255         (POSIX_SPAWN_SETSCHEDULER): Likewise.
62256         (POSIX_SPAWN_USEVFORK): Define in a way that works when
62257         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
62258         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
62259         declare when POSIX_SPAWN_SETSCHEDULER is zero.
62260         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
62261         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
62262         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
62263         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
62264         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
62265         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
62266         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
62267         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
62268         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
62269         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
62270         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
62271         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
62272         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
62273         Likewise.
62274         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
62275         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
62276         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
62277         Likewise.
62278         * tests/test-spawn.c (main): Make it work when
62279         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
62281 2010-03-07  Bruno Haible  <bruno@clisp.org>
62283         Fix incorrect Makefile.am generation in German locale.
62284         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62285         Execute sed command with character range in C locale.
62287 2010-03-06  Bruno Haible  <bruno@clisp.org>
62289         Tests for module 'iconv-h'.
62290         * modules/iconv-h-tests: New file.
62291         * tests/test-iconv-h.c: New file.
62293         New module 'iconv-h'.
62294         * modules/iconv-h: New file.
62295         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
62296         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
62297         (configure.ac): Remove gl_ICONV_H.
62298         (Makefile.am): Remove rule for iconv.h.
62300 2010-03-06  Bruno Haible  <bruno@clisp.org>
62302         More consistent naming of *.m4 files.
62303         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
62304         * modules/wctype (Files): Update.
62306         More consistent naming of *.m4 files.
62307         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
62308         * modules/wchar (Files): Update.
62310 2010-03-06  Jim Meyering  <meyering@redhat.com>
62312         euidaccess: relax license to LGPLv2+
62313         * modules/euidaccess (License): Relax to LGPLv2+.
62315 2010-03-06  Bruno Haible  <bruno@clisp.org>
62317         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
62318         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
62319         (Makefile.am): Augment lib_SOURCES instead.
62321 2010-03-04  Jim Meyering  <meyering@redhat.com>
62323         utime: remove obsolete module
62324         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
62325         unnecessary for years, and has been marked as obsolete for 10 months.
62326         * modules/utime: Remove file.
62327         * lib/utime.c: Remove file.
62328         * m4/utime.m4: Remove file.
62329         * m4/utimes-null.m4: Remove file.
62330         * doc/posix-functions/utime.texi (utime): Remove reference to
62331         the module.  Move the sole "fixed by gnulib" item into the
62332         "problems not fixed by Gnulib" list.
62333         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
62335 2010-03-05  Simon Josefsson  <simon@josefsson.org>
62337         * modules/exit (License): Relax license to LGPLv2+.
62338         (Status): Mark as obsolete.
62339         * NEWS: Mention deprecated 'exit' module.
62340         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
62341         of now obsolete 'exit'.
62343 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62345         fts-lgpl: remove unused module
62346         * modules/fts-lgpl: Remove.
62347         * MODULES.html.sh (func_all_modules): Adjust.
62348         * check-module (find_included_lib_files): Adjust.
62349         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
62351 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
62353         copy-acl: enhance Solaris ACL error handling
62354         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
62355         * lib/set-mode-acl.c (qset_acl): Likewise.
62357 2010-03-02  Bruno Haible  <bruno@clisp.org>
62359         spawn: Don't override the system defined values on FreeBSD 8.
62360         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
62361         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
62362         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
62363         if HAVE_POSIX_SPAWN is 1.
62364         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
62366 2010-03-01  Bruno Haible  <bruno@clisp.org>
62368         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
62369         regarding Automake.
62371 2010-02-25  Bruno Haible  <bruno@clisp.org>
62373         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
62374         * gnulib-tool: Define 'echo' as a function only before the ksh alias
62375         setting, not afterwards.
62376         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
62378 2010-02-24  Eric Blake  <eblake@redhat.com>
62380         bootstrap, git-version-gen: use timestamp
62381         * build-aux/git-version-gen (scriptversion): Force UTC.
62382         * build-aux/bootstrap (scriptversion): New variable.
62384         bootstrap: allow older git
62385         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
62386         older than 1.6.4.  Requested by the libvirt project.
62388 2010-02-23  Eric Blake  <eblake@redhat.com>
62390         warn-on-use: work with old autoconf
62391         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
62392         AS_VAR semantics of autoconf 2.60.
62393         Reported by Bruno Haible.
62395         bootstrap: improve some comments
62396         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
62397         clarification comments.
62399         gettimeofday: provide correct function
62400         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
62401         when replacement is declared, otherwise provide gettimeofday.
62402         Reported by Michael Goffioul.
62404 2010-02-23  Jim Meyering  <meyering@redhat.com>
62406         lib-ignore: relax license to "unlimited", not LGPLv2+
62407         * modules/lib-ignore (License): Relax to "unlimited".
62409 2010-02-23  Jim Meyering  <meyering@redhat.com>
62411         lib-ignore: relax license to LGPLv2+
62412         * modules/lib-ignore (License): Relax to LGPLv2+.
62414 2010-02-22  Eric Blake  <eblake@redhat.com>
62416         lseek: avoid bash 3.2 broken pipe bug
62417         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
62418         warning from bash 3.2.
62419         Reported by Ben Pfaff, with analysis from Bruno Haible.
62421         bootstrap: support non-FSF copyright holder
62422         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
62423         bootstrap.conf override of COPYRIGHT_HOLDER.
62424         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
62426         bootstrap: interoperate with gettext 0.14.1
62427         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
62429         bootstrap: allow for alternate submodule location
62430         * build-aux/bootstrap (gnulib_path): New variable; use instead of
62431         hardcoding submodule location.
62432         (gnulib_mk): Allow direct use of Makefile.am.
62434         bootstrap: use GNULIB_SRCDIR to reduce disk usage
62435         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
62436         rather than reconfiguring where the submodule points.
62438         gettimeofday: restore support for platforms that lack function
62439         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
62440         replacement if function is missing.
62441         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
62442         * modules/sys_time (Makefile.am): Substitute it.
62443         * lib/sys_time.in.h (gettimeofday): Check it.
62444         Reported by Michael Goffioul.
62446 2010-02-21  Bruno Haible  <bruno@clisp.org>
62448         * lib/stdio.in.h (obstack_printf): Fix typo.
62450 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
62452         vc-list-files: use bzr ls's -R option
62453         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
62454         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
62456 2010-02-21  Jim Meyering  <meyering@redhat.com>
62458         init.sh: fix EXEEXT shims to work also for names like test-prog
62459         * tests/init.sh: Re-exec a better shell, when needed.
62460         If the current shell lacks support for posix $(...), an init.sh-using
62461         test will now try to find a shell that supports that.  If EXEEXT is
62462         nonempty, we also require support for hyphen-in-alias-name and shell
62463         substitutions like ${var#glob}.  Failure to find such a shell results
62464         in a skipped test.
62466 2010-02-21  Bruno Haible  <bruno@clisp.org>
62468         Really work around "broken pipe" error message from bash 3.2.
62469         * gnulib-tool (func_reset_sigpipe): Remove function.
62470         (echo): In bash 3.2, define to a function that uses printf.
62471         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
62473 2010-02-20  Bruno Haible  <bruno@clisp.org>
62475         Restore support for automake 1.9.6 with autoconf 2.61.
62476         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
62477         Reported by James Youngman <jay@gnu.org>.
62479 2010-02-20  Bruno Haible  <bruno@clisp.org>
62481         Improve *printf warning condition.
62482         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
62483         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
62484         and the function is overridden due to SIGPIPE emulation.
62486 2010-02-20  Bruno Haible  <bruno@clisp.org>
62488         * lib/stdio.in.h: Tweak comments.
62490 2010-02-19  Bruno Haible  <bruno@clisp.org>
62492         Make it easier to find modules. New gnulib-tool option '--find'.
62493         * gnulib-tool: New option --find.
62494         (func_usage): Document it.
62495         (func_sanitize_modulelist): New function, extracted from
62496         func_all_modules.
62497         (func_all_modules): Invoke it.
62498         * doc/gnulib-tool.texi (Which modules?): New node.
62500 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
62502         * lib/sys_select.in.h: Provide select replacement even if
62503         sys/select.h exists on a system, for Interix.
62505 2010-02-18  Jim Meyering  <meyering@redhat.com>
62507         init.sh: don't use $(...) just yet
62508         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
62509         to accommodate e.g., Solaris' /bin/sh.
62511 2010-02-17  Bruno Haible  <bruno@clisp.org>
62513         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
62514         Reported by Ludovic Courtès <ludo@gnu.org>.
62516 2010-02-16  Simon Josefsson  <simon@josefsson.org>
62518         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
62519         linking with -lintl.
62521 2010-02-17  Simon Josefsson  <simon@josefsson.org>
62523         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
62524         if not provided by the system's netdb.h.  Reported by
62525         ludo@gnu.org (Ludovic Courtès).
62527 2010-02-15  Jim Meyering  <meyering@redhat.com>
62529         init.sh: improve portability and efficiency
62530         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
62531         "dummy" in a for loop.
62532         Use '!', not '^' to select the complement of a character set used
62533         in a "case" statement.
62534         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
62535         Suggestions from Eric Blake.
62537         init.sh: automatically accommodate programs with the .exe suffix
62538         Automatically arrange for an invocation of "prog" to execute the
62539         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
62540         may use the simpler "prog", yet still work when built on a system
62541         that requires specifying the added suffix.
62542         Do this by constructing a function named "prog" that invokes
62543         "prog.exe" for each .exe file in selected directories.
62544         * tests/init.sh (find_exe_basenames_): New function.
62545         (create_exe_shim_functions_): New function.
62546         (path_prepend_): Use it.
62548         maint.mk: mark syntax-check sc_*.m rules as .PHONY
62549         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
62550         "make -t syntax-check" doesn't create a ton of sc_*.m files.
62552 2010-02-14  Jim Meyering  <meyering@redhat.com>
62554         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
62555         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
62556         (sc_prohibit_hash_pjw_without_use): New rule.
62558         maint.mk: allow the default upload destination dir to be overridden
62559         * top/maint.mk (upload_dest_dir_): Define with a default that
62560         preserves the status quo.
62561         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
62562         Reported by Peter Simons.
62564         maint.mk: prohibit inclusion of "hash.h" without_use
62565         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
62567 2010-02-10  Jim Meyering  <meyering@redhat.com>
62569         maint.mk: prohibit inclusion of "ignore-value.h" without_use
62570         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
62572 2010-02-09  Eric Blake  <ebb9@byu.net>
62573         and Bruno Haible  <bruno@clisp.org>
62575         obstack-printf-posix: ensure declaration
62576         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
62577         extracted from gl_FUNC_OBSTACK_PRINTF.
62578         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
62579         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
62580         Likewise.
62581         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
62582         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
62583         0.
62585 2010-02-08  Bruno Haible  <bruno@clisp.org>
62587         gnulib-tool: Fix typo in 2010-02-07 commit.
62588         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
62589         Reported by Eric Blake.
62591 2010-02-07  Bruno Haible  <bruno@clisp.org>
62593         gnulib-tool: Fix up caching patches.
62594         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
62595         option --no-cache. Use associative arrays when supported by the shell.
62596         (sed_comments): New variable.
62597         (modcache): Renamed from do_cache.
62598         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
62599         abbreviate unnecessarily.
62600         (have_associative): New variable.
62601         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
62602         way also for ksh and zsh.
62603         (func_init_sed_convert_to_cache_statements): New function, extracted
62604         from func_cache_lookup_module. Add support for associative arrays.
62605         Don't set the c_MODULE_cached variable here. Ignore all lines before
62606         the first field header. Remove only the final newline, not all trailing
62607         newlines. Support empty fields correctly. Limit the use of 'eval' to
62608         assignments.
62609         (func_get_description, func_get_status, func_get_notice,
62610         func_get_applicability, func_get_filelist, func_get_dependencies,
62611         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
62612         func_get_automake_snippet, func_get_include_directive,
62613         func_get_link_directive, func_get_license, func_get_maintainer):
62614         Update documentation. List the unoptimized code first. Add support for
62615         associative arrays. Limit the use of 'eval' to assignments.
62616         (func_get_applicability): Undo stylistic pessimisations.
62617         (func_get_automake_snippet, func_get_include_directive): Reduce code
62618         duplication.
62619         (func_modules_transitive_closure, func_modules_add_dummy,
62620         func_modules_notice, func_modules_to_filelist, func_add_file,
62621         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
62622         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
62623         func_create_testdir, func_create_megatestdir): Update documentation.
62625 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62627         * gnulib-tool (func_cache_lookup_module): Store the module name
62628         belonging to the cache variable; error out if two different
62629         module names map to the same cache variable name.
62631 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62633         gnulib-tool: Make caching optional.
62634         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
62635         Update matching short versions of --no-changelog.
62636         (func_usage): Update.
62637         (sed_extract_cache_prog): Renamed from ...
62638         (sed_extract_prog): ... this; revert to old extraction script.
62639         (func_get_description, func_get_status)
62640         (func_get_notice, func_get_applicability, func_get_filelist)
62641         (func_get_dependencies, func_get_autoconf_early_snippet)
62642         (func_get_autoconf_snippet, func_get_automake_snippet)
62643         (func_get_include_directive, func_get_link_directive)
62644         (func_get_license, func_get_maintainer): If $do_cache is false,
62645         use old, non-caching extraction scripts.
62646         Suggestion by Bruno Haible.
62648 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62650         gnulib-tool: cache module metainformation.
62651         * gnulib-tool (sed_extract_prog): Match newline before each
62652         header, and rewrite header to a shell variable suffix.
62653         (func_cache_var, func_cache_lookup_module): New functions,
62654         to turn a module name into a cache variable prefix, and to
62655         look up and cache module metainformation.
62656         (func_get_description, func_get_status)
62657         (func_get_notice, func_get_applicability, func_get_filelist)
62658         (func_get_dependencies, func_get_autoconf_early_snippet)
62659         (func_get_autoconf_snippet, func_get_automake_snippet)
62660         (func_get_include_directive, func_get_link_directive)
62661         (func_get_license, func_get_maintainer): Use
62662         func_cache_lookup_module.
62664 2010-02-07  Bruno Haible  <bruno@clisp.org>
62666         fnctl: Fix missing dependency.
62667         * modules/fcntl (Depends-on): Add getdtablesize.
62668         Reported by John W. Eaton <jwe@gnu.org>.
62670 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62672         Argp: fix recognition of short alias options.
62674         * lib/argp-parse.c (convert_options): Fix improper use of
62675         `|' between character values.
62676         * tests/test-argp.c (group1_option): New alias option
62677         --read (-r).
62678         (group1_parser): Special handling for 'r'.
62679         (test15): New test case.
62680         (test_fun): Add test15.
62681         * tests/test-argp-2.sh: Update expected --help and --usage
62682         outputs.
62684 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62686         * tests/test-argp.c: Fix indentation.
62688 2010-02-04  Eric Blake  <ebb9@byu.net>
62690         gettimeofday: expose type of second argument
62691         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
62692         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
62693         * tests/test-gettimeofday.c: Use it to silence warning.
62694         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
62695         the issue.
62697 2010-02-03  Jim Meyering  <meyering@redhat.com>
62699         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
62700         * lib/regcomp.c (TYPE_SIGNED): Define.
62701         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
62703         regcomp.c: avoid a new -Wshadow warning
62704         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
62706 2010-02-01  Jim Meyering  <meyering@redhat.com>
62708         removing useless parentheses in cpp #define directives
62709         For motivation, see commit c0221df4, "define STREQ(a,b)
62710         consistently, removing useless parentheses"
62711         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
62712         * lib/mountlist.c (MNT_IGNORE): Likewise.
62713         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
62715 2010-02-01  Eric Blake  <ebb9@byu.net>
62717         sys_time: use link-warning
62718         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
62719         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
62720         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
62721         * modules/sys_time (Depends-on): Add warn-on-use.
62722         (Makefile.am): Always build replacement.
62723         (configure.ac): Update substitutions.
62724         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
62725         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
62726         bother with SYS_TIME_H.
62727         * modules/gettimeofday (configure.ac): Declare indicator.
62728         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
62729         in use.
62731         closein-tests: silence compiler warning
62732         * tests/test-closein.c (main): Ignore fread result.
62733         * modules/closein-tests (Depends-on): Add ignore-value.
62735         tests: silence warning about system return
62736         * tests/test-areadlink-with-size.c (main): Ignore system result.
62737         * tests/test-areadlink.c (main): Likewise.
62738         * tests/test-areadlinkat-with-size.c (main): Likewise.
62739         * tests/test-areadlinkat.c (main): Likewise.
62740         * tests/test-canonicalize-lgpl.c (main): Likewise.
62741         * tests/test-canonicalize.c (main): Likewise.
62742         * tests/test-chown.c (main): Likewise.
62743         * tests/test-fchownat.c (main): Likewise.
62744         * tests/test-fdutimensat.c (main): Likewise.
62745         * tests/test-fstatat.c (main): Likewise.
62746         * tests/test-futimens.c (main): Likewise.
62747         * tests/test-lchown.c (main): Likewise.
62748         * tests/test-link.c (main): Likewise.
62749         * tests/test-linkat.c (main): Likewise.
62750         * tests/test-lstat.c (main): Likewise.
62751         * tests/test-mkdir.c (main): Likewise.
62752         * tests/test-mkdirat.c (main): Likewise.
62753         * tests/test-mkfifo.c (main): Likewise.
62754         * tests/test-mkfifoat.c (main): Likewise.
62755         * tests/test-mknod.c (main): Likewise.
62756         * tests/test-readlink.c (main): Likewise.
62757         * tests/test-remove.c (main): Likewise.
62758         * tests/test-rename.c (main): Likewise.
62759         * tests/test-renameat.c (main): Likewise.
62760         * tests/test-rmdir.c (main): Likewise.
62761         * tests/test-symlink.c (main): Likewise.
62762         * tests/test-symlinkat.c (main): Likewise.
62763         * tests/test-unlink.c (main): Likewise.
62764         * tests/test-unlinkat.c (main): Likewise.
62765         * tests/test-utimens.c (main): Likewise.
62766         * tests/test-utimensat.c (main): Likewise.
62767         * modules/areadlink-tests (Depends-on): Add ignore-value.
62768         * modules/areadlink-with-size-tests (Depends-on): Likewise.
62769         * modules/areadlinkat-tests (Depends-on): Likewise.
62770         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
62771         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
62772         * modules/canonicalize-tests (Depends-on): Likewise.
62773         * modules/chown-tests (Depends-on): Likewise.
62774         * modules/fdutimensat-tests (Depends-on): Likewise.
62775         * modules/futimens-tests (Depends-on): Likewise.
62776         * modules/lchown-tests (Depends-on): Likewise.
62777         * modules/link-tests (Depends-on): Likewise.
62778         * modules/linkat-tests (Depends-on): Likewise.
62779         * modules/lstat-tests (Depends-on): Likewise.
62780         * modules/mkdir-tests (Depends-on): Likewise.
62781         * modules/mkfifo-tests (Depends-on): Likewise.
62782         * modules/mkfifoat-tests (Depends-on): Likewise.
62783         * modules/mknod-tests (Depends-on): Likewise.
62784         * modules/openat-tests (Depends-on): Likewise.
62785         * modules/readlink-tests (Depends-on): Likewise.
62786         * modules/remove-tests (Depends-on): Likewise.
62787         * modules/rename-tests (Depends-on): Likewise.
62788         * modules/renameat-tests (Depends-on): Likewise.
62789         * modules/rmdir-tests (Depends-on): Likewise.
62790         * modules/symlink-tests (Depends-on): Likewise.
62791         * modules/symlinkat-tests (Depends-on): Likewise.
62792         * modules/unlink-tests (Depends-on): Likewise.
62793         * modules/utimens-tests (Depends-on): Likewise.
62794         * modules/utimensat-tests (Depends-on): Likewise.
62796 2010-01-31  Bruno Haible  <bruno@clisp.org>
62798         Perform the same test for many <math.h> functions.
62799         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
62800         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
62801         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
62802         of gl_MATHFUNC.
62803         * modules/acos (configure.ac): Likewise.
62804         * modules/asin (configure.ac): Likewise.
62805         * modules/atan (configure.ac): Likewise.
62806         * modules/atan2 (configure.ac): Likewise.
62807         * modules/cbrt (configure.ac): Likewise.
62808         * modules/copysign (configure.ac): Likewise.
62809         * modules/cos (configure.ac): Likewise.
62810         * modules/cosh (configure.ac): Likewise.
62811         * modules/erf (configure.ac): Likewise.
62812         * modules/erfc (configure.ac): Likewise.
62813         * modules/exp (configure.ac): Likewise.
62814         * modules/fmod (configure.ac): Likewise.
62815         * modules/hypot (configure.ac): Likewise.
62816         * modules/j0 (configure.ac): Likewise.
62817         * modules/j1 (configure.ac): Likewise.
62818         * modules/jn (configure.ac): Likewise.
62819         * modules/lgamma (configure.ac): Likewise.
62820         * modules/log (configure.ac): Likewise.
62821         * modules/log10 (configure.ac): Likewise.
62822         * modules/log1p (configure.ac): Likewise.
62823         * modules/pow (configure.ac): Likewise.
62824         * modules/remainder (configure.ac): Likewise.
62825         * modules/sin (configure.ac): Likewise.
62826         * modules/sinh (configure.ac): Likewise.
62827         * modules/tan (configure.ac): Likewise.
62828         * modules/tanh (configure.ac): Likewise.
62829         * modules/y0 (configure.ac): Likewise.
62830         * modules/y1 (configure.ac): Likewise.
62831         * modules/yn (configure.ac): Likewise.
62832         Suggested by Paolo Bonzini.
62834 2010-01-31  Bruno Haible  <bruno@clisp.org>
62836         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
62838 2010-01-31  Bruno Haible  <bruno@clisp.org>
62840         Work around getdelim() bug on FreeBSD 8.0.
62841         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
62842         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
62843         not work.
62844         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
62845         is 1.
62846         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
62847         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
62848         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
62849         a non-zero size.
62850         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
62852 2010-01-31  Bruno Haible  <bruno@clisp.org>
62854         Work around getline() bug on FreeBSD 8.0.
62855         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
62856         and a non-zero size.
62857         * tests/test-getline.c (main): Likewise.
62858         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
62859         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
62861 2010-01-28  Eric Blake  <ebb9@byu.net>
62863         regex: fix build failure
62864         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
62865         platforms.
62867 2010-01-28  Jim Meyering  <meyering@redhat.com>
62869         regex: do not ignore memory allocation failure
62870         * lib/regex_internal.c (create_cd_newstate): Detect
62871         re_node_set_init_copy failure.   Extracted from glibc commit
62872         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
62874         regex: sync more white-space changes from libc
62875         * lib/regex_internal.c: White-space only changes.
62876         * lib/regexec.c: Likewise.
62878         regex: add many uses of __attribute_warn_unused_result__
62879         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
62880         * lib/regexec.c: Likewise.
62881         Extracted from a messy glibc commit.
62883         regcomp.c: spelling and merge-artifact from glibc
62884         * lib/regcomp.c: Merge remainder of glibc's
62885         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
62887         regcomp.c: sync white-space changes from glibc
62888         * lib/regcomp.c: Merge to accommodate white space
62889         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
62891         regcomp.c: do not ignore internal return values
62892         * lib/regcomp.c: Do not ignore internal return values.
62893         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
62894         but without its white-space changes and spelling fixes.
62896         regex_internal.h: define __attribute_warn_unused_result__
62897         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
62899         maint: add a syntax-check rule to check for vulnerable Makefile.in
62900         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
62902 2010-01-27  Jim Meyering  <meyering@redhat.com>
62904         ncftpput-ftp: clean up spaces
62905         * build-aux/ncftpput-ftp: Make Copyright line consistent.
62906         Remove trailing blanks.
62908 2010-01-27  Simon Josefsson  <simon@josefsson.org>
62910         * build-aux/git-version-gen: Fix copyright statement.
62911         * build-aux/gnupload: Likewise.
62912         * tests/test-arcfour.c: Likewise.
62913         * tests/test-arctwo.c: Likewise.
62914         * tests/test-count-one-bits.c: Likewise.
62915         * tests/test-crc.c: Likewise.
62916         * tests/test-des.c: Likewise.
62917         * tests/test-gc-arcfour.c: Likewise.
62918         * tests/test-gc-arctwo.c: Likewise.
62919         * tests/test-gc-des.c: Likewise.
62920         * tests/test-gc-hmac-md5.c: Likewise.
62921         * tests/test-gc-hmac-sha1.c: Likewise.
62922         * tests/test-gc-md2.c: Likewise.
62923         * tests/test-gc-md4.c: Likewise.
62924         * tests/test-gc-md5.c: Likewise.
62925         * tests/test-gc-pbkdf2-sha1.c: Likewise.
62926         * tests/test-gc-rijndael.c: Likewise.
62927         * tests/test-gc-sha1.c: Likewise.
62928         * tests/test-gc.c: Likewise.
62929         * tests/test-gethostname.c: Likewise.
62930         * tests/test-gettimeofday.c: Likewise.
62931         * tests/test-hash.c: Likewise.
62932         * tests/test-hmac-md5.c: Likewise.
62933         * tests/test-hmac-sha1.c: Likewise.
62934         * tests/test-md2.c: Likewise.
62935         * tests/test-md4.c: Likewise.
62936         * tests/test-md5.c: Likewise.
62937         * tests/test-memchr.c: Likewise.
62938         * tests/test-memchr2.c: Likewise.
62939         * tests/test-memcmp.c: Likewise.
62940         * tests/test-memmem.c: Likewise.
62941         * tests/test-memrchr.c: Likewise.
62942         * tests/test-rawmemchr.c: Likewise.
62943         * tests/test-read-file.c: Likewise.
62944         * tests/test-rijndael.c: Likewise.
62945         * tests/test-sockets.c: Likewise.
62946         * tests/test-strchrnul.c: Likewise.
62947         * tests/test-strstr.c: Likewise.
62948         * tests/test-strtod.c: Likewise.
62949         * build-aux/ncftpput-ftp: Likewise.
62951 2010-01-26  Eric Blake  <ebb9@byu.net>
62953         ignore-value: update recommended header name
62954         * modules/ignore-value (Include): Only use <> for headers that
62955         exist in glibc.
62957 2010-01-26  Jim Meyering  <meyering@redhat.com>
62959         test-userspec.c: avoid compiler warnings
62960         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
62961         and "initialization discards qualifiers..." warnings.
62962         Put the first "uid" in its own scope, and make char* members "const".
62964 2010-01-25  Bruno Haible  <bruno@clisp.org>
62966         gnulib-tool: Make warning diagnostics consistent.
62967         * gnulib-tool (func_warning): New function.
62968         Use it everywhere where gnulib-tool produces output to stderr and it is
62969         not a fatal error.
62971 2010-01-25  Bruno Haible  <bruno@clisp.org>
62973         Fix test dependencies.
62974         * modules/xstrtol-tests (Depends-on): Add inttypes.
62975         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
62977 2010-01-25  Pádraig Brady  <P@draigBrady.com>
62979         syntax-check: detect incorrect boolean macro values in config.h
62980         * modules/maintainer-makefile (configure.ac): Parameterize the location
62981         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
62982         The logic is from Eric Blake and the location indicated by Jim Meyering.
62983         Note the more natural CONFIG_HEADER name is prohibited by automake
62984         for backwards compatibility reasons.
62985         * top/maint.mk (sc_Wundef_boolean): New rule.
62987 2010-01-25  Jim Meyering  <meyering@redhat.com>
62989         bootstrap: detect MacOS 10.6's shasum, too
62990         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
62991         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
62993 2010-01-23  Jim Meyering  <meyering@redhat.com>
62995         xstrtoll: new module
62996         * modules/xstrtoll: New file.
62997         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
62998         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
62999         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
63000         ./configure fails if you use this module and lack "long long".
63001         * modules/xstrtoll-tests: New module.
63002         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
63003         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
63004         new init.sh-based test framework.
63006 2010-01-24  Bruno Haible  <bruno@clisp.org>
63008         Tests for module 'yn'.
63009         * modules/yn-tests: New file.
63010         * tests/test-yn.c: New file.
63012         Tests for module 'y1'.
63013         * modules/y1-tests: New file.
63014         * tests/test-y1.c: New file.
63016         Tests for module 'y0'.
63017         * modules/y0-tests: New file.
63018         * tests/test-y0.c: New file.
63020         Tests for module 'tanh'.
63021         * modules/tanh-tests: New file.
63022         * tests/test-tanh.c: New file.
63024         Tests for module 'tan'.
63025         * modules/tan-tests: New file.
63026         * tests/test-tan.c: New file.
63028         Tests for module 'sqrt'.
63029         * modules/sqrt-tests: New file.
63030         * tests/test-sqrt.c: New file.
63032         Tests for module 'sinh'.
63033         * modules/sinh-tests: New file.
63034         * tests/test-sinh.c: New file.
63036         Tests for module 'sin'.
63037         * modules/sin-tests: New file.
63038         * tests/test-sin.c: New file.
63040         Tests for module 'rint'.
63041         * modules/rint-tests: New file.
63042         * tests/test-rint.c: New file.
63044         Tests for module 'remainder'.
63045         * modules/remainder-tests: New file.
63046         * tests/test-remainder.c: New file.
63048         Tests for module 'pow'.
63049         * modules/pow-tests: New file.
63050         * tests/test-pow.c: New file.
63052         Tests for module 'nextafter'.
63053         * modules/nextafter-tests: New file.
63054         * tests/test-nextafter.c: New file.
63056         Tests for module 'modf'.
63057         * modules/modf-tests: New file.
63058         * tests/test-modf.c: New file.
63060         Tests for module 'logb'.
63061         * modules/logb-tests: New file.
63062         * tests/test-logb.c: New file.
63064         Tests for module 'log1p'.
63065         * modules/log1p-tests: New file.
63066         * tests/test-log1p.c: New file.
63068         Tests for module 'log10'.
63069         * modules/log10-tests: New file.
63070         * tests/test-log10.c: New file.
63072         Tests for module 'log'.
63073         * modules/log-tests: New file.
63074         * tests/test-log.c: New file.
63076         Tests for module 'lgamma'.
63077         * modules/lgamma-tests: New file.
63078         * tests/test-lgamma.c: New file.
63080         Tests for module 'ldexp'.
63081         * modules/ldexp-tests: New file.
63082         * tests/test-ldexp.c: New file.
63084         Tests for module 'jn'.
63085         * modules/jn-tests: New file.
63086         * tests/test-jn.c: New file.
63088         Tests for module 'j1'.
63089         * modules/j1-tests: New file.
63090         * tests/test-j1.c: New file.
63092         Tests for module 'j0'.
63093         * modules/j0-tests: New file.
63094         * tests/test-j0.c: New file.
63096         Tests for module 'hypot'.
63097         * modules/hypot-tests: New file.
63098         * tests/test-hypot.c: New file.
63100         Tests for module 'fmod'.
63101         * modules/fmod-tests: New file.
63102         * tests/test-fmod.c: New file.
63104         Tests for module 'fabs'.
63105         * modules/fabs-tests: New file.
63106         * tests/test-fabs.c: New file.
63108         Tests for module 'exp'.
63109         * modules/exp-tests: New file.
63110         * tests/test-exp.c: New file.
63112         Tests for module 'erfc'.
63113         * modules/erfc-tests: New file.
63114         * tests/test-erfc.c: New file.
63116         Tests for module 'erf'.
63117         * modules/erf-tests: New file.
63118         * tests/test-erf.c: New file.
63120         Tests for module 'cosh'.
63121         * modules/cosh-tests: New file.
63122         * tests/test-cosh.c: New file.
63124         Tests for module 'cos'.
63125         * modules/cos-tests: New file.
63126         * tests/test-cos.c: New file.
63128         Tests for module 'copysign'.
63129         * modules/copysign-tests: New file.
63130         * tests/test-copysign.c: New file.
63132         Tests for module 'cbrt'.
63133         * modules/cbrt-tests: New file.
63134         * tests/test-cbrt.c: New file.
63136         Tests for module 'atan2'.
63137         * modules/atan2-tests: New file.
63138         * tests/test-atan2.c: New file.
63140         Tests for module 'atan'.
63141         * modules/atan-tests: New file.
63142         * tests/test-atan.c: New file.
63144         Tests for module 'asin'.
63145         * modules/asin-tests: New file.
63146         * tests/test-asin.c: New file.
63148         Tests for module 'acos'.
63149         * modules/acos-tests: New file.
63150         * tests/test-acos.c: New file.
63152 2010-01-24  Bruno Haible  <bruno@clisp.org>
63154         Fix tests for common <math.h> functions.
63155         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
63156         code snippet that references the function pointer, rather than merely
63157         calling the function. Substitute the FUNC_LIBM variable.
63158         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
63159         * modules/acos (configure.ac): Likewise.
63160         * modules/asin (configure.ac): Likewise.
63161         * modules/atan (configure.ac): Likewise.
63162         * modules/atan2 (configure.ac): Likewise.
63163         * modules/cbrt (configure.ac): Likewise.
63164         * modules/copysign (configure.ac): Likewise.
63165         * modules/cos (configure.ac): Likewise.
63166         * modules/cosh (configure.ac): Likewise.
63167         * modules/erf (configure.ac): Likewise.
63168         * modules/erfc (configure.ac): Likewise.
63169         * modules/exp (configure.ac): Likewise.
63170         * modules/fabs (configure.ac): Likewise.
63171         * modules/fmod (configure.ac): Likewise.
63172         * modules/hypot (configure.ac): Likewise.
63173         * modules/j0 (configure.ac): Likewise.
63174         * modules/j1 (configure.ac): Likewise.
63175         * modules/jn (configure.ac): Likewise.
63176         * modules/ldexp (configure.ac): Likewise.
63177         * modules/lgamma (configure.ac): Likewise.
63178         * modules/log (configure.ac): Likewise.
63179         * modules/log10 (configure.ac): Likewise.
63180         * modules/log1p (configure.ac): Likewise.
63181         * modules/logb (configure.ac): Likewise.
63182         * modules/modf (configure.ac): Likewise.
63183         * modules/nextafter (configure.ac): Likewise.
63184         * modules/pow (configure.ac): Likewise.
63185         * modules/remainder (configure.ac): Likewise.
63186         * modules/rint (configure.ac): Likewise.
63187         * modules/sin (configure.ac): Likewise.
63188         * modules/sinh (configure.ac): Likewise.
63189         * modules/tan (configure.ac): Likewise.
63190         * modules/tanh (configure.ac): Likewise.
63191         * modules/y0 (configure.ac): Likewise.
63192         * modules/y1 (configure.ac): Likewise.
63193         * modules/yn (configure.ac): Likewise.
63195 2010-01-24  Bruno Haible  <bruno@clisp.org>
63197         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
63198         * tests/test-acosl.c (x): New variable.
63199         (main): Store argument in x and fetch it from x.
63200         * tests/test-asinl.c (x): New variable.
63201         (main): Store argument in x and fetch it from x.
63202         * tests/test-atanl.c (x): New variable.
63203         (main): Store argument in x and fetch it from x.
63204         * tests/test-cosl.c (x): New variable.
63205         (main): Store argument in x and fetch it from x.
63206         * tests/test-expl.c (x): New variable.
63207         (main): Store argument in x and fetch it from x.
63208         * tests/test-logl.c (x): New variable.
63209         (main): Store argument in x and fetch it from x.
63210         * tests/test-sinl.c (x): New variable.
63211         (main): Store argument in x and fetch it from x.
63212         * tests/test-sqrtl.c (x): New variable.
63213         (main): Store argument in x and fetch it from x.
63214         * tests/test-tanl.c (x): New variable.
63215         (main): Store argument in x and fetch it from x.
63217 2010-01-24  Bruno Haible  <bruno@clisp.org>
63219         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
63220         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
63221         assignments to the initial TESTS_ENVIRONMENT.
63222         * doc/gnulib.texi (Unit test modules): Document it.
63223         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
63224         TESTS_ENVIRONMENT.
63225         * modules/btowc-tests (Makefile.am): Likewise.
63226         * modules/c-stack-tests (Makefile.am): Likewise.
63227         * modules/c-strcase-tests (Makefile.am): Likewise.
63228         * modules/copy-file-tests (Makefile.am): Likewise.
63229         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
63230         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
63231         * modules/mbrtowc-tests (Makefile.am): Likewise.
63232         * modules/mbscasecmp-tests (Makefile.am): Likewise.
63233         * modules/mbscasestr-tests (Makefile.am): Likewise.
63234         * modules/mbschr-tests (Makefile.am): Likewise.
63235         * modules/mbscspn-tests (Makefile.am): Likewise.
63236         * modules/mbsinit-tests (Makefile.am): Likewise.
63237         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
63238         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
63239         * modules/mbspbrk-tests (Makefile.am): Likewise.
63240         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
63241         * modules/mbsrchr-tests (Makefile.am): Likewise.
63242         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
63243         * modules/mbsspn-tests (Makefile.am): Likewise.
63244         * modules/mbsstr-tests (Makefile.am): Likewise.
63245         * modules/nl_langinfo-tests (Makefile.am): Likewise.
63246         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
63247         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
63248         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
63249         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
63250         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
63251         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
63252         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
63253         * modules/wcrtomb-tests (Makefile.am): Likewise.
63254         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
63255         * modules/wcsrtombs-tests (Makefile.am): Likewise.
63256         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
63257         assignments from TESTS_ENVIRONMENT.
63258         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
63259         augmentation.
63260         * modules/argp-version-etc-tests (Makefile.am): Likewise.
63261         * modules/atexit-tests (Makefile.am): Likewise.
63262         * modules/binary-io-tests (Makefile.am): Likewise.
63263         * modules/closein-tests (Makefile.am): Likewise.
63264         * modules/dprintf-posix-tests (Makefile.am): Likewise.
63265         * modules/exclude-tests (Makefile.am): Likewise.
63266         * modules/fflush-tests (Makefile.am): Likewise.
63267         * modules/fpending-tests (Makefile.am): Likewise.
63268         * modules/fprintf-posix-tests (Makefile.am): Likewise.
63269         * modules/freadahead-tests (Makefile.am): Likewise.
63270         * modules/freadptr-tests (Makefile.am): Likewise.
63271         * modules/freadseek-tests (Makefile.am): Likewise.
63272         * modules/fseek-tests (Makefile.am): Likewise.
63273         * modules/fseeko-tests (Makefile.am): Likewise.
63274         * modules/ftell-tests (Makefile.am): Likewise.
63275         * modules/ftello-tests (Makefile.am): Likewise.
63276         * modules/idpriv-drop-tests (Makefile.am): Likewise.
63277         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
63278         * modules/lseek-tests (Makefile.am): Likewise.
63279         * modules/parse-duration-tests (Makefile.am): Likewise.
63280         * modules/perror-tests (Makefile.am): Likewise.
63281         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
63282         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
63283         * modules/pipe-tests (Makefile.am): Likewise.
63284         * modules/pread-tests (Makefile.am): Likewise.
63285         * modules/printf-posix-tests (Makefile.am): Likewise.
63286         * modules/select-tests (Makefile.am): Likewise.
63287         * modules/sigpipe-tests (Makefile.am): Likewise.
63288         * modules/tsearch-tests (Makefile.am): Likewise.
63289         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
63290         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
63291         * modules/uniname/uniname-tests (Makefile.am): Likewise.
63292         * modules/uniwidth/width-tests (Makefile.am): Likewise.
63293         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
63294         * modules/version-etc-tests (Makefile.am): Likewise.
63295         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
63296         * modules/vprintf-posix-tests (Makefile.am): Likewise.
63297         * modules/xalloc-die-tests (Makefile.am): Likewise.
63298         * modules/xprintf-posix-tests (Makefile.am): Likewise.
63299         * modules/xstrtoimax-tests (Makefile.am): Likewise.
63300         * modules/xstrtol-tests (Makefile.am): Likewise.
63301         * modules/xstrtoumax-tests (Makefile.am): Likewise.
63302         * modules/yesno-tests (Makefile.am): Likewise.
63303         Suggested by Jim Meyering.
63305 2010-01-24  Bruno Haible  <bruno@clisp.org>
63307         More documentation.
63308         * doc/gnulib.texi (Writing modules): New chapter.
63309         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
63310         the new chapter.
63312 2010-01-24  Jim Meyering  <meyering@redhat.com>
63314         maint.mk: do not prepend "./" after filtering
63315         * top/maint.mk (_prepend_srcdir_prefix): New variable
63316         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
63317         "./" when $(srcdir) is ".".
63319         define STREQ(a,b) consistently, removing useless parentheses
63320         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
63321         since the only risk is that "a" or "b" contains an unparenthesized
63322         comma, but if either did that, STREQ would have 3 or more arguments.
63323         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
63324         * lib/fts.c (STREQ): Remove unnecessary parentheses.
63325         * lib/hash-triple.c (STREQ): Likewise.
63326         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
63327         * lib/getugroups.c (STREQ): Likewise.
63329 2010-01-23  Jim Meyering  <meyering@redhat.com>
63331         maint.mk: fix syntax-check in a non-srcdir build directory
63332         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
63333         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
63335 2010-01-22  Jim Meyering  <meyering@redhat.com>
63337         userspec: add unit tests
63338         * tests/test-userspec.c: New file.
63339         * modules/userspec-tests: Likewise.
63341 2010-01-21  Jim Meyering  <meyering@redhat.com>
63343         maint.mk: handle source file names containing "." robustly
63344         * top/maint.mk (_dot_escaped_srcdir): Define.
63345         (VC_LIST): Use it in LHS of sed substitution.
63347 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
63349         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
63350         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
63351         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
63352         from a non-srcdir build.
63354 2010-01-20  Eric Blake  <ebb9@byu.net>
63356         warn-on-use: use instead of link-warning
63357         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
63358         * modules/unistd (Depends-on, Makefile.am): Likewise.
63359         * modules/arpa_inet (Depends-on): Replace link-warning with
63360         warn-on-use.
63361         (Makefile.am): Update rules accordingly.
63362         * modules/ctype (Depends-on, Makefile.am): Likewise.
63363         * modules/dirent (Depends-on, Makefile.am): Likewise.
63364         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
63365         * modules/inttypes (Depends-on, Makefile.am): Likewise.
63366         * modules/langinfo (Depends-on, Makefile.am): Likewise.
63367         * modules/locale (Depends-on, Makefile.am): Likewise.
63368         * modules/math (Depends-on, Makefile.am): Likewise.
63369         * modules/search (Depends-on, Makefile.am): Likewise.
63370         * modules/signal (Depends-on, Makefile.am): Likewise.
63371         * modules/spawn (Depends-on, Makefile.am): Likewise.
63372         * modules/stdlib (Depends-on, Makefile.am): Likewise.
63373         * modules/string (Depends-on, Makefile.am): Likewise.
63374         * modules/strings (Depends-on, Makefile.am): Likewise.
63375         * modules/sys_file (Depends-on, Makefile.am): Likewise.
63376         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
63377         * modules/sys_select (Depends-on, Makefile.am): Likewise.
63378         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
63379         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
63380         * modules/sys_times (Depends-on, Makefile.am): Likewise.
63381         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
63382         * modules/wchar (Depends-on, Makefile.am): Likewise.
63383         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
63384         should be poisoned.
63385         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
63386         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
63387         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
63388         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
63389         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
63390         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
63391         * m4/math_h.m4 (gl_MATH_H): Likewise.
63392         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
63393         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
63394         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
63395         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
63396         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
63397         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
63398         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
63399         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
63400         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
63401         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
63402         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
63403         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
63404         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
63405         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
63406         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
63407         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
63408         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
63409         GL_LINK_WARNING.
63410         * lib/ctype.in.h: Likewise.
63411         * lib/dirent.in.h: Likewise.
63412         * lib/fcntl.in.h: Likewise.
63413         * lib/inttypes.in.h: Likewise.
63414         * lib/langinfo.in.h: Likewise.
63415         * lib/locale.in.h: Likewise.
63416         * lib/math.in.h: Likewise.
63417         * lib/search.in.h: Likewise.
63418         * lib/signal.in.h: Likewise.
63419         * lib/spawn.in.h: Likewise.
63420         * lib/stdio.in.h: Likewise.
63421         * lib/stdlib.in.h: Likewise.
63422         * lib/string.in.h: Likewise.
63423         * lib/strings.in.h: Likewise.
63424         * lib/sys_file.in.h: Likewise.
63425         * lib/sys_ioctl.in.h: Likewise.
63426         * lib/sys_select.in.h: Likewise.
63427         * lib/sys_socket.in.h: Likewise.
63428         * lib/sys_stat.in.h: Likewise.
63429         * lib/sys_times.in.h: Likewise.
63430         * lib/sys_utsname.in.h: Likewise.
63431         * lib/unistd.in.h: Likewise.
63432         * lib/wchar.in.h: Likewise.
63434 2010-01-20  Bruno Haible  <bruno@clisp.org>
63436         Avoid duplicate -lm.
63437         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
63438         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
63439         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
63440         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
63441         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
63442         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
63443         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
63444         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
63445         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
63446         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
63447         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
63448         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
63449         Reported by Paolo Bonzini.
63451 2010-01-19  Bruno Haible  <bruno@clisp.org>
63453         langinfo, nl_langinfo: Relicense under LGPLv2+.
63454         * modules/langinfo (License): Change to LGPLv2+.
63455         * modules/nl_langinfo (License): Likewise.
63456         Patch by David Lutterkort <lutter@redhat.com>.
63458 2010-01-19  Bruno Haible  <bruno@clisp.org>
63460         Avoid compilation error with cc on OSF/1 5.1.
63461         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
63462         statement, not before.
63463         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63465 2010-01-18  Bruno Haible  <bruno@clisp.org>
63467         Avoid a link error due to the __printf__ symbol.
63468         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
63469         and 2.6.x.
63470         (__format__, __printf__): Remove definitions.
63471         * lib/argp-fmtstream.h: Likewise.
63472         * lib/argp.h: Likewise.
63473         * lib/error.h: Likewise.
63474         * lib/vasnprintf.h: Likewise.
63475         * lib/xprintf.h: Likewise.
63476         * lib/xvasprintf.h: Likewise.
63477         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63479 2010-01-18  Bruno Haible  <bruno@clisp.org>
63481         Tests for module 'tanl'.
63482         * modules/tanl-tests: New file.
63483         * tests/test-tanl.c: New file.
63485         Tests for module 'sqrtl'.
63486         * modules/sqrtl-tests: New file.
63487         * tests/test-sqrtl.c: New file.
63489         Tests for module 'sinl'.
63490         * modules/sinl-tests: New file.
63491         * tests/test-sinl.c: New file.
63493         Tests for module 'logl'.
63494         * modules/logl-tests: New file.
63495         * tests/test-logl.c: New file.
63497         Tests for module 'expl'.
63498         * modules/expl-tests: New file.
63499         * tests/test-expl.c: New file.
63501         Tests for module 'cosl'.
63502         * modules/cosl-tests: New file.
63503         * tests/test-cosl.c: New file.
63505         Tests for module 'atanl'.
63506         * modules/atanl-tests: New file.
63507         * tests/test-atanl.c: New file.
63509         Tests for module 'asinl'.
63510         * modules/asinl-tests: New file.
63511         * tests/test-asinl.c: New file.
63513         Tests for module 'acosl'.
63514         * modules/acosl-tests: New file.
63515         * tests/test-acosl.c: New file.
63517         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
63518         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
63519         tanl): Use the standard gnulib idiom.
63520         * lib/cosl.c: Don't include trigl.c and sincosl.c.
63521         * lib/sinl.c: Likewise.
63522         * lib/tanl.c: Don't include trigl.c.
63523         (kernel_tanl): Make static.
63524         * lib/sincosl.c: Include trigl.h first.
63525         * lib/trigl.c: Likewise.
63526         * m4/acosl.m4: New file.
63527         * m4/asinl.m4: New file.
63528         * m4/atanl.m4: New file.
63529         * m4/cosl.m4: New file.
63530         * m4/expl.m4: New file.
63531         * m4/logl.m4: New file.
63532         * m4/sinl.m4: New file.
63533         * m4/sqrtl.m4: New file.
63534         * m4/tanl.m4: New file.
63535         * m4/mathl.m4: Remove file.
63536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
63537         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
63538         Don't initialize GNULIB_MATHL.
63539         * modules/acosl: New file.
63540         * modules/asinl: New file.
63541         * modules/atanl: New file.
63542         * modules/cosl: New file.
63543         * modules/expl: New file.
63544         * modules/logl: New file.
63545         * modules/sinl: New file.
63546         * modules/sqrtl: New file.
63547         * modules/tanl: New file.
63548         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
63549         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
63550         substitute GNULIB_MATHL.
63551         * modules/mathl: Rewritten.
63552         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
63553         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
63554         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
63555         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
63556         * doc/posix-functions/expl.texi: Mention the 'expl' module.
63557         * doc/posix-functions/logl.texi: Mention the 'logl' module.
63558         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
63559         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
63560         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
63562 2010-01-18  Bruno Haible  <bruno@clisp.org>
63564         sqrt: Make gl_FUNC_SQRT requirable.
63565         * m4/sqrt.m4: New file.
63566         * modules/sqrt (Files): Add it.
63567         (configure.ac): Invoke gl_FUNC_SQRT.
63569 2010-01-18  Bruno Haible  <bruno@clisp.org>
63571         New modules for common <math.h> functions.
63572         * m4/mathfunc.m4: New file.
63573         * modules/acos: New file.
63574         * modules/asin: New file.
63575         * modules/atan: New file.
63576         * modules/atan2: New file.
63577         * modules/cbrt: New file.
63578         * modules/copysign: New file.
63579         * modules/cos: New file.
63580         * modules/cosh: New file.
63581         * modules/erf: New file.
63582         * modules/erfc: New file.
63583         * modules/exp: New file.
63584         * modules/fabs: New file.
63585         * modules/fmod: New file.
63586         * modules/hypot: New file.
63587         * modules/j0: New file.
63588         * modules/j1: New file.
63589         * modules/jn: New file.
63590         * modules/ldexp: New file.
63591         * modules/lgamma: New file.
63592         * modules/log: New file.
63593         * modules/log10: New file.
63594         * modules/log1p: New file.
63595         * modules/logb: New file.
63596         * modules/modf: New file.
63597         * modules/nextafter: New file.
63598         * modules/pow: New file.
63599         * modules/remainder: New file.
63600         * modules/rint: New file.
63601         * modules/sin: New file.
63602         * modules/sinh: New file.
63603         * modules/sqrt: New file.
63604         * modules/tan: New file.
63605         * modules/tanh: New file.
63606         * modules/y0: New file.
63607         * modules/y1: New file.
63608         * modules/yn: New file.
63609         * doc/posix-functions/acos.texi: Mention the 'acos' module.
63610         * doc/posix-functions/asin.texi: Mention the 'asin' module.
63611         * doc/posix-functions/atan.texi: Mention the 'atan' module.
63612         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
63613         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
63614         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
63615         * doc/posix-functions/cos.texi: Mention the 'cos' module.
63616         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
63617         * doc/posix-functions/erf.texi: Mention the 'erf' module.
63618         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
63619         * doc/posix-functions/exp.texi: Mention the 'exp' module.
63620         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
63621         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
63622         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
63623         * doc/posix-functions/j0.texi: Mention the 'j0' module.
63624         * doc/posix-functions/j1.texi: Mention the 'j1' module.
63625         * doc/posix-functions/jn.texi: Mention the 'jn' module.
63626         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
63627         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
63628         * doc/posix-functions/log.texi: Mention the 'log' module.
63629         * doc/posix-functions/log10.texi: Mention the 'log10' module.
63630         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
63631         * doc/posix-functions/logb.texi: Mention the 'logb' module.
63632         * doc/posix-functions/modf.texi: Mention the 'modf' module.
63633         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
63634         * doc/posix-functions/pow.texi: Mention the 'pow' module.
63635         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
63636         * doc/posix-functions/rint.texi: Mention the 'rint' module.
63637         * doc/posix-functions/sin.texi: Mention the 'sin' module.
63638         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
63639         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
63640         * doc/posix-functions/tan.texi: Mention the 'tan' module.
63641         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
63642         * doc/posix-functions/y0.texi: Mention the 'y0' module.
63643         * doc/posix-functions/y1.texi: Mention the 'y1' module.
63644         * doc/posix-functions/yn.texi: Mention the 'yn' module.
63646 2010-01-18  Jim Meyering  <meyering@redhat.com>
63648         ignore-value: relax license to LGPLv2+
63649         * modules/ignore-value (License): Relax to LGPLv2+.
63651         getdate: don't leak when TZ contains two or more '"'s
63652         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
63653         double quote in TZ after the first one.
63655         readtokens: do not leak internal token_lengths buffer
63656         * lib/readtokens.c (readtokens): Free the local, lengths,
63657         when the supplied "token_lengths" parameter is NULL.
63659 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63661         Fix a couple of missing LIBTHREAD link failures on AIX.
63662         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
63663         $(LIBTHREAD).
63664         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
63666         Link test-poll against INET_PTON_LIB.
63667         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
63668         for inet_pton on Solaris 10.
63670 2010-01-17  Bruno Haible  <bruno@clisp.org>
63672         unistdio/*-sprintf: Fix typo in module description.
63673         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
63674         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
63675         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
63676         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
63677         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
63678         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
63679         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
63680         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63682 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63684         gnulib-tool: fix filelist for AIX, HP-UX ksh.
63685         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
63686         variables in shell case patterns, for AIX and HP-UX ksh.
63688         Split large sed scripts, for HP-UX sed.
63689         * modules/stdio: Split sed scripts around 50 sed commands,
63690         to avoid HP-UX limit of 99 commands, in the near future.
63691         * modules/string: Likewise.
63692         * modules/unistd: Likewise.
63694         gnulib-tool: avoid writing in the current directory.
63695         * gnulib-tool (func_emit_lib_Makefile_am)
63696         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
63697         not in the current directory, so concurrent gnulib-tool
63698         instances do not interfere.
63700 2010-01-16  Jim Meyering  <meyering@redhat.com>
63702         doc: update users.txt
63703         * users.txt: Add grep.
63704         (diffutils, gzip): Update URLs.
63706 2010-01-12  Bruno Haible  <bruno@clisp.org>
63708         posix_spawn: Avoid test failure on Cygwin.
63709         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
63710         characters.
63711         Reported by Simon Josefsson.
63713 2010-01-12  Bruno Haible  <bruno@clisp.org>
63715         * tests/test-cond.c (main): When skipping the test, show the reason.
63717 2010-01-12  Simon Josefsson  <simon@josefsson.org>
63719         * lib/striconv.c (str_cd_iconv): Avoid if before free.
63721 2010-01-12  Simon Josefsson  <simon@josefsson.org>
63723         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
63724         VC_LIST_ALWAYS_EXCLUDE_REGEX.
63726 2010-01-12  Eric Blake  <ebb9@byu.net>
63728         build: guarantee AS_VAR_IF
63729         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
63730         (gl_AS_VAR_IF): Move...
63731         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
63732         Reported by Simon Josefsson.
63734 2010-01-12  Simon Josefsson  <simon@josefsson.org>
63736         * lib/stdio.in.h: Fix typo.
63738 2010-01-12  Simon Josefsson  <simon@josefsson.org>
63740         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
63741         libgpg-error.
63743 2010-01-12  Simon Josefsson  <simon@josefsson.org>
63745         * tests/test-xalloc-die.sh: Use $EXEEXT.
63747 2010-01-12  Simon Josefsson  <simon@josefsson.org>
63748             Bruno Haible  <bruno@clisp.org>
63750         getlogin, getlogin_r: Avoid test failure.
63751         * tests/test-getlogin.c: Include <stdio.h>.
63752         (main): Skip the test when the function fails because stdin is not a
63753         tty.
63754         * tests/test-getlogin_r.c: Include <stdio.h>.
63755         (main): Skip the test when the function fails because stdin is not a
63756         tty.
63758 2010-01-11  Eric Blake  <ebb9@byu.net>
63760         tests: avoid more large file warnings
63761         * tests/test-fflush.c: Avoid warning about ftell use.
63762         * tests/test-fseek.c: Avoid warning about fseek use.
63764 2010-01-10  Bruno Haible  <bruno@clisp.org>
63766         nproc: Work better on Linux when /proc and /sys are not mounted.
63767         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
63768         as lower bound when, on glibc/Linux systems,
63769         sysconf (_SC_NPROCESSORS_CONF) returns 1.
63770         Suggested by Pádraig Brady <P@draigbrady.com>.
63771         Reported by Dmitry V. Levin <ldv@altlinux.org>.
63773         nproc: Refactor.
63774         * lib/nproc.c (num_processors_via_affinity_mask): New function,
63775         extracted from num_processors.
63776         (num_processors): Call it.
63778 2010-01-11  Jim Meyering  <meyering@redhat.com>
63780         utimecmp: avoid new warning from upcoming gcc-4.5.0
63781         * lib/utimecmp.c (BILLION): Define using #define rather than an
63782         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
63784 2010-01-11  Eric Blake  <ebb9@byu.net>
63786         math: add portability warnings for classification macros
63787         * modules/math (Depends-on): Add warn-on-use.
63788         (Makefile.am): Provide new substitutions.
63789         * m4/math_h.m4 (gl_MATH_H): Require inline.
63790         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
63791         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
63792         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
63793         implement warnings.
63795         unistd: warn on use of environ without module
63796         * modules/unistd (Depends-on): Add warn-on-use.
63797         (Makefile.am): Provide new substitutions.
63798         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
63799         * lib/unistd.in.h (environ): Wrap with a warning helper function.
63801         stdio: warn on suspicious uses
63802         * modules/stdio (Depends-on): Add warn-on-use.
63803         (Makefile.am): Provide new substitutions.
63804         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
63805         fseeko.
63806         * lib/stdio.in.h (gets): Always warn on use.
63807         (fseek, ftell): Adjust when warnings are issued, and honor
63808         _GL_NO_LARGE_FILES as a way to silence the warning.
63809         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
63810         any warning about large file offsets.
63811         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
63812         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
63813         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
63814         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
63815         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
63816         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
63817         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
63818         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
63820         warn-on-use: new module
63821         * modules/warn-on-use: New file.
63822         * build-aux/warn-on-use.h: Likewise.
63823         * m4/warn-on-use.m4: Likewise.
63824         * MODULES.html.sh (Support for building): Mention it.
63826 2010-01-10  Bruno Haible  <bruno@clisp.org>
63828         Tests for module 'unistr/u32-strdup'.
63829         * modules/unistr/u32-strdup-tests: New file.
63830         * tests/unistr/test-u32-strdup.c: New file.
63832         Tests for module 'unistr/u16-strdup'.
63833         * modules/unistr/u16-strdup-tests: New file.
63834         * tests/unistr/test-u16-strdup.c: New file.
63836         Tests for module 'unistr/u8-strdup'.
63837         * modules/unistr/u8-strdup-tests: New file.
63838         * tests/unistr/test-u8-strdup.c: New file.
63839         * tests/unistr/test-strdup.h: New file.
63841         Tests for module 'unistr/u32-strncmp'.
63842         * modules/unistr/u32-strncmp-tests: New file.
63843         * tests/unistr/test-u32-strncmp.c: New file.
63845         Tests for module 'unistr/u16-strncmp'.
63846         * modules/unistr/u16-strncmp-tests: New file.
63847         * tests/unistr/test-u16-strncmp.c: New file.
63849         Tests for module 'unistr/u8-strncmp'.
63850         * modules/unistr/u8-strncmp-tests: New file.
63851         * tests/unistr/test-u8-strncmp.c: New file.
63852         * tests/unistr/test-strncmp.h: New file.
63854         Tests for module 'unistr/u32-strcoll'.
63855         * modules/unistr/u32-strcoll-tests: New file.
63856         * tests/unistr/test-u32-strcoll.c: New file.
63858         Tests for module 'unistr/u16-strcoll'.
63859         * modules/unistr/u16-strcoll-tests: New file.
63860         * tests/unistr/test-u16-strcoll.c: New file.
63862         Tests for module 'unistr/u8-strcoll'.
63863         * modules/unistr/u8-strcoll-tests: New file.
63864         * tests/unistr/test-u8-strcoll.c: New file.
63866         Tests for module 'unistr/u32-strcmp'.
63867         * modules/unistr/u32-strcmp-tests: New file.
63868         * tests/unistr/test-u32-strcmp.c: New file.
63869         * tests/unistr/test-u32-strcmp.h: New file.
63871         Tests for module 'unistr/u16-strcmp'.
63872         * modules/unistr/u16-strcmp-tests: New file.
63873         * tests/unistr/test-u16-strcmp.c: New file.
63874         * tests/unistr/test-u16-strcmp.h: New file.
63876         Tests for module 'unistr/u8-strcmp'.
63877         * modules/unistr/u8-strcmp-tests: New file.
63878         * tests/unistr/test-u8-strcmp.c: New file.
63879         * tests/unistr/test-u8-strcmp.h: New file.
63880         * tests/unistr/test-strcmp.h: New file.
63882         Tests for module 'unistr/u32-strncat'.
63883         * modules/unistr/u32-strncat-tests: New file.
63884         * tests/unistr/test-u32-strncat.c: New file.
63886         Tests for module 'unistr/u16-strncat'.
63887         * modules/unistr/u16-strncat-tests: New file.
63888         * tests/unistr/test-u16-strncat.c: New file.
63890         Tests for module 'unistr/u8-strncat'.
63891         * modules/unistr/u8-strncat-tests: New file.
63892         * tests/unistr/test-u8-strncat.c: New file.
63893         * tests/unistr/test-strncat.h: New file.
63895         Tests for module 'unistr/u32-strcat'.
63896         * modules/unistr/u32-strcat-tests: New file.
63897         * tests/unistr/test-u32-strcat.c: New file.
63899         Tests for module 'unistr/u16-strcat'.
63900         * modules/unistr/u16-strcat-tests: New file.
63901         * tests/unistr/test-u16-strcat.c: New file.
63903         Tests for module 'unistr/u8-strcat'.
63904         * modules/unistr/u8-strcat-tests: New file.
63905         * tests/unistr/test-u8-strcat.c: New file.
63906         * tests/unistr/test-strcat.h: New file.
63908         Tests for module 'unistr/u32-stpncpy'.
63909         * modules/unistr/u32-stpncpy-tests: New file.
63910         * tests/unistr/test-u32-stpncpy.c: New file.
63912         Tests for module 'unistr/u16-stpncpy'.
63913         * modules/unistr/u16-stpncpy-tests: New file.
63914         * tests/unistr/test-u16-stpncpy.c: New file.
63916         Tests for module 'unistr/u8-stpncpy'.
63917         * modules/unistr/u8-stpncpy-tests: New file.
63918         * tests/unistr/test-u8-stpncpy.c: New file.
63919         * tests/unistr/test-stpncpy.h: New file.
63921         Tests for module 'unistr/u32-strncpy'.
63922         * modules/unistr/u32-strncpy-tests: New file.
63923         * tests/unistr/test-u32-strncpy.c: New file.
63925         Tests for module 'unistr/u16-strncpy'.
63926         * modules/unistr/u16-strncpy-tests: New file.
63927         * tests/unistr/test-u16-strncpy.c: New file.
63929         Tests for module 'unistr/u8-strncpy'.
63930         * modules/unistr/u8-strncpy-tests: New file.
63931         * tests/unistr/test-u8-strncpy.c: New file.
63932         * tests/unistr/test-strncpy.h: New file.
63934         Tests for module 'unistr/u32-stpcpy'.
63935         * modules/unistr/u32-stpcpy-tests: New file.
63936         * tests/unistr/test-u32-stpcpy.c: New file.
63938         Tests for module 'unistr/u16-stpcpy'.
63939         * modules/unistr/u16-stpcpy-tests: New file.
63940         * tests/unistr/test-u16-stpcpy.c: New file.
63942         Tests for module 'unistr/u8-stpcpy'.
63943         * modules/unistr/u8-stpcpy-tests: New file.
63944         * tests/unistr/test-u8-stpcpy.c: New file.
63945         * tests/unistr/test-stpcpy.h: New file.
63947         Tests for module 'unistr/u32-strcpy'.
63948         * modules/unistr/u32-strcpy-tests: New file.
63949         * tests/unistr/test-u32-strcpy.c: New file.
63951         Tests for module 'unistr/u16-strcpy'.
63952         * modules/unistr/u16-strcpy-tests: New file.
63953         * tests/unistr/test-u16-strcpy.c: New file.
63955         Tests for module 'unistr/u8-strcpy'.
63956         * modules/unistr/u8-strcpy-tests: New file.
63957         * tests/unistr/test-u8-strcpy.c: New file.
63958         * tests/unistr/test-strcpy.h: New file.
63960         Tests for module 'unistr/u32-strnlen'.
63961         * modules/unistr/u32-strnlen-tests: New file.
63962         * tests/unistr/test-u32-strnlen.c: New file.
63964         Tests for module 'unistr/u16-strnlen'.
63965         * modules/unistr/u16-strnlen-tests: New file.
63966         * tests/unistr/test-u16-strnlen.c: New file.
63968         Tests for module 'unistr/u8-strnlen'.
63969         * modules/unistr/u8-strnlen-tests: New file.
63970         * tests/unistr/test-u8-strnlen.c: New file.
63971         * tests/unistr/test-strnlen.h: New file.
63973         Tests for module 'unistr/u32-strlen'.
63974         * modules/unistr/u32-strlen-tests: New file.
63975         * tests/unistr/test-u32-strlen.c: New file.
63977         Tests for module 'unistr/u16-strlen'.
63978         * modules/unistr/u16-strlen-tests: New file.
63979         * tests/unistr/test-u16-strlen.c: New file.
63981         Tests for module 'unistr/u8-strlen'.
63982         * modules/unistr/u8-strlen-tests: New file.
63983         * tests/unistr/test-u8-strlen.c: New file.
63985         Tests for module 'unistr/u32-prev'.
63986         * modules/unistr/u32-prev-tests: New file.
63987         * tests/unistr/test-u32-prev.c: New file.
63989         Tests for module 'unistr/u16-prev'.
63990         * modules/unistr/u16-prev-tests: New file.
63991         * tests/unistr/test-u16-prev.c: New file.
63993         Tests for module 'unistr/u8-prev'.
63994         * modules/unistr/u8-prev-tests: New file.
63995         * tests/unistr/test-u8-prev.c: New file.
63997         Tests for module 'unistr/u32-next'.
63998         * modules/unistr/u32-next-tests: New file.
63999         * tests/unistr/test-u32-next.c: New file.
64001         Tests for module 'unistr/u16-next'.
64002         * modules/unistr/u16-next-tests: New file.
64003         * tests/unistr/test-u16-next.c: New file.
64005         Tests for module 'unistr/u8-next'.
64006         * modules/unistr/u8-next-tests: New file.
64007         * tests/unistr/test-u8-next.c: New file.
64009         Tests for module 'unistr/u32-strmbtouc'.
64010         * modules/unistr/u32-strmbtouc-tests: New file.
64011         * tests/unistr/test-u32-strmbtouc.c: New file.
64013         Tests for module 'unistr/u16-strmbtouc'.
64014         * modules/unistr/u16-strmbtouc-tests: New file.
64015         * tests/unistr/test-u16-strmbtouc.c: New file.
64017         Tests for module 'unistr/u8-strmbtouc'.
64018         * modules/unistr/u8-strmbtouc-tests: New file.
64019         * tests/unistr/test-u8-strmbtouc.c: New file.
64021         Tests for module 'unistr/u32-strmblen'.
64022         * modules/unistr/u32-strmblen-tests: New file.
64023         * tests/unistr/test-u32-strmblen.c: New file.
64025         Tests for module 'unistr/u16-strmblen'.
64026         * modules/unistr/u16-strmblen-tests: New file.
64027         * tests/unistr/test-u16-strmblen.c: New file.
64029         Tests for module 'unistr/u8-strmblen'.
64030         * modules/unistr/u8-strmblen-tests: New file.
64031         * tests/unistr/test-u8-strmblen.c: New file.
64033         Tests for module 'unistr/u32-cpy-alloc'.
64034         * modules/unistr/u32-cpy-alloc-tests: New file.
64035         * tests/unistr/test-u32-cpy-alloc.c: New file.
64037         Tests for module 'unistr/u16-cpy-alloc'.
64038         * modules/unistr/u16-cpy-alloc-tests: New file.
64039         * tests/unistr/test-u16-cpy-alloc.c: New file.
64041         Tests for module 'unistr/u8-cpy-alloc'.
64042         * modules/unistr/u8-cpy-alloc-tests: New file.
64043         * tests/unistr/test-u8-cpy-alloc.c: New file.
64044         * tests/unistr/test-cpy-alloc.h: New file.
64046         Tests for module 'unistr/u32-mbsnlen'.
64047         * modules/unistr/u32-mbsnlen-tests: New file.
64048         * tests/unistr/test-u32-mbsnlen.c: New file.
64050         Tests for module 'unistr/u16-mbsnlen'.
64051         * modules/unistr/u16-mbsnlen-tests: New file.
64052         * tests/unistr/test-u16-mbsnlen.c: New file.
64054         Tests for module 'unistr/u8-mbsnlen'.
64055         * modules/unistr/u8-mbsnlen-tests: New file.
64056         * tests/unistr/test-u8-mbsnlen.c: New file.
64058         Tests for module 'unistr/u32-chr'.
64059         * modules/unistr/u32-chr-tests: New file.
64060         * tests/unistr/test-u32-chr.c: New file.
64062         Tests for module 'unistr/u16-chr'.
64063         * modules/unistr/u16-chr-tests: New file.
64064         * tests/unistr/test-u16-chr.c: New file.
64066         Tests for module 'unistr/u8-chr'.
64067         * modules/unistr/u8-chr-tests: New file.
64068         * tests/unistr/test-u8-chr.c: New file.
64069         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
64071         Tests for module 'unistr/u32-cmp2'.
64072         * modules/unistr/u32-cmp2-tests: New file.
64073         * tests/unistr/test-u32-cmp2.c: New file.
64075         Tests for module 'unistr/u16-cmp2'.
64076         * modules/unistr/u16-cmp2-tests: New file.
64077         * tests/unistr/test-u16-cmp2.c: New file.
64079         Tests for module 'unistr/u8-cmp2'.
64080         * modules/unistr/u8-cmp2-tests: New file.
64081         * tests/unistr/test-u8-cmp2.c: New file.
64082         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
64084         Tests for module 'unistr/u32-cmp'.
64085         * modules/unistr/u32-cmp-tests: New file.
64086         * tests/unistr/test-u32-cmp.c: New file.
64088         Tests for module 'unistr/u16-cmp'.
64089         * modules/unistr/u16-cmp-tests: New file.
64090         * tests/unistr/test-u16-cmp.c: New file.
64092         Tests for module 'unistr/u8-cmp'.
64093         * modules/unistr/u8-cmp-tests: New file.
64094         * tests/unistr/test-u8-cmp.c: New file.
64095         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
64097         Tests for module 'unistr/u32-set'.
64098         * modules/unistr/u32-set-tests: New file.
64099         * tests/unistr/test-u32-set.c: New file.
64101         Tests for module 'unistr/u16-set'.
64102         * modules/unistr/u16-set-tests: New file.
64103         * tests/unistr/test-u16-set.c: New file.
64105         Tests for module 'unistr/u8-set'.
64106         * modules/unistr/u8-set-tests: New file.
64107         * tests/unistr/test-u8-set.c: New file.
64108         * tests/unistr/test-set.h: New file.
64110         Tests for module 'unistr/u32-move'.
64111         * modules/unistr/u32-move-tests: New file.
64112         * tests/unistr/test-u32-move.c: New file.
64114         Tests for module 'unistr/u16-move'.
64115         * modules/unistr/u16-move-tests: New file.
64116         * tests/unistr/test-u16-move.c: New file.
64118         Tests for module 'unistr/u8-move'.
64119         * modules/unistr/u8-move-tests: New file.
64120         * tests/unistr/test-u8-move.c: New file.
64121         * tests/unistr/test-move.h: New file.
64123         Tests for module 'unistr/u32-cpy'.
64124         * modules/unistr/u32-cpy-tests: New file.
64125         * tests/unistr/test-u32-cpy.c: New file.
64127         Tests for module 'unistr/u16-cpy'.
64128         * modules/unistr/u16-cpy-tests: New file.
64129         * tests/unistr/test-u16-cpy.c: New file.
64131         Tests for module 'unistr/u8-cpy'.
64132         * modules/unistr/u8-cpy-tests: New file.
64133         * tests/unistr/test-u8-cpy.c: New file.
64134         * tests/unistr/test-cpy.h: New file.
64136 2010-01-09  Bruno Haible  <bruno@clisp.org>
64138         Tests for module 'unistr/u32-uctomb'.
64139         * modules/unistr/u32-uctomb-tests: New file.
64140         * tests/unistr/test-u32-uctomb.c: New file.
64142         Tests for module 'unistr/u16-uctomb'.
64143         * modules/unistr/u16-uctomb-tests: New file.
64144         * tests/unistr/test-u16-uctomb.c: New file.
64146         Tests for module 'unistr/u8-uctomb'.
64147         * modules/unistr/u8-uctomb-tests: New file.
64148         * tests/unistr/test-u8-uctomb.c: New file.
64150         Tests for module 'unistr/u32-mbtoucr'.
64151         * modules/unistr/u32-mbtoucr-tests: New file.
64152         * tests/unistr/test-u32-mbtoucr.c: New file.
64154         Tests for module 'unistr/u16-mbtoucr'.
64155         * modules/unistr/u16-mbtoucr-tests: New file.
64156         * tests/unistr/test-u16-mbtoucr.c: New file.
64158         Tests for module 'unistr/u8-mbtoucr'.
64159         * modules/unistr/u8-mbtoucr-tests: New file.
64160         * tests/unistr/test-u8-mbtoucr.c: New file.
64162         Tests for module 'unistr/u32-mbtouc'.
64163         * modules/unistr/u32-mbtouc-tests: New file.
64164         * tests/unistr/test-u32-mbtouc.c: New file.
64166         Tests for module 'unistr/u16-mbtouc'.
64167         * modules/unistr/u16-mbtouc-tests: New file.
64168         * tests/unistr/test-u16-mbtouc.c: New file.
64170         Tests for module 'unistr/u8-mbtouc'.
64171         * modules/unistr/u8-mbtouc-tests: New file.
64172         * tests/unistr/test-u8-mbtouc.c: New file.
64174         Tests for module 'unistr/u32-mbtouc-unsafe'.
64175         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
64176         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
64177         * tests/unistr/test-u32-mbtouc.h: New file.
64179         Tests for module 'unistr/u16-mbtouc-unsafe'.
64180         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
64181         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
64182         * tests/unistr/test-u16-mbtouc.h: New file.
64184         Tests for module 'unistr/u8-mbtouc-unsafe'.
64185         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
64186         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
64187         * tests/unistr/test-u8-mbtouc.h: New file.
64189         Tests for module 'unistr/u32-mblen'.
64190         * modules/unistr/u32-mblen-tests: New file.
64191         * tests/unistr/test-u32-mblen.c: New file.
64193         Tests for module 'unistr/u16-mblen'.
64194         * modules/unistr/u16-mblen-tests: New file.
64195         * tests/unistr/test-u16-mblen.c: New file.
64197         Tests for module 'unistr/u8-mblen'.
64198         * modules/unistr/u8-mblen-tests: New file.
64199         * tests/unistr/test-u8-mblen.c: New file.
64201         Tests for module 'unistr/u32-to-u16'.
64202         * modules/unistr/u32-to-u16-tests: New file.
64203         * tests/unistr/test-u32-to-u16.c: New file.
64205         Tests for module 'unistr/u32-to-u8'.
64206         * modules/unistr/u32-to-u8-tests: New file.
64207         * tests/unistr/test-u32-to-u8.c: New file.
64209         Tests for module 'unistr/u16-to-u32'.
64210         * modules/unistr/u16-to-u32-tests: New file.
64211         * tests/unistr/test-u16-to-u32.c: New file.
64213         Tests for module 'unistr/u16-to-u8'.
64214         * modules/unistr/u16-to-u8-tests: New file.
64215         * tests/unistr/test-u16-to-u8.c: New file.
64217         Tests for module 'unistr/u8-to-u32'.
64218         * modules/unistr/u8-to-u32-tests: New file.
64219         * tests/unistr/test-u8-to-u32.c: New file.
64221         Tests for module 'unistr/u8-to-u16'.
64222         * modules/unistr/u8-to-u16-tests: New file.
64223         * tests/unistr/test-u8-to-u16.c: New file.
64225         Tests for module 'unistr/u32-check'.
64226         * modules/unistr/u32-check-tests: New file.
64227         * tests/unistr/test-u32-check.c: New file.
64229         Tests for module 'unistr/u16-check'.
64230         * modules/unistr/u16-check-tests: New file.
64231         * tests/unistr/test-u16-check.c: New file.
64233         Tests for module 'unistr/u8-check'.
64234         * modules/unistr/u8-check-tests: New file.
64235         * tests/unistr/test-u8-check.c: New file.
64237         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
64238         (category_equals): New function.
64239         (main): Add more tests.
64240         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
64242         * tests/unictype/test-bidi_byname.c (main): Add more tests.
64244 2010-01-10  Bruno Haible  <bruno@clisp.org>
64246         unistr/u*-strcoll: Try harder to distinguish different strings.
64247         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
64248         compare s1 and s2 to see if they are different.
64250 2010-01-10  Bruno Haible  <bruno@clisp.org>
64252         unistr/u*-stpncpy: Fix the return value.
64253         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
64254         description of the return value consistent with stpncpy in glibc.
64255         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
64256         written non-NUL unit.
64258 2010-01-10  Bruno Haible  <bruno@clisp.org>
64260         unistr/u*-next: Add missing dependencies.
64261         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
64262         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
64263         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
64265 2010-01-10  Bruno Haible  <bruno@clisp.org>
64267         unistr/u8-mbsnlen: Fix return value for incomplete character.
64268         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
64269         u8_mblen.
64270         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
64271         Remove unistr/u8-mblen.
64272         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
64273         u16_mblen.
64274         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
64275         Remove unistr/u16-mblen.
64277 2010-01-10  Bruno Haible  <bruno@clisp.org>
64279         wchar: Fix compilation error when <wchar.h> is used from coreutils.
64280         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
64281         Reported by Brian Gough <bjg@gnu.org> and
64282         Chris Clayton <chris2553@googlemail.com> via
64283         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
64285 2010-01-09  Bruno Haible  <bruno@clisp.org>
64287         unistr/u16-to-u32: Reject invalid input.
64288         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
64289         u16_mbtouc.
64290         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
64291         Remove unistr/u16-mbtouc.
64293         unistr/u16-to-u8: Reject invalid input.
64294         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
64295         u16_mbtouc.
64296         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
64297         Remove unistr/u16-mbtouc.
64299         unistr/u8-to-u32: Reject invalid input.
64300         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
64301         u8_mbtouc.
64302         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
64303         Remove unistr/u8-mbtouc.
64305         unistr/u8-to-u16: Reject invalid input.
64306         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
64307         u8_mbtouc.
64308         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
64309         Remove unistr/u8-mbtouc.
64311 2010-01-09  Bruno Haible  <bruno@clisp.org>
64313         Tests for module 'getlogin'.
64314         * modules/getlogin-tests: New file.
64315         * tests/test-getlogin.c: New file.
64317         New module 'getlogin'.
64318         * lib/unistd.in.h (getlogin): New declaration.
64319         * lib/getlogin.c: New file.
64320         * m4/getlogin.m4: New file.
64321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
64322         HAVE_GETLOGIN.
64323         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
64324         HAVE_GETLOGIN.
64325         * modules/getlogin: New file.
64326         * doc/posix-functions/getlogin.texi: Mention the new module.
64327         Reported by John W. Eaton <jwe@gnu.org>.
64329 2010-01-09  Bruno Haible  <bruno@clisp.org>
64331         getlogin_r: Support for native Windows.
64332         * lib/getlogin_r.c: Include <windows.h>
64333         (getlogin_r): Implement for native Windows.
64334         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
64335         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
64336         via John W. Eaton <jwe@gnu.org>.
64338 2010-01-09  Bruno Haible  <bruno@clisp.org>
64340         getlogin_r: Small fixes.
64341         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
64342         succeeds.
64343         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
64344         before testing whether getlogin_r is declared. No need to set
64345         HAVE_DECL_GETLOGIN_R to 1.
64346         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
64348 2010-01-09  Bruno Haible  <bruno@clisp.org>
64350         * lib/unistd.in.h (getlogin_r): Add comment.
64352 2010-01-09  Bruno Haible  <bruno@clisp.org>
64354         Tests for module 'getlogin_r'.
64355         * modules/getlogin_r-tests: New file.
64356         * tests/test-getlogin_r.c: New file.
64358 2010-01-09  Jim Meyering  <meyering@redhat.com>
64360         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
64361         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
64362         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
64364 2010-01-08  Simon Josefsson  <simon@josefsson.org>
64366         * lib/dup2.c (rpl_dup2): Improve comment.
64368 2010-01-08  Eric Blake  <ebb9@byu.net>
64370         maint.mk: allow packages to add makefile @@ exceptions
64371         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
64372         (sc_makefile_check): Rename...
64373         (sc_makefile_at_at_check): ...to this, and use hook.
64375         dup2: work around mingw bug
64376         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
64377         Reported by Simon Josefsson.
64379 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
64381         glob: Fix C++ compilation.
64382         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
64383         C++.
64385 2010-01-07  Bruno Haible  <bruno@clisp.org>
64387         Fix indentation of wctype.in.h, broken since 2007-01-06.
64388         * lib/wctype.in.h: Fix indentation of preprocessor directives.
64390 2010-01-07  Bruno Haible  <bruno@clisp.org>
64392         mbslen: Avoid collision with system function.
64393         * lib/string.in.h [MirBSD]: Include <wchar.h>.
64394         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
64395         * m4/mbslen.m4: New file.
64396         * modules/mbslen (Files): Add it.
64397         (configure.ac): Invoke gl_MBSLEN.
64398         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
64399         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
64400         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
64401         via Ian Beckwith <ianb@erislabs.net>.
64403 2010-01-07  Bruno Haible  <bruno@clisp.org>
64405         dirent: Document the last fix.
64406         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
64408 2010-01-07  Bruno Haible  <bruno@clisp.org>
64410         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
64411         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
64412         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
64413         va_list are defined.
64414         * doc/posix-headers/stdio.texi: Document the bug of missing types.
64415         Reported by Eric Blake.
64417 2010-01-07  Bruno Haible  <bruno@clisp.org>
64419         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
64420         * modules/xlist (Depends-on): Add 'list',
64421         * modules/xoset (Depends-on): Add 'oset'.
64422         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64424 2010-01-07  Bruno Haible  <bruno@clisp.org>
64426         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
64427         * doc/posix-functions/strncasecmp.texi: Likewise.
64429 2010-01-07  Bruno Haible  <bruno@clisp.org>
64431         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
64433 2010-01-07  John W. Eaton  <jwe@octave.org>
64435         wctype: allow C++ use
64436         * lib/wctype.in.h: Add extern "C" block for C++.
64438 2010-01-06  Eric Blake  <ebb9@byu.net>
64440         maint.mk: detect incorrect GFDL usage
64441         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
64443 2010-01-06  Jim Meyering  <meyering@redhat.com>
64444         and Eric Blake  <ebb9@byu.net>
64446         maint.mk: ignore multi-line copyright in NEWS
64447         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
64449 2010-01-06  Eric Blake  <ebb9@byu.net>
64451         select: add missing dependency
64452         * modules/select-tests (Depends-on): Move sockets dependency...
64453         * modules/select (Depends-on): ...here.
64454         Reported by Ian Beckwith.
64456         doc: regenerate INSTALL
64457         * doc/INSTALL: Reflect recent autoconf update.
64458         * doc/INSTALL.ISO: Likewise.
64459         * doc/INSTALL.UTF-8: Likewise.
64461         pread: fix compilation on glibc
64462         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
64463         Reported by Ralf Wildenhues.
64465         dirent: fix test failure
64466         * lib/dirent.in.h (includes): Guarantee ino_t.
64467         Reported by Ralf Wildenhues.
64469 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
64471         linkat, renameat: avoid bad free
64472         * lib/at-func2.c (at_func2): Fix typo.
64473         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
64475 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64477         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
64478         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
64479         to avoid failure of symlink test later.
64481 2010-01-06  Eric Blake  <ebb9@byu.net>
64483         stdio, unistd: guarantee ssize_t
64484         * lib/unistd.in.h (includes): Ensure that types required by POSIX
64485         2008 are exposed when needed.
64486         * lib/stdio.in.h (includes): Likewise.
64487         Reported by Ralf Wildenhues.
64489 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
64491         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
64492         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
64493         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
64495 2010-01-06  Jim Meyering  <meyering@redhat.com>
64497         readtokens: this module *does* require xalloc.h
64498         It uses only functions that were omitted by the old syntax-check rule.
64499         * lib/readtokens.c: Include "xalloc.h" once again.
64500         * modules/readtokens (Depends-on): Add xalloc.
64501         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
64503 2010-01-05  Eric Blake  <ebb9@byu.net>
64505         maint: support 'make announcement' from a VPATH build
64506         * top/maint.mk (announcement): Look for correct NEWS file.
64508 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
64510         utimens (fdutimens): ignore a negative FD, per contract
64511         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
64512         when we have a valid file descriptor.  Otherwise, using a brand
64513         new glibc (with just-patched futimens that now fails with EBADF)
64514         would cause this function to fail with ENOSYS.
64515         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
64516         See also http://bugzilla.redhat.com/552320.
64518 2010-01-05  Eric Blake  <ebb9@byu.net>
64520         strcase: document what it provides
64521         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
64522         gnulib module.
64523         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
64524         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
64526 2010-01-05  Jim Meyering  <meyering@redhat.com>
64528         maint: remove useless inclusions of "xalloc.h"
64529         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
64530         * lib/readtokens.c: Likewise.
64531         * lib/same.c: Likewise.
64532         * modules/getloadavg (Depends-on): Remove xalloc.
64533         * modules/readtokens: Likewise.
64534         * modules/same: Likewise.
64536         maint.mk: include 4 more function names in alloca.h-checking regexp
64537         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
64538         regexp.  Before, we would give a false-positive (saying alloca.h
64539         is included unnecessarily) when the only uses involved omitted symbols.
64541         xalloc.h: use consistent formatting
64542         * lib/xalloc.h: Move declarations to start in the first column.
64544 2010-01-05  Eric Blake  <ebb9@byu.net>
64546         mkdir: avoid xalloc
64547         * lib/mkdir.c (includes): Drop unused header.
64548         Reported by John W. Eaton.
64550 2010-01-04  Jim Meyering  <meyering@redhat.com>
64552         nl_langinfo: avoid configure-time syntax error
64553         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
64554         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
64555         the empty string.  Don't let that provoke a shell syntax error.
64557         regcomp, regexec, fnmatch: avoid array bounds read error
64558         * lib/regcomp.c (build_equiv_class): From glibc:
64559         Use only the low 24 bits of a findidx return value as an index
64560         into the weights array.  Patch by Ulrich Drepper:
64561         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
64562         * lib/regexec.c (check_node_accept_bytes): Likewise.
64563         * lib/fnmatch_loop.c (FCT): Likewise.
64565         regcomp: skip collseq lookup when there are no rules
64566         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
64567         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
64569         regcomp: recognize ill-formed { } expressions
64570         * lib/regcomp.c (parse_dup_op): From glibc:
64571         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
64573         regcomp: fix typo in comment
64574         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
64575         s/satisfy/satisfies/.
64577         regcomp: sync from glibc: remove dead store
64578         * lib/regcomp.c (duplicate_node_closure): Remove useless
64579         search_duplicated_node call and dead store.
64581         regcomp: sync from glibc; always use nl_langinfo
64582         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
64583         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
64584         * modules/regex (Depends-on): Add nl_langinfo.
64586 2010-01-04  Eric Blake  <ebb9@byu.net>
64588         fdopendir: fix configure test
64589         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
64591 2010-01-01  Bruno Haible  <bruno@clisp.org>
64593         wchar: Remove unused configure check.
64594         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
64596 2010-01-01  Eric Blake  <ebb9@byu.net>
64598         headers: make check of system header explicit
64599         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
64600         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
64601         ourselves.
64602         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
64603         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64604         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
64605         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
64606         internals.
64607         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
64608         missing.
64609         Suggested by Bruno Haible.
64611 2010-01-01  Jim Meyering  <meyering@redhat.com>
64613         ChangeLog: tweak to eliminate unnecessary copyright line
64614         * ChangeLog: Remove a copyright line that was mistakenly updated
64615         by today's update-copyright run.  Reported by Eric Blake.
64617         test-update-copyright: don't let envvar setting cause test failure
64618         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
64620 2010-01-01  Bruno Haible  <bruno@clisp.org>
64622         localename: Avoid gcc warning.
64623         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
64624         function if it is not used.
64626 2010-01-01  Jim Meyering  <meyering@redhat.com>
64628         update nearly all FSF copyright year lists to include 2010
64629         Use the same procedure as for 2009, outlined in
64630         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
64632         version-etc: set COPYRIGHT_YEAR to 2010
64633         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
64635 2009-12-31  Eric Blake  <ebb9@byu.net>
64637         doc: correct availability of cygwin 1.5.x getopt
64638         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
64639         variables.
64640         * doc/posix-functions/opterr.texi (opterr): Likewise.
64641         * doc/posix-functions/optind.texi (optind): Likewise.
64642         * doc/posix-functions/optopt.texi (optopt): Likewise.
64643         * doc/posix-functions/tzname.texi (tzname): Likewise.
64645         openat: update maintainer
64646         * modules/openat (Maintainer): Add myself.
64648         utimens: avoid shadowing warning
64649         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
64650         buffers into one, to avoid shadowing, as well as avoiding a
64651         redundant stat.
64652         Reported by Jim Meyering.
64654         test-dup2: avoid compiler warning
64655         * tests/test-dup2.c (is_inheritable): Only define if used.
64657 2010-01-01  Bruno Haible  <bruno@clisp.org>
64659         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
64660         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
64661         defined, use wctomb instead of wcrtomb.
64663 2010-01-01  Bruno Haible  <bruno@clisp.org>
64665         iconv: Reject native Solaris iconv.
64666         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
64667         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
64669 2009-12-31  Bruno Haible  <bruno@clisp.org>
64671         * tests/test-signal.c (main): Remove test of 'SIG'.
64673 2009-12-31  Bruno Haible  <bruno@clisp.org>
64675         spawn: Fix incomplete fix.
64676         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
64677         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
64678         warnings for GNULIB_POSIXCHECK again.
64679         Reported by Eric Blake.
64681 2009-12-31  Bruno Haible  <bruno@clisp.org>
64683         Avoid namespace pollution on glibc systems.
64684         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
64685         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
64686         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
64687         glibc systems.
64689 2009-12-31  Bruno Haible  <bruno@clisp.org>
64691         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
64692         (gl_REPLACE_WCHAR_H): Turn into a no-op.
64693         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
64694         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
64695         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
64696         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
64697         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
64699 2009-12-31  Bruno Haible  <bruno@clisp.org>
64701         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
64702         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
64703         afterwards.
64705 2009-12-31  Bruno Haible  <bruno@clisp.org>
64707         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
64708         SYS_UTSNAME_H.
64710 2009-12-31  Bruno Haible  <bruno@clisp.org>
64712         spawn: Fix misapplied patch.
64713         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
64714         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
64715         warnings for GNULIB_POSIXCHECK.
64717 2009-12-31  Bruno Haible  <bruno@clisp.org>
64719         times: Update after sys_times changed.
64720         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
64721         * modules/times (Files): Add it.
64722         (configure.ac): Invoke gl_FUNC_TIMES.
64724 2009-12-31  Bruno Haible  <bruno@clisp.org>
64726         Use AC_C_INLINE where necessary.
64727         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
64728         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
64729         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
64730         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
64731         * m4/mbfile.m4 (gl_MBFILE): Likewise.
64732         * m4/mbiter.m4 (gl_MBITER): Likewise.
64733         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64734         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
64735         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
64736         * modules/u64 (configure.ac): Likewise.
64738 2009-12-31  Bruno Haible  <bruno@clisp.org>
64740         Use AC_C_INLINE instead of module 'inline' where possible.
64741         * modules/inline (Description): Clarify purpose.
64742         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
64743         * modules/count-one-bits (Depends-on): Remove inline.
64744         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
64745         * modules/openat (Depends-on): Remove inline.
64746         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
64747         instead of depending on module 'inline'.
64748         * modules/filevercmp (Depends-on, configure.ac): Likewise.
64749         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
64750         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
64751         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
64752         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
64753         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
64754         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
64755         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
64756         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
64757         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
64758         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
64759         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
64760         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
64761         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
64762         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
64763         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
64764         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
64765         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
64766         Likewise.
64767         * modules/unictype/property-ascii-hex-digit (Depends-on,
64768         configure.ac): Likewise.
64769         * modules/unictype/property-bidi-arabic-digit (Depends-on,
64770         configure.ac): Likewise.
64771         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
64772         configure.ac): Likewise.
64773         * modules/unictype/property-bidi-block-separator (Depends-on,
64774         configure.ac): Likewise.
64775         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
64776         configure.ac): Likewise.
64777         * modules/unictype/property-bidi-common-separator (Depends-on,
64778         configure.ac): Likewise.
64779         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
64780         Likewise.
64781         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
64782         configure.ac): Likewise.
64783         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
64784         configure.ac): Likewise.
64785         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
64786         configure.ac): Likewise.
64787         * modules/unictype/property-bidi-european-digit (Depends-on,
64788         configure.ac): Likewise.
64789         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
64790         configure.ac): Likewise.
64791         * modules/unictype/property-bidi-left-to-right (Depends-on,
64792         configure.ac): Likewise.
64793         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
64794         configure.ac): Likewise.
64795         * modules/unictype/property-bidi-other-neutral (Depends-on,
64796         configure.ac): Likewise.
64797         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
64798         Likewise.
64799         * modules/unictype/property-bidi-segment-separator (Depends-on,
64800         configure.ac): Likewise.
64801         * modules/unictype/property-bidi-whitespace (Depends-on,
64802         configure.ac): Likewise.
64803         * modules/unictype/property-combining (Depends-on, configure.ac):
64804         Likewise.
64805         * modules/unictype/property-composite (Depends-on, configure.ac):
64806         Likewise.
64807         * modules/unictype/property-currency-symbol (Depends-on,
64808         configure.ac): Likewise.
64809         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
64810         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
64811         Likewise.
64812         * modules/unictype/property-default-ignorable-code-point (Depends-on,
64813         configure.ac): Likewise.
64814         * modules/unictype/property-deprecated (Depends-on, configure.ac):
64815         Likewise.
64816         * modules/unictype/property-diacritic (Depends-on, configure.ac):
64817         Likewise.
64818         * modules/unictype/property-extender (Depends-on, configure.ac):
64819         Likewise.
64820         * modules/unictype/property-format-control (Depends-on, configure.ac):
64821         Likewise.
64822         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
64823         Likewise.
64824         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
64825         Likewise.
64826         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
64827         Likewise.
64828         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
64829         Likewise.
64830         * modules/unictype/property-hyphen (Depends-on, configure.ac):
64831         Likewise.
64832         * modules/unictype/property-id-continue (Depends-on, configure.ac):
64833         Likewise.
64834         * modules/unictype/property-id-start (Depends-on, configure.ac):
64835         Likewise.
64836         * modules/unictype/property-ideographic (Depends-on, configure.ac):
64837         Likewise.
64838         * modules/unictype/property-ids-binary-operator (Depends-on,
64839         configure.ac): Likewise.
64840         * modules/unictype/property-ids-trinary-operator (Depends-on,
64841         configure.ac): Likewise.
64842         * modules/unictype/property-ignorable-control (Depends-on,
64843         configure.ac): Likewise.
64844         * modules/unictype/property-iso-control (Depends-on, configure.ac):
64845         Likewise.
64846         * modules/unictype/property-join-control (Depends-on, configure.ac):
64847         Likewise.
64848         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
64849         Likewise.
64850         * modules/unictype/property-line-separator (Depends-on, configure.ac):
64851         Likewise.
64852         * modules/unictype/property-logical-order-exception (Depends-on,
64853         configure.ac): Likewise.
64854         * modules/unictype/property-lowercase (Depends-on, configure.ac):
64855         Likewise.
64856         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
64857         * modules/unictype/property-non-break (Depends-on, configure.ac):
64858         Likewise.
64859         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
64860         Likewise.
64861         * modules/unictype/property-numeric (Depends-on, configure.ac):
64862         Likewise.
64863         * modules/unictype/property-other-alphabetic (Depends-on,
64864         configure.ac): Likewise.
64865         * modules/unictype/property-other-default-ignorable-code-point
64866         (Depends-on, configure.ac): Likewise.
64867         * modules/unictype/property-other-grapheme-extend (Depends-on,
64868         configure.ac): Likewise.
64869         * modules/unictype/property-other-id-continue (Depends-on,
64870         configure.ac): Likewise.
64871         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
64872         Likewise.
64873         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
64874         Likewise.
64875         * modules/unictype/property-other-math (Depends-on, configure.ac):
64876         Likewise.
64877         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
64878         Likewise.
64879         * modules/unictype/property-paired-punctuation (Depends-on,
64880         configure.ac): Likewise.
64881         * modules/unictype/property-paragraph-separator (Depends-on,
64882         configure.ac): Likewise.
64883         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
64884         Likewise.
64885         * modules/unictype/property-pattern-white-space (Depends-on,
64886         configure.ac): Likewise.
64887         * modules/unictype/property-private-use (Depends-on, configure.ac):
64888         Likewise.
64889         * modules/unictype/property-punctuation (Depends-on, configure.ac):
64890         Likewise.
64891         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
64892         Likewise.
64893         * modules/unictype/property-radical (Depends-on, configure.ac):
64894         Likewise.
64895         * modules/unictype/property-sentence-terminal (Depends-on,
64896         configure.ac): Likewise.
64897         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
64898         Likewise.
64899         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
64900         * modules/unictype/property-terminal-punctuation (Depends-on,
64901         configure.ac): Likewise.
64902         * modules/unictype/property-titlecase (Depends-on, configure.ac):
64903         Likewise.
64904         * modules/unictype/property-unassigned-code-value (Depends-on,
64905         configure.ac): Likewise.
64906         * modules/unictype/property-unified-ideograph (Depends-on,
64907         configure.ac): Likewise.
64908         * modules/unictype/property-uppercase (Depends-on, configure.ac):
64909         Likewise.
64910         * modules/unictype/property-variation-selector (Depends-on,
64911         configure.ac): Likewise.
64912         * modules/unictype/property-white-space (Depends-on, configure.ac):
64913         Likewise.
64914         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
64915         Likewise.
64916         * modules/unictype/property-xid-start (Depends-on, configure.ac):
64917         Likewise.
64918         * modules/unictype/property-zero-width (Depends-on, configure.ac):
64919         Likewise.
64920         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
64921         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
64922         Likewise.
64924 2009-12-31  Bruno Haible  <bruno@clisp.org>
64926         Remove unnecessary AC_C_INLINE invocation.
64927         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
64928         since 2009-08-21.
64930 2009-12-31  Jim Meyering  <meyering@redhat.com>
64932         maint.mk: don't require explicit gpg_key_ID in cfg.mk
64933         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
64934         With this change, we can all remove the gpg_key_ID = ... definition
64935         from our respective cfg.mk files.
64937         maint.mk: create announcement template in ~/, not in /tmp
64938         * top/maint.mk (emit_upload_commands): Adjust.
64939         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
64940         Remove temporary file, .ci-msg.
64942 2009-12-31  Eric Blake  <ebb9@byu.net>
64944         link-warning: always build headers with link warnings
64945         * modules/arpa_inet (Makefile.am): Always build replacement
64946         header.
64947         * modules/ctype (Makefile.am): Likewise.
64948         * modules/dirent (Makefile.am): Likewise.
64949         * modules/inttypes (Makefile.am): Likewise.
64950         * modules/langinfo (Makefile.am): Likewise.
64951         * modules/locale (Makefile.am): Likewise.
64952         * modules/spawn (Makefile.am): Likewise.
64953         * modules/sys_file (Makefile.am): Likewise.
64954         * modules/sys_ioctl (Makefile.am): Likewise.
64955         * modules/sys_select (Makefile.am): Likewise.
64956         * modules/sys_socket (Makefile.am): Likewise.
64957         * modules/sys_times (Makefile.am): Likewise.
64958         * modules/sys_utsname (Makefile.am): Likewise.
64959         * modules/sys_wait (Makefile.am): Likewise.
64960         * modules/wchar (Makefile.am): Likewise.
64961         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
64962         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
64963         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
64964         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
64965         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
64966         Likewise.
64967         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
64968         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
64969         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
64970         Likewise.
64971         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
64972         Likewise.
64973         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
64974         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
64975         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
64976         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64977         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
64978         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
64979         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
64980         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
64981         (gl_WCHAR_H_DEFAULTS): Likewise.
64983 2009-12-31  Eric Blake  <ebb9@byu.net>
64985         signal, spawn: use link warnings
64986         * lib/signal.in.h (sigset_t): Make unconditional.
64987         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
64988         (sigpending, sigprocmask, sigaction): Add link warnings.
64989         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
64990         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
64991         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
64992         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
64993         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
64994         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
64995         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
64996         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
64997         (posix_spawn_file_actions_destroy)
64998         (posix_spawn_file_actions_addopen)
64999         (posix_spawn_file_actions_addclose)
65000         (posix_spawn_file_actions_adddup2): Likewise.
65001         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
65002         * tests/test-signal.c (main): Enhance test.
65004         spawn: improve wrapper support
65005         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
65006         (gl_SPAWN_H_DEFAULTS): New defaults.
65007         * modules/spawn (Makefile.am): Substitute them.
65008         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
65009         Only declare if missing or broken.
65011         sys_times, sys_utsname: use include_next
65012         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
65013         header.
65014         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
65015         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
65016         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
65017         * modules/sys_times (Depends-on): Add include_next.
65018         (Makefile.am): Substitute additional values.
65019         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
65020         * lib/sys_times.in.h (includes): Include native header, if
65021         available.
65022         * lib/sys_utsname.in.h (includes): Likewise.
65023         * tests/test-sys_times.c (main): Enhance test.
65025         fdutimensat: revert prior patch
65026         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
65027         utimens.h.
65028         Reported by Bruno Haible.
65030 2009-12-30  Eric Blake  <ebb9@byu.net>
65032         sys_wait: drop link-warning dependency
65033         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
65034         link-warning efforts.
65035         * lib/sys_wait.in.h: Likewise.
65037         fdutimensat: remove bogus dependency
65038         * modules/fdutimensat (Depends-on): Drop inline.
65040         unistd: fix typo
65041         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
65043 2009-12-30  Bruno Haible  <bruno@clisp.org>
65045         Fix compilation error with Solaris cc.
65046         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
65047         * lib/unicase/u16-is-invariant.c: Likewise.
65048         * lib/unicase/u32-is-invariant.c: Likewise.
65049         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
65051 2009-12-30  Bruno Haible  <bruno@clisp.org>
65053         Fix test crash.
65054         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
65055         locales.
65056         Reported by Simon Josefsson <simon@josefsson.org>.
65058 2009-12-30  Bruno Haible  <bruno@clisp.org>
65060         Fix compilation error on most platforms.
65061         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
65062         Reported by Simon Josefsson <simon@josefsson.org>
65063         and Nelson H. F. Beebe <beebe@math.utah.edu>.
65065 2009-12-30  Eric Blake  <ebb9@byu.net>
65067         futimens, utimensat: work around ntfs-3g bug
65068         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
65069         a ctime bug is present, and expand workaround to cover ntfs-3g.
65070         * lib/utimens.c (fdutimens, lutimens): Likewise.
65071         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
65072         (validate_timespec): Adjust return value.
65073         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
65074         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
65075         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
65077 2009-12-29  Eric Blake  <ebb9@byu.net>
65079         link-warning: make usage consistent
65080         * modules/ctype (Depends-on): Add link-warning.
65081         (Makefile.am): Update rules accordingly.
65082         * modules/langinfo (Depends-on, Makefile.am): Likewise.
65083         * modules/locale (Depends-on, Makefile.am): Likewise.
65084         * modules/sys_file (Makefile.am): Likewise.
65085         * modules/getopt-posix (Makefile.am): Delete unused link warning
65086         efforts.
65087         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
65088         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
65089         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
65090         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
65092         stdio: remove unused variables
65093         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
65094         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
65095         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65097         tests: test more substitute headers
65098         * modules/ctype-tests: New file.
65099         * modules/dirent-tests: Likewise.
65100         * modules/spawn-tests: Likewise.
65101         * modules/sys_file-tests: Likewise.
65102         * modules/sys_ioctl-tests: Likewise.
65103         * modules/sys_wait-tests: Likewise.
65104         * tests/test-ctype.c: Likewise.
65105         * tests/test-dirent.c: Likewise.
65106         * tests/test-spawn.c: Likewise.
65107         * tests/test-sys_file.c: Likewise.
65108         * tests/test-sys_ioctl.c: Likewise.
65109         * tests/test-sys_wait.c: Likewise.
65110         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
65111         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
65112         whether or not flock is in use.
65114         tests: remove License section from module
65115         * modules/arpa_inet-tests: Remove unneeded section.
65116         * modules/byteswap-tests: Likewise.
65117         * modules/ceilf-tests: Likewise.
65118         * modules/ceill-tests: Likewise.
65119         * modules/crypto/des-tests: Likewise.
65120         * modules/crypto/gc-arcfour-tests: Likewise.
65121         * modules/crypto/gc-arctwo-tests: Likewise.
65122         * modules/crypto/gc-des-tests: Likewise.
65123         * modules/crypto/gc-hmac-md5-tests: Likewise.
65124         * modules/crypto/gc-hmac-sha1-tests: Likewise.
65125         * modules/crypto/gc-md2-tests: Likewise.
65126         * modules/crypto/gc-md4-tests: Likewise.
65127         * modules/crypto/gc-md5-tests: Likewise.
65128         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
65129         * modules/crypto/gc-rijndael-tests: Likewise.
65130         * modules/crypto/gc-sha1-tests: Likewise.
65131         * modules/crypto/gc-tests: Likewise.
65132         * modules/crypto/md2-tests: Likewise.
65133         * modules/crypto/md4-tests: Likewise.
65134         * modules/fcntl-h-tests: Likewise.
65135         * modules/floorf-tests: Likewise.
65136         * modules/floorl-tests: Likewise.
65137         * modules/frexp-nolibm-tests: Likewise.
65138         * modules/frexp-tests: Likewise.
65139         * modules/frexpl-nolibm-tests: Likewise.
65140         * modules/frexpl-tests: Likewise.
65141         * modules/getaddrinfo-tests: Likewise.
65142         * modules/inttypes-tests: Likewise.
65143         * modules/isfinite-tests: Likewise.
65144         * modules/isinf-tests: Likewise.
65145         * modules/ldexpl-tests: Likewise.
65146         * modules/locale-tests: Likewise.
65147         * modules/math-tests: Likewise.
65148         * modules/netdb-tests: Likewise.
65149         * modules/netinet_in-tests: Likewise.
65150         * modules/printf-frexp-tests: Likewise.
65151         * modules/printf-frexpl-tests: Likewise.
65152         * modules/priv-set-tests: Likewise.
65153         * modules/random_r-tests: Likewise.
65154         * modules/round-tests: Likewise.
65155         * modules/roundf-tests: Likewise.
65156         * modules/roundl-tests: Likewise.
65157         * modules/search-tests: Likewise.
65158         * modules/select-tests: Likewise.
65159         * modules/signal-tests: Likewise.
65160         * modules/stdbool-tests: Likewise.
65161         * modules/stddef-tests: Likewise.
65162         * modules/stdint-tests: Likewise.
65163         * modules/stdio-tests: Likewise.
65164         * modules/stdlib-tests: Likewise.
65165         * modules/string-tests: Likewise.
65166         * modules/strings-tests: Likewise.
65167         * modules/sys_select-tests: Likewise.
65168         * modules/sys_socket-tests: Likewise.
65169         * modules/sys_stat-tests: Likewise.
65170         * modules/sys_time-tests: Likewise.
65171         * modules/sys_utsname-tests: Likewise.
65172         * modules/sysexits-tests: Likewise.
65173         * modules/time-tests: Likewise.
65174         * modules/trunc-tests: Likewise.
65175         * modules/truncf-tests: Likewise.
65176         * modules/truncl-tests: Likewise.
65177         * modules/tsearch-tests: Likewise.
65178         * modules/unistd-tests: Likewise.
65179         * modules/wchar-tests: Likewise.
65180         * modules/wctype-tests: Likewise.
65182         tests: fix license on several tests
65183         * tests/test-des.c: Update to GPLv3+.
65184         * tests/test-flock.c: Likewise.
65185         * tests/test-fsync.c: Likewise.
65186         * tests/test-futimens.h: Likewise.
65187         * tests/test-gc-arcfour.c: Likewise.
65188         * tests/test-gc-arctwo.c: Likewise.
65189         * tests/test-gc-des.c: Likewise.
65190         * tests/test-gc-hmac-md5.c: Likewise.
65191         * tests/test-gc-hmac-sha1.c: Likewise.
65192         * tests/test-gc-md2.c: Likewise.
65193         * tests/test-gc-md4.c: Likewise.
65194         * tests/test-gc-md5.c: Likewise.
65195         * tests/test-gc-pbkdf2-sha1.c: Likewise.
65196         * tests/test-gc-rijndael.c: Likewise.
65197         * tests/test-gc-sha1.c: Likewise.
65198         * tests/test-gc.c: Likewise.
65199         * tests/test-getcwd.c: Likewise.
65200         * tests/test-link.c: Likewise.
65201         * tests/test-link.h: Likewise.
65202         * tests/test-lutimens.h: Likewise.
65203         * tests/test-md2.c: Likewise.
65204         * tests/test-md4.c: Likewise.
65205         * tests/test-mkdir.h: Likewise.
65206         * tests/test-rename.c: Likewise.
65207         * tests/test-rename.h: Likewise.
65208         * tests/test-safe-alloc.c: Likewise.
65209         * tests/test-utimens-common.h: Likewise.
65210         * tests/test-utimens.h: Likewise.
65212         maint: sync license texts
65213         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
65214         * doc/gpl-3.0.texi: Revert copyright year update.
65215         * doc/lgpl-3.0.texi: Likewise.
65217 2009-12-29  Jim Meyering  <meyering@redhat.com>
65219         update nearly all FSF copyright year lists to include 2009
65220         The files named by the following are exempted:
65221             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
65222               test -f "$dst" && { echo "$dst"; continue; }
65223               test -d "$dst" || continue
65224               echo "$dst"/$(basename "$src")
65225             done > exempt
65226             git ls-files tests/unictype >> exempt
65227         In the remaining files, convert to all-interval notation if
65228         - there is already at least one year interval like 2000-2003
65229         - the file is maintained by me
65230         - the file is in lib/uni*/, where that style already prevails
65231         Otherwise, use update-copyright's default.
65233 2009-12-29  Simon Josefsson  <simon@josefsson.org>
65234         and Eric Blake  <ebb9@byu.net>
65236         tests: don't require debug system() to pass
65237         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
65238         * tests/test-rmdir.h (test_rmdir_func): Likewise.
65239         * tests/test-unlink.h (test_unlink_func): Likewise.
65240         * tests/test-fstatat.c (main): ...into callers.
65241         * tests/test-lstat.c (main): Likewise.
65242         * tests/test-rmdir.c (main): Likewise.
65243         * tests/test-unlink.c (main): Likewise.
65244         * tests/test-unlinkat.c (main): Likewise.
65245         * tests/test-areadlink-with-size.c (main): Don't require a
65246         debug-only system call to pass, aiding cross-testing to mingw.
65247         * tests/test-areadlink.c (main): Likewise.
65248         * tests/test-areadlinkat-with-size.c (main): Likewise.
65249         * tests/test-areadlinkat.c (main): Likewise.
65250         * tests/test-canonicalize-lgpl.c (main): Likewise.
65251         * tests/test-canonicalize.c (main): Likewise.
65252         * tests/test-chown.c (main): Likewise.
65253         * tests/test-fchownat.c (main): Likewise.
65254         * tests/test-lchown.c (main): Likewise.
65255         * tests/test-fdutimensat.c (main): Likewise.
65256         * tests/test-futimens.c (main): Likewise.
65257         * tests/test-link.c (main): Likewise.
65258         * tests/test-linkat.c (main): Likewise.
65259         * tests/test-mkdir.c (main): Likewise.
65260         * tests/test-mkdirat.c (main): Likewise.
65261         * tests/test-mkfifo.c (main): Likewise.
65262         * tests/test-mkfifoat.c (main): Likewise.
65263         * tests/test-mknod.c (main): Likewise.
65264         * tests/test-readlink.c (main): Likewise.
65265         * tests/test-remove.c (main): Likewise.
65266         * tests/test-rename.c (main): Likewise.
65267         * tests/test-renameat.c (main): Likewise.
65268         * tests/test-symlink.c (main): Likewise.
65269         * tests/test-symlinkat.c (main): Likewise.
65270         * tests/test-utimens.c (main): Likewise.
65271         * tests/test-utimensat.c (main): Likewise.
65273 2009-12-29  Simon Josefsson  <simon@josefsson.org>
65275         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
65276         on $(UNUSED_PARAMETER_H) to avoid build failure.
65278 2009-12-28  Jim Meyering  <meyering@redhat.com>
65280         update-copyright: you may specify a max. line length other than 72
65281         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
65283         maint: use consistent FSF copyright line syntax
65284         * lib/posixtm.c: Add missing comma in FSF copyright line.
65285         * lib/posixtm.h: Likewise.
65286         * lib/getugroups.c: Add missing ", Inc.".
65288         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
65289         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
65290         FSF copyright line.  Remove trailing blanks.
65292 2009-12-28  Eric Blake  <ebb9@byu.net>
65294         test-dup2: reduce dependencies
65295         * modules/cloexec (Configure.ac): Set witness.
65296         * modules/dup2-tests (Depends-on): Drop cloexec.
65297         * tests/test-dup2.c (main): Skip portion of test if cloexec module
65298         not present.
65299         Suggested by Bruno Haible.
65301 2009-12-26  Bruno Haible  <bruno@clisp.org>
65303         Remove an unneeded dependency.
65304         * modules/fseterr (Depends-on): Remove dup2.
65306 2009-12-26  Eric Blake  <ebb9@byu.net>
65308         tests: use macros.h in more places
65309         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
65310         (ASSERT_STREAM): Provide default of stderr.
65311         * tests/test-dirent-safer.c: Include macros.h, using alternate
65312         stream for assertions.
65313         * tests/test-dup-safer.c: Likewise.
65314         * tests/test-freopen-safer.c: Likewise.
65315         * tests/test-getopt.c: Likewise.
65316         * tests/test-openat-safer.c: Likewise.
65317         * tests/test-pipe.c: Likewise.
65318         * tests/test-popen-safer.c: Likewise.
65319         * modules/dirent-safer-tests (Files): Include macros.h.
65320         * modules/unistd-safer-tests (Files): Likewise.
65321         * modules/freopen-safer-tests (Files): Likewise.
65322         * modules/getopt-posix-tests (Files): Likewise.
65323         * modules/openat-safer-tests (Files): Likewise.
65324         * modules/pipe-tests (Files): Likewise.
65326 2009-12-26  Bruno Haible  <bruno@clisp.org>
65328         javacomp-script: Portability fix.
65329         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
65330         that it also works on Solaris.
65332 2009-12-26  Bruno Haible  <bruno@clisp.org>
65334         localename: Fix storage allocation of gl_locale_name_thread's result.
65335         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
65336         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
65337         all platforms that have 'uselocale'.
65338         (gl_locale_name_thread_unsafe): New function, extracted from
65339         gl_locale_name_thread.
65340         (gl_locale_name_thread): Call struniq on all platforms that have
65341         'uselocale'.
65342         * tests/test-localename.c (test_locale_name_thread): Check that the
65343         resulting strings are permanently allocated.
65344         * modules/localename-tests (Depends-on): Add strdup.
65346 2009-12-26  Bruno Haible  <bruno@clisp.org>
65348         * tests/test-localename.c (categories): Fill in the strings.
65350 2009-12-26  Jim Meyering  <meyering@redhat.com>
65352         isdir: complete the removal of m4/isdir.m4
65353         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
65355         isdir: clean up, since at least grep still uses it
65356         * lib/isdir.c: Include "isdir.h".
65357         (S_ISDIR): Remove now-unneeded definition.
65358         * modules/isdir (Files): Add lib/isdir.h.
65359         * lib/isdir.h: New file, with declaration.
65360         * m4/isdir.m4: Remove file -- unneeded.
65362 2009-12-25  Bruno Haible  <bruno@clisp.org>
65364         selinux-h: Make generated .h files standalone.
65365         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
65366         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
65367         * lib/se-selinux.in.h: Likewise.
65368         * modules/selinux-h (Depends-on): Add unused-parameter.
65369         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
65370         selinux/selinux.h and selinux/context.h.
65371         Suggested by Eric Blake.
65373 2009-12-25  Bruno Haible  <bruno@clisp.org>
65375         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
65376         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
65377         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
65378         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
65379         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
65381 2009-12-24  Bruno Haible  <bruno@clisp.org>
65383         openat: Fix warning.
65384         * lib/openat-proc.c: Include <unistd.h>.
65386 2009-12-24  Bruno Haible  <bruno@clisp.org>
65388         New module 'unused-parameter'.
65389         * build-aux/unused-parameter.h: New file, extracted from earlier
65390         gnulib-common.m4.
65391         * modules/unused-parameter: New file.
65392         * lib/unistr.h: Include unused-parameter.h.
65393         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
65394         _GL_UNUSED.
65395         * modules/unistr/base (Depends-on): Add unused-parameter.
65397 2009-12-24  Bruno Haible  <bruno@clisp.org>
65399         Add missing dependencies to 'extensions' module.
65400         * m4/extensions.m4: Add comment.
65401         * modules/accept4 (Depends-on): Add extensions.
65402         * modules/dup3 (Depends-on): Likewise.
65403         * modules/fcntl (Depends-on): Likewise.
65404         * modules/futimens (Depends-on): Likewise.
65405         * modules/mknod (Depends-on): Likewise.
65406         * modules/pipe2 (Depends-on): Likewise.
65407         * modules/stat-time (Depends-on): Likewise.
65408         * modules/strcasestr-simple (Depends-on): Likewise.
65409         * modules/strsignal (Depends-on): Likewise.
65410         * modules/utimensat (Depends-on): Likewise.
65411         * modules/localcharset (Depends-on): Likewise. Needed because of
65412         gl_FCNTL_O_FLAGS.
65413         * modules/wcrtomb (Depends-on): Likewise. Needed because of
65414         AC_TYPE_MBSTATE_T.
65415         * modules/wcsnrtombs (Depends-on): Likewise.
65416         * modules/wcsrtombs (Depends-on): Likewise.
65418 2009-12-24  Bruno Haible  <bruno@clisp.org>
65420         binary-io: Avoid gcc warning due to SET_BINARY.
65421         * lib/binary-io.h (SET_BINARY): Cast the result to void.
65422         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
65424 2009-12-24  Bruno Haible  <bruno@clisp.org>
65426         Avoid future namespace pollution on glibc systems.
65427         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
65428         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
65429         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
65430         glibc systems.
65432 2009-12-24  Bruno Haible  <bruno@clisp.org>
65434         Refactor common macros used in tests.
65435         * tests/macros.h: New file.
65436         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
65437         and/or <stdlib.h>, if appropriate.
65438         (ASSERT, SIZEOF): Remove macros.
65439         * tests/test-areadlink-with-size.c: Likewise.
65440         * tests/test-areadlinkat.c: Likewise.
65441         * tests/test-areadlinkat-with-size.c: Likewise.
65442         * tests/test-argmatch.c: Likewise.
65443         * tests/test-argv-iter.c: Likewise.
65444         * tests/test-array-mergesort.c: Likewise.
65445         * tests/test-array_list.c: Likewise.
65446         * tests/test-array_oset.c: Likewise.
65447         * tests/test-avltree_list.c: Likewise.
65448         * tests/test-avltree_oset.c: Likewise.
65449         * tests/test-avltreehash_list.c: Likewise.
65450         * tests/test-base64.c: Likewise.
65451         * tests/test-binary-io.c: Likewise.
65452         * tests/test-bitrotate.c: Likewise.
65453         * tests/test-btowc.c: Likewise.
65454         * tests/test-byteswap.c: Likewise.
65455         * tests/test-c-ctype.c: Likewise.
65456         * tests/test-c-stack.c: Likewise.
65457         * tests/test-c-strcasecmp.c: Likewise.
65458         * tests/test-c-strcasestr.c: Likewise.
65459         * tests/test-c-strncasecmp.c: Likewise.
65460         * tests/test-c-strstr.c: Likewise.
65461         * tests/test-canonicalize-lgpl.c: Likewise.
65462         * tests/test-canonicalize.c: Likewise.
65463         * tests/test-carray_list.c: Likewise.
65464         * tests/test-ceilf1.c: Likewise.
65465         * tests/test-ceilf2.c: Likewise.
65466         * tests/test-ceill.c: Likewise.
65467         * tests/test-chown.c: Likewise.
65468         * tests/test-cloexec.c: Likewise.
65469         * tests/test-copy-acl.c: Likewise.
65470         * tests/test-copy-file.c: Likewise.
65471         * tests/test-count-one-bits.c: Likewise.
65472         * tests/test-dprintf-posix.c: Likewise.
65473         * tests/test-dup2.c: Likewise.
65474         * tests/test-dup3.c: Likewise.
65475         * tests/test-duplocale.c: Likewise.
65476         * tests/test-fbufmode.c: Likewise.
65477         * tests/test-fchdir.c: Likewise.
65478         * tests/test-fchownat.c: Likewise.
65479         * tests/test-fcntl-safer.c: Likewise.
65480         * tests/test-fcntl.c: Likewise.
65481         * tests/test-fdopendir.c: Likewise.
65482         * tests/test-fdutimensat.c: Likewise.
65483         * tests/test-fflush2.c: Likewise.
65484         * tests/test-file-has-acl.c: Likewise.
65485         * tests/test-filevercmp.c: Likewise.
65486         * tests/test-flock.c: Likewise.
65487         * tests/test-floorf1.c: Likewise.
65488         * tests/test-floorf2.c: Likewise.
65489         * tests/test-floorl.c: Likewise.
65490         * tests/test-fnmatch.c: Likewise.
65491         * tests/test-fopen.h: Likewise.
65492         * tests/test-fpending.c: Likewise.
65493         * tests/test-fprintf-posix.c: Likewise.
65494         * tests/test-fpurge.c: Likewise.
65495         * tests/test-freadable.c: Likewise.
65496         * tests/test-freadahead.c: Likewise.
65497         * tests/test-freading.c: Likewise.
65498         * tests/test-freadptr.c: Likewise.
65499         * tests/test-freadptr2.c: Likewise.
65500         * tests/test-freadseek.c: Likewise.
65501         * tests/test-freopen.c: Likewise.
65502         * tests/test-frexp.c: Likewise.
65503         * tests/test-frexpl.c: Likewise.
65504         * tests/test-fseek.c: Likewise.
65505         * tests/test-fseeko.c: Likewise.
65506         * tests/test-fstatat.c: Likewise.
65507         * tests/test-fstrcmp.c: Likewise.
65508         * tests/test-fsync.c: Likewise.
65509         * tests/test-ftell.c: Likewise.
65510         * tests/test-ftello.c: Likewise.
65511         * tests/test-func.c: Likewise.
65512         * tests/test-futimens.c: Likewise.
65513         * tests/test-fwritable.c: Likewise.
65514         * tests/test-fwriting.c: Likewise.
65515         * tests/test-getcwd.c: Likewise.
65516         * tests/test-getdate.c: Likewise.
65517         * tests/test-getdelim.c: Likewise.
65518         * tests/test-getdtablesize.c: Likewise.
65519         * tests/test-getgroups.c: Likewise.
65520         * tests/test-getline.c: Likewise.
65521         * tests/test-getndelim2.c: Likewise.
65522         * tests/test-glob.c: Likewise.
65523         * tests/test-hash.c: Likewise.
65524         * tests/test-i-ring.c: Likewise.
65525         * tests/test-iconv-utf.c: Likewise.
65526         * tests/test-iconv.c: Likewise.
65527         * tests/test-idpriv-drop.c: Likewise.
65528         * tests/test-idpriv-droptemp.c: Likewise.
65529         * tests/test-inet_ntop.c: Likewise.
65530         * tests/test-inet_pton.c: Likewise.
65531         * tests/test-isblank.c: Likewise.
65532         * tests/test-isfinite.c: Likewise.
65533         * tests/test-isinf.c: Likewise.
65534         * tests/test-isnan.c: Likewise.
65535         * tests/test-isnand.h: Likewise.
65536         * tests/test-isnanf.h: Likewise.
65537         * tests/test-isnanl.h: Likewise.
65538         * tests/test-lchown.c: Likewise.
65539         * tests/test-ldexpl.c: Likewise.
65540         * tests/test-link.c: Likewise.
65541         * tests/test-linkat.c: Likewise.
65542         * tests/test-linked_list.c: Likewise.
65543         * tests/test-linkedhash_list.c: Likewise.
65544         * tests/test-localename.c: Likewise.
65545         * tests/test-lseek.c: Likewise.
65546         * tests/test-lstat.c: Likewise.
65547         * tests/test-mbmemcasecmp.c: Likewise.
65548         * tests/test-mbmemcasecoll.c: Likewise.
65549         * tests/test-mbrtowc.c: Likewise.
65550         * tests/test-mbscasecmp.c: Likewise.
65551         * tests/test-mbscasestr1.c: Likewise.
65552         * tests/test-mbscasestr2.c: Likewise.
65553         * tests/test-mbscasestr3.c: Likewise.
65554         * tests/test-mbscasestr4.c: Likewise.
65555         * tests/test-mbschr.c: Likewise.
65556         * tests/test-mbscspn.c: Likewise.
65557         * tests/test-mbsinit.c: Likewise.
65558         * tests/test-mbsncasecmp.c: Likewise.
65559         * tests/test-mbsnrtowcs.c: Likewise.
65560         * tests/test-mbspbrk.c: Likewise.
65561         * tests/test-mbspcasecmp.c: Likewise.
65562         * tests/test-mbsrchr.c: Likewise.
65563         * tests/test-mbsrtowcs.c: Likewise.
65564         * tests/test-mbsspn.c: Likewise.
65565         * tests/test-mbsstr1.c: Likewise.
65566         * tests/test-mbsstr2.c: Likewise.
65567         * tests/test-mbsstr3.c: Likewise.
65568         * tests/test-memchr.c: Likewise.
65569         * tests/test-memchr2.c: Likewise.
65570         * tests/test-memcmp.c: Likewise.
65571         * tests/test-memmem.c: Likewise.
65572         * tests/test-memrchr.c: Likewise.
65573         * tests/test-mkdir.c: Likewise.
65574         * tests/test-mkdirat.c: Likewise.
65575         * tests/test-mkfifo.c: Likewise.
65576         * tests/test-mkfifoat.c: Likewise.
65577         * tests/test-mknod.c: Likewise.
65578         * tests/test-nanosleep.c: Likewise.
65579         * tests/test-nl_langinfo.c: Likewise.
65580         * tests/test-obstack-printf.c: Likewise.
65581         * tests/test-open.c: Likewise.
65582         * tests/test-openat.c: Likewise.
65583         * tests/test-pipe-filter-gi1.c: Likewise.
65584         * tests/test-pipe-filter-gi2-main.c: Likewise.
65585         * tests/test-pipe-filter-ii1.c: Likewise.
65586         * tests/test-pipe-filter-ii2-main.c: Likewise.
65587         * tests/test-pipe2.c: Likewise.
65588         * tests/test-popen.h: Likewise.
65589         * tests/test-posixtm.c: Likewise.
65590         * tests/test-pread.c: Likewise.
65591         * tests/test-printf-frexp.c: Likewise.
65592         * tests/test-printf-frexpl.c: Likewise.
65593         * tests/test-printf-posix.c: Likewise.
65594         * tests/test-priv-set.c: Likewise.
65595         * tests/test-quotearg.c: Likewise.
65596         * tests/test-random_r.c: Likewise.
65597         * tests/test-rawmemchr.c: Likewise.
65598         * tests/test-rbtree_list.c: Likewise.
65599         * tests/test-rbtree_oset.c: Likewise.
65600         * tests/test-rbtreehash_list.c: Likewise.
65601         * tests/test-readlink.c: Likewise.
65602         * tests/test-remove.c: Likewise.
65603         * tests/test-rename.c: Likewise.
65604         * tests/test-renameat.c: Likewise.
65605         * tests/test-rmdir.c: Likewise.
65606         * tests/test-round1.c: Likewise.
65607         * tests/test-roundf1.c: Likewise.
65608         * tests/test-roundl.c: Likewise.
65609         * tests/test-safe-alloc.c: Likewise.
65610         * tests/test-sameacls.c: Likewise.
65611         * tests/test-set-mode-acl.c: Likewise.
65612         * tests/test-setenv.c: Likewise.
65613         * tests/test-sigaction.c: Likewise.
65614         * tests/test-signbit.c: Likewise.
65615         * tests/test-sleep.c: Likewise.
65616         * tests/test-snprintf-posix.c: Likewise.
65617         * tests/test-snprintf.c: Likewise.
65618         * tests/test-sprintf-posix.c: Likewise.
65619         * tests/test-stat-time.c: Likewise.
65620         * tests/test-stat.c: Likewise.
65621         * tests/test-strcasestr.c: Likewise.
65622         * tests/test-strchrnul.c: Likewise.
65623         * tests/test-strerror.c: Likewise.
65624         * tests/test-striconv.c: Likewise.
65625         * tests/test-striconveh.c: Likewise.
65626         * tests/test-striconveha.c: Likewise.
65627         * tests/test-strsignal.c: Likewise.
65628         * tests/test-strstr.c: Likewise.
65629         * tests/test-strtod.c: Likewise.
65630         * tests/test-strverscmp.c: Likewise.
65631         * tests/test-symlink.c: Likewise.
65632         * tests/test-symlinkat.c: Likewise.
65633         * tests/test-trunc1.c: Likewise.
65634         * tests/test-trunc2.c: Likewise.
65635         * tests/test-truncf1.c: Likewise.
65636         * tests/test-truncf2.c: Likewise.
65637         * tests/test-truncl.c: Likewise.
65638         * tests/test-uname.c: Likewise.
65639         * tests/test-unlink.c: Likewise.
65640         * tests/test-unlinkat.c: Likewise.
65641         * tests/test-unsetenv.c: Likewise.
65642         * tests/test-usleep.c: Likewise.
65643         * tests/test-utimens.c: Likewise.
65644         * tests/test-utimensat.c: Likewise.
65645         * tests/test-vasnprintf-posix.c: Likewise.
65646         * tests/test-vasnprintf-posix2.c: Likewise.
65647         * tests/test-vasnprintf.c: Likewise.
65648         * tests/test-vasprintf-posix.c: Likewise.
65649         * tests/test-vasprintf.c: Likewise.
65650         * tests/test-vdprintf-posix.c: Likewise.
65651         * tests/test-vfprintf-posix.c: Likewise.
65652         * tests/test-vprintf-posix.c: Likewise.
65653         * tests/test-vsnprintf-posix.c: Likewise.
65654         * tests/test-vsnprintf.c: Likewise.
65655         * tests/test-vsprintf-posix.c: Likewise.
65656         * tests/test-wcrtomb.c: Likewise.
65657         * tests/test-wcsnrtombs.c: Likewise.
65658         * tests/test-wcsrtombs.c: Likewise.
65659         * tests/test-wctype.c: Likewise.
65660         * tests/test-wcwidth.c: Likewise.
65661         * tests/test-xfprintf-posix.c: Likewise.
65662         * tests/test-xmemdup0.c: Likewise.
65663         * tests/test-xprintf-posix.c: Likewise.
65664         * tests/test-xvasprintf.c: Likewise.
65665         * tests/unicase/test-locale-language.c: Likewise.
65666         * tests/unicase/test-mapping-part1.h: Likewise.
65667         * tests/unicase/test-predicate-part1.h: Likewise.
65668         * tests/unicase/test-u8-casecmp.c: Likewise.
65669         * tests/unicase/test-u8-casecoll.c: Likewise.
65670         * tests/unicase/test-u8-casefold.c: Likewise.
65671         * tests/unicase/test-u8-is-cased.c: Likewise.
65672         * tests/unicase/test-u8-is-casefolded.c: Likewise.
65673         * tests/unicase/test-u8-is-lowercase.c: Likewise.
65674         * tests/unicase/test-u8-is-titlecase.c: Likewise.
65675         * tests/unicase/test-u8-is-uppercase.c: Likewise.
65676         * tests/unicase/test-u8-tolower.c: Likewise.
65677         * tests/unicase/test-u8-totitle.c: Likewise.
65678         * tests/unicase/test-u8-toupper.c: Likewise.
65679         * tests/unicase/test-u16-casecmp.c: Likewise.
65680         * tests/unicase/test-u16-casecoll.c: Likewise.
65681         * tests/unicase/test-u16-casefold.c: Likewise.
65682         * tests/unicase/test-u16-is-cased.c: Likewise.
65683         * tests/unicase/test-u16-is-casefolded.c: Likewise.
65684         * tests/unicase/test-u16-is-lowercase.c: Likewise.
65685         * tests/unicase/test-u16-is-titlecase.c: Likewise.
65686         * tests/unicase/test-u16-is-uppercase.c: Likewise.
65687         * tests/unicase/test-u16-tolower.c: Likewise.
65688         * tests/unicase/test-u16-totitle.c: Likewise.
65689         * tests/unicase/test-u16-toupper.c: Likewise.
65690         * tests/unicase/test-u32-casecmp.c: Likewise.
65691         * tests/unicase/test-u32-casecoll.c: Likewise.
65692         * tests/unicase/test-u32-casefold.c: Likewise.
65693         * tests/unicase/test-u32-is-cased.c: Likewise.
65694         * tests/unicase/test-u32-is-casefolded.c: Likewise.
65695         * tests/unicase/test-u32-is-lowercase.c: Likewise.
65696         * tests/unicase/test-u32-is-titlecase.c: Likewise.
65697         * tests/unicase/test-u32-is-uppercase.c: Likewise.
65698         * tests/unicase/test-u32-tolower.c: Likewise.
65699         * tests/unicase/test-u32-totitle.c: Likewise.
65700         * tests/unicase/test-u32-toupper.c: Likewise.
65701         * tests/unicase/test-ulc-casecmp.c: Likewise.
65702         * tests/unicase/test-ulc-casecoll.c: Likewise.
65703         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65704         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65705         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65706         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65707         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65708         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65709         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65710         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65711         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65712         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65713         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65714         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65715         * tests/unictype/test-bidi_byname.c: Likewise.
65716         * tests/unictype/test-bidi_name.c: Likewise.
65717         * tests/unictype/test-bidi_of.c: Likewise.
65718         * tests/unictype/test-bidi_test.c: Likewise.
65719         * tests/unictype/test-block_list.c: Likewise.
65720         * tests/unictype/test-block_of.c: Likewise.
65721         * tests/unictype/test-block_test.c: Likewise.
65722         * tests/unictype/test-categ_and.c: Likewise.
65723         * tests/unictype/test-categ_and_not.c: Likewise.
65724         * tests/unictype/test-categ_byname.c: Likewise.
65725         * tests/unictype/test-categ_name.c: Likewise.
65726         * tests/unictype/test-categ_none.c: Likewise.
65727         * tests/unictype/test-categ_of.c: Likewise.
65728         * tests/unictype/test-categ_or.c: Likewise.
65729         * tests/unictype/test-categ_test_withtable.c: Likewise.
65730         * tests/unictype/test-combining.c: Likewise.
65731         * tests/unictype/test-decdigit.c: Likewise.
65732         * tests/unictype/test-digit.c: Likewise.
65733         * tests/unictype/test-mirror.c: Likewise.
65734         * tests/unictype/test-numeric.c: Likewise.
65735         * tests/unictype/test-pr_byname.c: Likewise.
65736         * tests/unictype/test-pr_test.c: Likewise.
65737         * tests/unictype/test-predicate-part1.h: Likewise.
65738         * tests/unictype/test-scripts.c: Likewise.
65739         * tests/unictype/test-sy_c_ident.c: Likewise.
65740         * tests/unictype/test-sy_java_ident.c: Likewise.
65741         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
65742         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
65743         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
65744         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
65745         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
65746         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
65747         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
65748         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
65749         * tests/uninorm/test-canonical-decomposition.c: Likewise.
65750         * tests/uninorm/test-compat-decomposition.c: Likewise.
65751         * tests/uninorm/test-composition.c: Likewise.
65752         * tests/uninorm/test-decomposing-form.c: Likewise.
65753         * tests/uninorm/test-decomposition.c: Likewise.
65754         * tests/uninorm/test-u8-nfc.c: Likewise.
65755         * tests/uninorm/test-u8-nfd.c: Likewise.
65756         * tests/uninorm/test-u8-nfkc.c: Likewise.
65757         * tests/uninorm/test-u8-nfkd.c: Likewise.
65758         * tests/uninorm/test-u8-normcmp.c: Likewise.
65759         * tests/uninorm/test-u8-normcoll.c: Likewise.
65760         * tests/uninorm/test-u16-nfc.c: Likewise.
65761         * tests/uninorm/test-u16-nfd.c: Likewise.
65762         * tests/uninorm/test-u16-nfkc.c: Likewise.
65763         * tests/uninorm/test-u16-nfkd.c: Likewise.
65764         * tests/uninorm/test-u16-normcmp.c: Likewise.
65765         * tests/uninorm/test-u16-normcoll.c: Likewise.
65766         * tests/uninorm/test-u32-nfc.c: Likewise.
65767         * tests/uninorm/test-u32-nfd.c: Likewise.
65768         * tests/uninorm/test-u32-nfkc.c: Likewise.
65769         * tests/uninorm/test-u32-nfkd.c: Likewise.
65770         * tests/uninorm/test-u32-normalize-big.c: Likewise.
65771         * tests/uninorm/test-u32-normcmp.c: Likewise.
65772         * tests/uninorm/test-u32-normcoll.c: Likewise.
65773         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
65774         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65775         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65776         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65777         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65778         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65779         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65780         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65781         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65782         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65783         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65784         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65785         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65786         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65787         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65788         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65789         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65790         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65791         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65792         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65793         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65794         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65795         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65796         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65797         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65798         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65799         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65800         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65801         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65802         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
65803         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
65804         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
65805         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
65806         * tests/uniwidth/test-u8-strwidth.c: Likewise.
65807         * tests/uniwidth/test-u8-width.c: Likewise.
65808         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65809         * tests/uniwidth/test-u16-width.c: Likewise.
65810         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65811         * tests/uniwidth/test-u32-width.c: Likewise.
65812         * tests/uniwidth/test-uc_width.c: Likewise.
65813         * tests/uniwidth/test-uc_width2.c: Likewise.
65814         * modules/acl-tests (Files): Add tests/macros.h.
65815         * modules/areadlink-tests (Files): Likewise.
65816         * modules/areadlink-with-size-tests (Files): Likewise.
65817         * modules/areadlinkat-tests (Files): Likewise.
65818         * modules/areadlinkat-with-size-tests (Files): Likewise.
65819         * modules/argmatch-tests (Files): Likewise.
65820         * modules/argv-iter-tests (Files): Likewise.
65821         * modules/array-list-tests (Files): Likewise.
65822         * modules/array-mergesort-tests (Files): Likewise.
65823         * modules/array-oset-tests (Files): Likewise.
65824         * modules/avltree-list-tests (Files): Likewise.
65825         * modules/avltree-oset-tests (Files): Likewise.
65826         * modules/avltreehash-list-tests (Files): Likewise.
65827         * modules/base64-tests (Files): Likewise.
65828         * modules/binary-io-tests (Files): Likewise.
65829         * modules/bitrotate-tests (Files): Likewise.
65830         * modules/btowc-tests (Files): Likewise.
65831         * modules/byteswap-tests (Files): Likewise.
65832         * modules/c-ctype-tests (Files): Likewise.
65833         * modules/c-stack-tests (Files): Likewise.
65834         * modules/c-strcase-tests (Files): Likewise.
65835         * modules/c-strcasestr-tests (Files): Likewise.
65836         * modules/c-strstr-tests (Files): Likewise.
65837         * modules/canonicalize-lgpl-tests (Files): Likewise.
65838         * modules/canonicalize-tests (Files): Likewise.
65839         * modules/carray-list-tests (Files): Likewise.
65840         * modules/ceilf-tests (Files): Likewise.
65841         * modules/ceill-tests (Files): Likewise.
65842         * modules/chown-tests (Files): Likewise.
65843         * modules/cloexec-tests (Files): Likewise.
65844         * modules/copy-file-tests (Files): Likewise.
65845         * modules/count-one-bits-tests (Files): Likewise.
65846         * modules/dprintf-posix-tests (Files): Likewise.
65847         * modules/dup2-tests (Files): Likewise.
65848         * modules/dup3-tests (Files): Likewise.
65849         * modules/duplocale-tests (Files): Likewise.
65850         * modules/fbufmode-tests (Files): Likewise.
65851         * modules/fchdir-tests (Files): Likewise.
65852         * modules/fcntl-safer-tests (Files): Likewise.
65853         * modules/fcntl-tests (Files): Likewise.
65854         * modules/fdopendir-tests (Files): Likewise.
65855         * modules/fdutimensat-tests (Files): Likewise.
65856         * modules/fflush-tests (Files): Likewise.
65857         * modules/filevercmp-tests (Files): Likewise.
65858         * modules/flock-tests (Files): Likewise.
65859         * modules/floorf-tests (Files): Likewise.
65860         * modules/floorl-tests (Files): Likewise.
65861         * modules/fnmatch-tests (Files): Likewise.
65862         * modules/fopen-safer-tests (Files): Likewise.
65863         * modules/fopen-tests (Files): Likewise.
65864         * modules/fpending-tests (Files): Likewise.
65865         * modules/fprintf-posix-tests (Files): Likewise.
65866         * modules/fpurge-tests (Files): Likewise.
65867         * modules/freadable-tests (Files): Likewise.
65868         * modules/freadahead-tests (Files): Likewise.
65869         * modules/freading-tests (Files): Likewise.
65870         * modules/freadptr-tests (Files): Likewise.
65871         * modules/freadseek-tests (Files): Likewise.
65872         * modules/freopen-tests (Files): Likewise.
65873         * modules/frexp-nolibm-tests (Files): Likewise.
65874         * modules/frexp-tests (Files): Likewise.
65875         * modules/frexpl-nolibm-tests (Files): Likewise.
65876         * modules/frexpl-tests (Files): Likewise.
65877         * modules/fseek-tests (Files): Likewise.
65878         * modules/fseeko-tests (Files): Likewise.
65879         * modules/fstrcmp-tests (Files): Likewise.
65880         * modules/fsync-tests (Files): Likewise.
65881         * modules/ftell-tests (Files): Likewise.
65882         * modules/ftello-tests (Files): Likewise.
65883         * modules/func-tests (Files): Likewise.
65884         * modules/futimens-tests (Files): Likewise.
65885         * modules/fwritable-tests (Files): Likewise.
65886         * modules/fwriting-tests (Files): Likewise.
65887         * modules/getcwd-tests (Files): Likewise.
65888         * modules/getdate-tests (Files): Likewise.
65889         * modules/getdelim-tests (Files): Likewise.
65890         * modules/getdtablesize-tests (Files): Likewise.
65891         * modules/getgroups-tests (Files): Likewise.
65892         * modules/getline-tests (Files): Likewise.
65893         * modules/getndelim2-tests (Files): Likewise.
65894         * modules/glob-tests (Files): Likewise.
65895         * modules/hash-tests (Files): Likewise.
65896         * modules/i-ring-tests (Files): Likewise.
65897         * modules/iconv-tests (Files): Likewise.
65898         * modules/iconv_open-utf-tests (Files): Likewise.
65899         * modules/idpriv-drop-tests (Files): Likewise.
65900         * modules/idpriv-droptemp-tests (Files): Likewise.
65901         * modules/inet_ntop-tests (Files): Likewise.
65902         * modules/inet_pton-tests (Files): Likewise.
65903         * modules/isblank-tests (Files): Likewise.
65904         * modules/isfinite-tests (Files): Likewise.
65905         * modules/isinf-tests (Files): Likewise.
65906         * modules/isnan-tests (Files): Likewise.
65907         * modules/isnand-nolibm-tests (Files): Likewise.
65908         * modules/isnand-tests (Files): Likewise.
65909         * modules/isnanf-nolibm-tests (Files): Likewise.
65910         * modules/isnanf-tests (Files): Likewise.
65911         * modules/isnanl-nolibm-tests (Files): Likewise.
65912         * modules/isnanl-tests (Files): Likewise.
65913         * modules/lchown-tests (Files): Likewise.
65914         * modules/ldexpl-tests (Files): Likewise.
65915         * modules/link-tests (Files): Likewise.
65916         * modules/linkat-tests (Files): Likewise.
65917         * modules/linked-list-tests (Files): Likewise.
65918         * modules/linkedhash-list-tests (Files): Likewise.
65919         * modules/localename-tests (Files): Likewise.
65920         * modules/lseek-tests (Files): Likewise.
65921         * modules/lstat-tests (Files): Likewise.
65922         * modules/mbmemcasecmp-tests (Files): Likewise.
65923         * modules/mbmemcasecoll-tests (Files): Likewise.
65924         * modules/mbrtowc-tests (Files): Likewise.
65925         * modules/mbscasecmp-tests (Files): Likewise.
65926         * modules/mbscasestr-tests (Files): Likewise.
65927         * modules/mbschr-tests (Files): Likewise.
65928         * modules/mbscspn-tests (Files): Likewise.
65929         * modules/mbsinit-tests (Files): Likewise.
65930         * modules/mbsncasecmp-tests (Files): Likewise.
65931         * modules/mbsnrtowcs-tests (Files): Likewise.
65932         * modules/mbspbrk-tests (Files): Likewise.
65933         * modules/mbspcasecmp-tests (Files): Likewise.
65934         * modules/mbsrchr-tests (Files): Likewise.
65935         * modules/mbsrtowcs-tests (Files): Likewise.
65936         * modules/mbsspn-tests (Files): Likewise.
65937         * modules/mbsstr-tests (Files): Likewise.
65938         * modules/memchr-tests (Files): Likewise.
65939         * modules/memchr2-tests (Files): Likewise.
65940         * modules/memcmp-tests (Files): Likewise.
65941         * modules/memmem-tests (Files): Likewise.
65942         * modules/memrchr-tests (Files): Likewise.
65943         * modules/mkdir-tests (Files): Likewise.
65944         * modules/mkfifo-tests (Files): Likewise.
65945         * modules/mkfifoat-tests (Files): Likewise.
65946         * modules/mknod-tests (Files): Likewise.
65947         * modules/nanosleep-tests (Files): Likewise.
65948         * modules/nl_langinfo-tests (Files): Likewise.
65949         * modules/obstack-printf-tests (Files): Likewise.
65950         * modules/open-tests (Files): Likewise.
65951         * modules/openat-tests (Files): Likewise.
65952         * modules/pipe-filter-gi-tests (Files): Likewise.
65953         * modules/pipe-filter-ii-tests (Files): Likewise.
65954         * modules/pipe2-tests (Files): Likewise.
65955         * modules/popen-safer-tests (Files): Likewise.
65956         * modules/popen-tests (Files): Likewise.
65957         * modules/posixtm-tests (Files): Likewise.
65958         * modules/pread-tests (Files): Likewise.
65959         * modules/printf-frexp-tests (Files): Likewise.
65960         * modules/printf-frexpl-tests (Files): Likewise.
65961         * modules/printf-posix-tests (Files): Likewise.
65962         * modules/priv-set-tests (Files): Likewise.
65963         * modules/quotearg-tests (Files): Likewise.
65964         * modules/random_r-tests (Files): Likewise.
65965         * modules/rawmemchr-tests (Files): Likewise.
65966         * modules/rbtree-list-tests (Files): Likewise.
65967         * modules/rbtree-oset-tests (Files): Likewise.
65968         * modules/rbtreehash-list-tests (Files): Likewise.
65969         * modules/readlink-tests (Files): Likewise.
65970         * modules/remove-tests (Files): Likewise.
65971         * modules/rename-tests (Files): Likewise.
65972         * modules/renameat-tests (Files): Likewise.
65973         * modules/rmdir-tests (Files): Likewise.
65974         * modules/round-tests (Files): Likewise.
65975         * modules/roundf-tests (Files): Likewise.
65976         * modules/roundl-tests (Files): Likewise.
65977         * modules/safe-alloc-tests (Files): Likewise.
65978         * modules/setenv-tests (Files): Likewise.
65979         * modules/sigaction-tests (Files): Likewise.
65980         * modules/signbit-tests (Files): Likewise.
65981         * modules/sleep-tests (Files): Likewise.
65982         * modules/snprintf-posix-tests (Files): Likewise.
65983         * modules/snprintf-tests (Files): Likewise.
65984         * modules/sprintf-posix-tests (Files): Likewise.
65985         * modules/stat-tests (Files): Likewise.
65986         * modules/stat-time-tests (Files): Likewise.
65987         * modules/strcasestr-tests (Files): Likewise.
65988         * modules/strchrnul-tests (Files): Likewise.
65989         * modules/strerror-tests (Files): Likewise.
65990         * modules/striconv-tests (Files): Likewise.
65991         * modules/striconveh-tests (Files): Likewise.
65992         * modules/striconveha-tests (Files): Likewise.
65993         * modules/strsignal-tests (Files): Likewise.
65994         * modules/strstr-tests (Files): Likewise.
65995         * modules/strtod-tests (Files): Likewise.
65996         * modules/strverscmp-tests (Files): Likewise.
65997         * modules/symlink-tests (Files): Likewise.
65998         * modules/symlinkat-tests (Files): Likewise.
65999         * modules/trunc-tests (Files): Likewise.
66000         * modules/truncf-tests (Files): Likewise.
66001         * modules/truncl-tests (Files): Likewise.
66002         * modules/uname-tests (Files): Likewise.
66003         * modules/unicase/cased-tests (Files): Likewise.
66004         * modules/unicase/ignorable-tests (Files): Likewise.
66005         * modules/unicase/locale-language-tests (Files): Likewise.
66006         * modules/unicase/tolower-tests (Files): Likewise.
66007         * modules/unicase/totitle-tests (Files): Likewise.
66008         * modules/unicase/toupper-tests (Files): Likewise.
66009         * modules/unicase/u8-casecmp-tests (Files): Likewise.
66010         * modules/unicase/u8-casecoll-tests (Files): Likewise.
66011         * modules/unicase/u8-casefold-tests (Files): Likewise.
66012         * modules/unicase/u8-is-cased-tests (Files): Likewise.
66013         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
66014         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
66015         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
66016         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
66017         * modules/unicase/u8-tolower-tests (Files): Likewise.
66018         * modules/unicase/u8-totitle-tests (Files): Likewise.
66019         * modules/unicase/u8-toupper-tests (Files): Likewise.
66020         * modules/unicase/u16-casecmp-tests (Files): Likewise.
66021         * modules/unicase/u16-casecoll-tests (Files): Likewise.
66022         * modules/unicase/u16-casefold-tests (Files): Likewise.
66023         * modules/unicase/u16-is-cased-tests (Files): Likewise.
66024         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
66025         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
66026         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
66027         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
66028         * modules/unicase/u16-tolower-tests (Files): Likewise.
66029         * modules/unicase/u16-totitle-tests (Files): Likewise.
66030         * modules/unicase/u16-toupper-tests (Files): Likewise.
66031         * modules/unicase/u32-casecmp-tests (Files): Likewise.
66032         * modules/unicase/u32-casecoll-tests (Files): Likewise.
66033         * modules/unicase/u32-casefold-tests (Files): Likewise.
66034         * modules/unicase/u32-is-cased-tests (Files): Likewise.
66035         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
66036         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
66037         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
66038         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
66039         * modules/unicase/u32-tolower-tests (Files): Likewise.
66040         * modules/unicase/u32-totitle-tests (Files): Likewise.
66041         * modules/unicase/u32-toupper-tests (Files): Likewise.
66042         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
66043         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
66044         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
66045         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
66046         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
66047         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
66048         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
66049         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
66050         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
66051         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
66052         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
66053         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
66054         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
66055         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
66056         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
66057         * modules/unictype/bidicategory-name-tests (Files): Likewise.
66058         * modules/unictype/bidicategory-of-tests (Files): Likewise.
66059         * modules/unictype/bidicategory-test-tests (Files): Likewise.
66060         * modules/unictype/block-list-tests (Files): Likewise.
66061         * modules/unictype/block-of-tests (Files): Likewise.
66062         * modules/unictype/block-test-tests (Files): Likewise.
66063         * modules/unictype/category-C-tests (Files): Likewise.
66064         * modules/unictype/category-Cc-tests (Files): Likewise.
66065         * modules/unictype/category-Cf-tests (Files): Likewise.
66066         * modules/unictype/category-Cn-tests (Files): Likewise.
66067         * modules/unictype/category-Co-tests (Files): Likewise.
66068         * modules/unictype/category-Cs-tests (Files): Likewise.
66069         * modules/unictype/category-L-tests (Files): Likewise.
66070         * modules/unictype/category-Ll-tests (Files): Likewise.
66071         * modules/unictype/category-Lm-tests (Files): Likewise.
66072         * modules/unictype/category-Lo-tests (Files): Likewise.
66073         * modules/unictype/category-Lt-tests (Files): Likewise.
66074         * modules/unictype/category-Lu-tests (Files): Likewise.
66075         * modules/unictype/category-M-tests (Files): Likewise.
66076         * modules/unictype/category-Mc-tests (Files): Likewise.
66077         * modules/unictype/category-Me-tests (Files): Likewise.
66078         * modules/unictype/category-Mn-tests (Files): Likewise.
66079         * modules/unictype/category-N-tests (Files): Likewise.
66080         * modules/unictype/category-Nd-tests (Files): Likewise.
66081         * modules/unictype/category-Nl-tests (Files): Likewise.
66082         * modules/unictype/category-No-tests (Files): Likewise.
66083         * modules/unictype/category-P-tests (Files): Likewise.
66084         * modules/unictype/category-Pc-tests (Files): Likewise.
66085         * modules/unictype/category-Pd-tests (Files): Likewise.
66086         * modules/unictype/category-Pe-tests (Files): Likewise.
66087         * modules/unictype/category-Pf-tests (Files): Likewise.
66088         * modules/unictype/category-Pi-tests (Files): Likewise.
66089         * modules/unictype/category-Po-tests (Files): Likewise.
66090         * modules/unictype/category-Ps-tests (Files): Likewise.
66091         * modules/unictype/category-S-tests (Files): Likewise.
66092         * modules/unictype/category-Sc-tests (Files): Likewise.
66093         * modules/unictype/category-Sk-tests (Files): Likewise.
66094         * modules/unictype/category-Sm-tests (Files): Likewise.
66095         * modules/unictype/category-So-tests (Files): Likewise.
66096         * modules/unictype/category-Z-tests (Files): Likewise.
66097         * modules/unictype/category-Zl-tests (Files): Likewise.
66098         * modules/unictype/category-Zp-tests (Files): Likewise.
66099         * modules/unictype/category-Zs-tests (Files): Likewise.
66100         * modules/unictype/category-and-not-tests (Files): Likewise.
66101         * modules/unictype/category-and-tests (Files): Likewise.
66102         * modules/unictype/category-byname-tests (Files): Likewise.
66103         * modules/unictype/category-name-tests (Files): Likewise.
66104         * modules/unictype/category-none-tests (Files): Likewise.
66105         * modules/unictype/category-of-tests (Files): Likewise.
66106         * modules/unictype/category-or-tests (Files): Likewise.
66107         * modules/unictype/category-test-withtable-tests (Files): Likewise.
66108         * modules/unictype/combining-class-tests (Files): Likewise.
66109         * modules/unictype/ctype-alnum-tests (Files): Likewise.
66110         * modules/unictype/ctype-alpha-tests (Files): Likewise.
66111         * modules/unictype/ctype-blank-tests (Files): Likewise.
66112         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
66113         * modules/unictype/ctype-digit-tests (Files): Likewise.
66114         * modules/unictype/ctype-graph-tests (Files): Likewise.
66115         * modules/unictype/ctype-lower-tests (Files): Likewise.
66116         * modules/unictype/ctype-print-tests (Files): Likewise.
66117         * modules/unictype/ctype-punct-tests (Files): Likewise.
66118         * modules/unictype/ctype-space-tests (Files): Likewise.
66119         * modules/unictype/ctype-upper-tests (Files): Likewise.
66120         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
66121         * modules/unictype/decimal-digit-tests (Files): Likewise.
66122         * modules/unictype/digit-tests (Files): Likewise.
66123         * modules/unictype/mirror-tests (Files): Likewise.
66124         * modules/unictype/numeric-tests (Files): Likewise.
66125         * modules/unictype/property-alphabetic-tests (Files): Likewise.
66126         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
66127         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
66128         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
66129         Likewise.
66130         * modules/unictype/property-bidi-block-separator-tests (Files):
66131         Likewise.
66132         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
66133         Likewise.
66134         * modules/unictype/property-bidi-common-separator-tests (Files):
66135         Likewise.
66136         * modules/unictype/property-bidi-control-tests (Files): Likewise.
66137         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
66138         Likewise.
66139         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
66140         Likewise.
66141         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
66142         Likewise.
66143         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
66144         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
66145         Likewise.
66146         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
66147         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
66148         Likewise.
66149         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
66150         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
66151         * modules/unictype/property-bidi-segment-separator-tests (Files):
66152         Likewise.
66153         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
66154         * modules/unictype/property-byname-tests (Files): Likewise.
66155         * modules/unictype/property-combining-tests (Files): Likewise.
66156         * modules/unictype/property-composite-tests (Files): Likewise.
66157         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
66158         * modules/unictype/property-dash-tests (Files): Likewise.
66159         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
66160         * modules/unictype/property-default-ignorable-code-point-tests (Files):
66161         Likewise.
66162         * modules/unictype/property-deprecated-tests (Files): Likewise.
66163         * modules/unictype/property-diacritic-tests (Files): Likewise.
66164         * modules/unictype/property-extender-tests (Files): Likewise.
66165         * modules/unictype/property-format-control-tests (Files): Likewise.
66166         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
66167         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
66168         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
66169         * modules/unictype/property-hex-digit-tests (Files): Likewise.
66170         * modules/unictype/property-hyphen-tests (Files): Likewise.
66171         * modules/unictype/property-id-continue-tests (Files): Likewise.
66172         * modules/unictype/property-id-start-tests (Files): Likewise.
66173         * modules/unictype/property-ideographic-tests (Files): Likewise.
66174         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
66175         * modules/unictype/property-ids-trinary-operator-tests (Files):
66176         Likewise.
66177         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
66178         * modules/unictype/property-iso-control-tests (Files): Likewise.
66179         * modules/unictype/property-join-control-tests (Files): Likewise.
66180         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
66181         * modules/unictype/property-line-separator-tests (Files): Likewise.
66182         * modules/unictype/property-logical-order-exception-tests (Files):
66183         Likewise.
66184         * modules/unictype/property-lowercase-tests (Files): Likewise.
66185         * modules/unictype/property-math-tests (Files): Likewise.
66186         * modules/unictype/property-non-break-tests (Files): Likewise.
66187         * modules/unictype/property-not-a-character-tests (Files): Likewise.
66188         * modules/unictype/property-numeric-tests (Files): Likewise.
66189         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
66190         * modules/unictype/property-other-default-ignorable-code-point-tests
66191         (Files): Likewise.
66192         * modules/unictype/property-other-grapheme-extend-tests (Files):
66193         Likewise.
66194         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
66195         * modules/unictype/property-other-id-start-tests (Files): Likewise.
66196         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
66197         * modules/unictype/property-other-math-tests (Files): Likewise.
66198         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
66199         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
66200         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
66201         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
66202         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
66203         * modules/unictype/property-private-use-tests (Files): Likewise.
66204         * modules/unictype/property-punctuation-tests (Files): Likewise.
66205         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
66206         * modules/unictype/property-radical-tests (Files): Likewise.
66207         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
66208         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
66209         * modules/unictype/property-space-tests (Files): Likewise.
66210         * modules/unictype/property-terminal-punctuation-tests (Files):
66211         Likewise.
66212         * modules/unictype/property-test-tests (Files): Likewise.
66213         * modules/unictype/property-titlecase-tests (Files): Likewise.
66214         * modules/unictype/property-unassigned-code-value-tests (Files):
66215         Likewise.
66216         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
66217         * modules/unictype/property-uppercase-tests (Files): Likewise.
66218         * modules/unictype/property-variation-selector-tests (Files): Likewise.
66219         * modules/unictype/property-white-space-tests (Files): Likewise.
66220         * modules/unictype/property-xid-continue-tests (Files): Likewise.
66221         * modules/unictype/property-xid-start-tests (Files): Likewise.
66222         * modules/unictype/property-zero-width-tests (Files): Likewise.
66223         * modules/unictype/scripts-tests (Files): Likewise.
66224         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
66225         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
66226         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
66227         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
66228         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
66229         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
66230         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
66231         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
66232         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
66233         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
66234         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
66235         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
66236         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
66237         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
66238         * modules/uninorm/composition-tests (Files): Likewise.
66239         * modules/uninorm/decomposing-form-tests (Files): Likewise.
66240         * modules/uninorm/decomposition-tests (Files): Likewise.
66241         * modules/uninorm/filter-tests (Files): Likewise.
66242         * modules/uninorm/nfc-tests (Files): Likewise.
66243         * modules/uninorm/nfd-tests (Files): Likewise.
66244         * modules/uninorm/nfkc-tests (Files): Likewise.
66245         * modules/uninorm/nfkd-tests (Files): Likewise.
66246         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
66247         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
66248         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
66249         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
66250         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
66251         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
66252         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
66253         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
66254         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
66255         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
66256         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
66257         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
66258         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
66259         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
66260         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
66261         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
66262         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
66263         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
66264         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
66265         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
66266         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
66267         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
66268         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
66269         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
66270         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
66271         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
66272         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
66273         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
66274         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
66275         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
66276         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
66277         * modules/uniwidth/u8-width-tests (Files): Likewise.
66278         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
66279         * modules/uniwidth/u16-width-tests (Files): Likewise.
66280         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
66281         * modules/uniwidth/u32-width-tests (Files): Likewise.
66282         * modules/uniwidth/width-tests (Files): Likewise.
66283         * modules/unlink-tests (Files): Likewise.
66284         * modules/unsetenv-tests (Files): Likewise.
66285         * modules/usleep-tests (Files): Likewise.
66286         * modules/utimens-tests (Files): Likewise.
66287         * modules/utimensat-tests (Files): Likewise.
66288         * modules/vasnprintf-posix-tests (Files): Likewise.
66289         * modules/vasnprintf-tests (Files): Likewise.
66290         * modules/vasprintf-posix-tests (Files): Likewise.
66291         * modules/vasprintf-tests (Files): Likewise.
66292         * modules/vdprintf-posix-tests (Files): Likewise.
66293         * modules/vfprintf-posix-tests (Files): Likewise.
66294         * modules/vprintf-posix-tests (Files): Likewise.
66295         * modules/vsnprintf-posix-tests (Files): Likewise.
66296         * modules/vsnprintf-tests (Files): Likewise.
66297         * modules/vsprintf-posix-tests (Files): Likewise.
66298         * modules/wcrtomb-tests (Files): Likewise.
66299         * modules/wcsnrtombs-tests (Files): Likewise.
66300         * modules/wcsrtombs-tests (Files): Likewise.
66301         * modules/wctype-tests (Files): Likewise.
66302         * modules/wcwidth-tests (Files): Likewise.
66303         * modules/xmemdup0-tests (Files): Likewise.
66304         * modules/xprintf-posix-tests (Files): Likewise.
66305         * modules/xvasprintf-tests (Files): Likewise.
66307 2009-12-24  Eric Blake  <ebb9@byu.net>
66309         test-nanosleep: fix typo
66310         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
66311         patch.
66312         Reported by Bruno Haible.
66314 2009-12-24  Bruno Haible  <bruno@clisp.org>
66316         Reduce namespace pollution on glibc systems.
66317         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
66318         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
66319         systems.
66320         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
66321         <getopt.h> on glibc systems.
66322         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
66323         systems.
66324         * lib/fcntl.c: Include <unistd.h> here instead.
66326 2009-12-24  Bruno Haible  <bruno@clisp.org>
66328         * lib/stdlib.in.h (includes): Fix typo in today's commit.
66330 2009-12-24  Eric Blake  <ebb9@byu.net>
66332         tests: add signature checks
66333         * tests/signature.h (SIGNATURE_CHECK): New file.
66334         * modules/atexit-tests (Files): Use it.
66335         * modules/btowc-tests (Files): Likewise.
66336         * modules/canonicalize-lgpl-tests (Files): Likewise.
66337         * modules/ceilf-tests (Files): Likewise.
66338         * modules/ceill-tests (Files): Likewise.
66339         * modules/chown-tests (Files): Likewise.
66340         * modules/dprintf-posix-tests (Files): Likewise.
66341         * modules/dup2-tests (Files): Likewise.
66342         * modules/dup3-tests (Files): Likewise.
66343         * modules/duplocale-tests (Files): Likewise.
66344         * modules/fchdir-tests (Files): Likewise.
66345         * modules/fcntl-tests (Files): Likewise.
66346         * modules/fdopendir-tests (Files): Likewise.
66347         * modules/fflush-tests (Files): Likewise.
66348         * modules/flock-tests (Files): Likewise.
66349         * modules/floorf-tests (Files): Likewise.
66350         * modules/floorl-tests (Files): Likewise.
66351         * modules/fnmatch-tests (Files): Likewise.
66352         * modules/fopen-tests (Files): Likewise.
66353         * modules/fprintf-posix-tests (Files): Likewise.
66354         * modules/freopen-tests (Files): Likewise.
66355         * modules/frexp-nolibm-tests (Files): Likewise.
66356         * modules/frexp-tests (Files): Likewise.
66357         * modules/frexpl-nolibm-tests (Files): Likewise.
66358         * modules/frexpl-tests (Files): Likewise.
66359         * modules/fseek-tests (Files): Likewise.
66360         * modules/fseeko-tests (Files): Likewise.
66361         * modules/fsync-tests (Files): Likewise.
66362         * modules/ftell-tests (Files): Likewise.
66363         * modules/ftello-tests (Files): Likewise.
66364         * modules/futimens-tests (Files): Likewise.
66365         * modules/getaddrinfo-tests (Files): Likewise.
66366         * modules/getcwd-tests (Files): Likewise.
66367         * modules/getdelim-tests (Files): Likewise.
66368         * modules/getdtablesize-tests (Files): Likewise.
66369         * modules/getgroups-tests (Files): Likewise.
66370         * modules/gethostname-tests (Files): Likewise.
66371         * modules/getline-tests (Files): Likewise.
66372         * modules/getopt-posix-tests (Files): Likewise.
66373         * modules/gettimeofday-tests (Files): Likewise.
66374         * modules/glob-tests (Files): Likewise.
66375         * modules/iconv-tests (Files): Likewise.
66376         * modules/inet_ntop-tests (Files): Likewise.
66377         * modules/inet_pton-tests (Files): Likewise.
66378         * modules/isblank-tests (Files): Likewise.
66379         * modules/lchown-tests (Files): Likewise.
66380         * modules/ldexpl-tests (Files): Likewise.
66381         * modules/link-tests (Files): Likewise.
66382         * modules/linkat-tests (Files): Likewise.
66383         * modules/lseek-tests (Files): Likewise.
66384         * modules/lstat-tests (Files): Likewise.
66385         * modules/mbrtowc-tests (Files): Likewise.
66386         * modules/mbsinit-tests (Files): Likewise.
66387         * modules/mbsnrtowcs-tests (Files): Likewise.
66388         * modules/mbsrtowcs-tests (Files): Likewise.
66389         * modules/memchr-tests (Files): Likewise.
66390         * modules/memcmp-tests (Files): Likewise.
66391         * modules/memmem-tests (Files): Likewise.
66392         * modules/memrchr-tests (Files): Likewise.
66393         * modules/mkdir-tests (Files): Likewise.
66394         * modules/mkfifo-tests (Files): Likewise.
66395         * modules/mkfifoat-tests (Files): Likewise.
66396         * modules/mknod-tests (Files): Likewise.
66397         * modules/nanosleep-tests (Files): Likewise.
66398         * modules/nl_langinfo-tests (Files): Likewise.
66399         * modules/obstack-printf-tests (Files): Likewise.
66400         * modules/open-tests (Files): Likewise.
66401         * modules/openat-tests (Files): Likewise.
66402         * modules/perror-tests (Files): Likewise.
66403         * modules/pipe2-tests (Files): Likewise.
66404         * modules/poll-tests (Files): Likewise.
66405         * modules/popen-tests (Files): Likewise.
66406         * modules/posix_spawn-tests (Files): Likewise.
66407         * modules/posix_spawnp-tests (Files): Likewise.
66408         * modules/pread-tests (Files): Likewise.
66409         * modules/printf-posix-tests (Files): Likewise.
66410         * modules/pty-tests (Files): Likewise.
66411         * modules/random_r-tests (Files): Likewise.
66412         * modules/rawmemchr-tests (Files): Likewise.
66413         * modules/readlink-tests (Files): Likewise.
66414         * modules/remove-tests (Files): Likewise.
66415         * modules/rename-tests (Files): Likewise.
66416         * modules/renameat-tests (Files): Likewise.
66417         * modules/rmdir-tests (Files): Likewise.
66418         * modules/round-tests (Files): Likewise.
66419         * modules/roundf-tests (Files): Likewise.
66420         * modules/roundl-tests (Files): Likewise.
66421         * modules/select-tests (Files): Likewise.
66422         * modules/setenv-tests (Files): Likewise.
66423         * modules/sigaction-tests (Files): Likewise.
66424         * modules/sleep-tests (Files): Likewise.
66425         * modules/snprintf-posix-tests (Files): Likewise.
66426         * modules/snprintf-tests (Files): Likewise.
66427         * modules/sprintf-posix-tests (Files): Likewise.
66428         * modules/stat-tests (Files): Likewise.
66429         * modules/strcasestr-tests (Files): Likewise.
66430         * modules/strchrnul-tests (Files): Likewise.
66431         * modules/strerror-tests (Files): Likewise.
66432         * modules/strsignal-tests (Files): Likewise.
66433         * modules/strstr-tests (Files): Likewise.
66434         * modules/strtod-tests (Files): Likewise.
66435         * modules/strverscmp-tests (Files): Likewise.
66436         * modules/symlink-tests (Files): Likewise.
66437         * modules/symlinkat-tests (Files): Likewise.
66438         * modules/times-tests (Files): Likewise.
66439         * modules/trunc-tests (Files): Likewise.
66440         * modules/truncf-tests (Files): Likewise.
66441         * modules/truncl-tests (Files): Likewise.
66442         * modules/tsearch-tests (Files): Likewise.
66443         * modules/uname-tests (Files): Likewise.
66444         * modules/unlink-tests (Files): Likewise.
66445         * modules/unsetenv-tests (Files): Likewise.
66446         * modules/usleep-tests (Files): Likewise.
66447         * modules/utimensat-tests (Files): Likewise.
66448         * modules/vasprintf-tests (Files): Likewise.
66449         * modules/vdprintf-posix-tests (Files): Likewise.
66450         * modules/vfprintf-posix-tests (Files): Likewise.
66451         * modules/vprintf-posix-tests (Files): Likewise.
66452         * modules/vsnprintf-posix-tests (Files): Likewise.
66453         * modules/vsnprintf-tests (Files): Likewise.
66454         * modules/vsprintf-posix-tests (Files): Likewise.
66455         * modules/wcrtomb-tests (Files): Likewise.
66456         * modules/wcsnrtombs-tests (Files): Likewise.
66457         * modules/wcsrtombs-tests (Files): Likewise.
66458         * modules/wcwidth-tests (Files): Likewise.
66459         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
66460         * tests/test-isinf.c (isinf): Likewise.
66461         * tests/test-isnan.c (isnan): Likewise.
66462         * tests/test-signbit.c (signbit): Likewise.
66463         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
66464         declaration, either as macro or with correct signature.
66465         (select): Ensure function under test is declared with correct
66466         signature in correct header.
66467         * tests/test-atexit.c (atexit): Likewise.
66468         * tests/test-btowc.c (btowc): Likewise.
66469         * tests/test-canonicalize-lgpl.c (realpath)
66470         (canonicalize_file_name): Likewise.
66471         * tests/test-ceilf1.c (ceilf): Likewise.
66472         * tests/test-ceill.c (ceill): Likewise.
66473         * tests/test-chown.c (chown): Likewise.
66474         * tests/test-dprintf-posix.c (dprintf): Likewise.
66475         * tests/test-dup2.c (dup2): Likewise.
66476         * tests/test-dup3.c (dup3): Likewise.
66477         * tests/test-duplocale.c (duplocale): Likewise.
66478         * tests/test-fchdir.c (fchdir): Likewise.
66479         * tests/test-fchownat.c (fchownat): Likewise.
66480         * tests/test-fcntl.c (fcntl): Likewise.
66481         * tests/test-fdopendir.c (fdopendir): Likewise.
66482         * tests/test-fflush.c (fflush): Likewise.
66483         * tests/test-flock.c (flock): Likewise.
66484         * tests/test-floorf1.c (floorf): Likewise.
66485         * tests/test-floorl.c (floorl): Likewise.
66486         * tests/test-fnmatch.c (fnmatch): Likewise.
66487         * tests/test-fopen.c (fopen): Likewise.
66488         * tests/test-fprintf-posix.c (fprintf): Likewise.
66489         * tests/test-freopen.c (freopen): Likewise.
66490         * tests/test-frexp.c (frexp): Likewise.
66491         * tests/test-frexpl.c (frexpl): Likewise.
66492         * tests/test-fseek.c (fseek): Likewise.
66493         * tests/test-fseeko.c (fseeko): Likewise.
66494         * tests/test-fstatat.c (fstatat): Likewise.
66495         * tests/test-fsync.c (fsync): Likewise.
66496         * tests/test-ftell.c (ftell): Likewise.
66497         * tests/test-ftello.c (ftello): Likewise.
66498         * tests/test-futimens.c (futimens): Likewise.
66499         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
66500         (gai_strerror): Likewise.
66501         * tests/test-getcwd.c (getcwd): Likewise.
66502         * tests/test-getdelim.c (getdelim): Likewise.
66503         * tests/test-getdtablesize.c (getdtablesize): Likewise.
66504         * tests/test-getgroups.c (getgroups): Likewise.
66505         * tests/test-gethostname.c (gethostname): Likewise.
66506         * tests/test-getline.c (getline): Likewise.
66507         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
66508         Likewise.
66509         * tests/test-gettimeofday.c (gettimeofday): Likewise.
66510         * tests/test-glob.c (glob, globfree): Likewise.
66511         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
66512         * tests/test-inet_ntop.c (inet_ntop): Likewise.
66513         * tests/test-inet_pton.c (inet_pton): Likewise.
66514         * tests/test-isblank.c (isblank): Likewise.
66515         * tests/test-lchown.c (lchown): Likewise.
66516         * tests/test-ldexpl.c (ldexpl): Likewise.
66517         * tests/test-link.c (link): Likewise.
66518         * tests/test-linkat.c (linkat): Likewise.
66519         * tests/test-lseek.c (lseek): Likewise.
66520         * tests/test-lstat.c (lstat): Likewise.
66521         * tests/test-mbrtowc.c (mbrtowc): Likewise.
66522         * tests/test-mbsinit.c (mbsinit): Likewise.
66523         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
66524         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
66525         * tests/test-memchr.c (memchr): Likewise.
66526         * tests/test-memcmp.c (memcmp): Likewise.
66527         * tests/test-memmem.c (memmem): Likewise.
66528         * tests/test-memrchr.c (memrchr): Likewise.
66529         * tests/test-mkdir.c (mkdir): Likewise.
66530         * tests/test-mkdirat.c (mkdirat): Likewise.
66531         * tests/test-mkfifo.c (mkfifo): Likewise.
66532         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
66533         * tests/test-mknod.c (mknod): Likewise.
66534         * tests/test-nanosleep.c (nanosleep): Likewise.
66535         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
66536         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
66537         Likewise.
66538         * tests/test-open.c (open): Likewise.
66539         * tests/test-openat.c (openat): Likewise.
66540         * tests/test-perror.c (perror): Likewise.
66541         * tests/test-pipe2.c (pipe2): Likewise.
66542         * tests/test-poll.c (poll): Likewise.
66543         * tests/test-popen.c (popen, pclose): Likewise.
66544         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
66545         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
66546         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
66547         (posix_spawn_file_actions_destroy)
66548         (posix_spawn_file_actions_addclose)
66549         (posix_spawn_file_actions_addopen)
66550         (posix_spawn_file_actions_adddup2): Likewise.
66551         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
66552         * tests/test-pread.c (pread): Likewise.
66553         * tests/test-printf-posix.c (printf): Likewise.
66554         * tests/test-pty.c (openpty, forkpty): Likewise.
66555         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
66556         (random_r): Likewise.
66557         * tests/test-rawmemchr.c (rawmemchr): Likewise.
66558         * tests/test-readlink.c (readlink): Likewise.
66559         * tests/test-remove.c (remove): Likewise.
66560         * tests/test-rename.c (rename): Likewise.
66561         * tests/test-renameat.c (renameat): Likewise.
66562         * tests/test-rmdir.c (rmdir): Likewise.
66563         * tests/test-round1.c (round): Likewise.
66564         * tests/test-roundf1.c (roundf): Likewise.
66565         * tests/test-roundl.c (roundl): Likewise.
66566         * tests/test-setenv.c (setenv): Likewise.
66567         * tests/test-sigaction.c (sigaction): Likewise.
66568         * tests/test-sleep.c (sleep): Likewise.
66569         * tests/test-snprintf.c (snprintf): Likewise.
66570         * tests/test-sprintf-posix.c (sprintf): Likewise.
66571         * tests/test-stat.c (stat): Likewise.
66572         * tests/test-stpncpy.c (stpncpy): Likewise.
66573         * tests/test-strcasestr.c (strcasestr): Likewise.
66574         * tests/test-strchrnul.c (strchrnul): Likewise.
66575         * tests/test-strerror.c (strerror): Likewise.
66576         * tests/test-strsignal.c (strsignal): Likewise.
66577         * tests/test-strstr.c (strstr): Likewise.
66578         * tests/test-strtod.c (strtod): Likewise.
66579         * tests/test-strverscmp.c (strverscmp): Likewise.
66580         * tests/test-symlink.c (symlink): Likewise.
66581         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
66582         * tests/test-times.c (times): Likewise.
66583         * tests/test-trunc1.c (trunc): Likewise.
66584         * tests/test-truncf1.c (truncf): Likewise.
66585         * tests/test-truncl.c (truncl): Likewise.
66586         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
66587         Likewise.
66588         * tests/test-uname.c (uname): Likewise.
66589         * tests/test-unlink.c (unlink): Likewise.
66590         * tests/test-unlinkat.c (unlinkat): Likewise.
66591         * tests/test-unsetenv.c (unsetenv): Likewise.
66592         * tests/test-usleep.c (usleep): Likewise.
66593         * tests/test-utimensat.c (utimensat): Likewise.
66594         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
66595         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
66596         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
66597         * tests/test-vprintf-posix.c (vprintf): Likewise.
66598         * tests/test-vsnprintf.c (vsnprintf): Likewise.
66599         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
66600         * tests/test-wcrtomb.c (wcrtomb): Likewise.
66601         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
66602         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
66603         * tests/test-wcwidth.c (wcwidth): Likewise.
66605         build: pull in conditional headers during GNULIB_POSIXCHECK
66606         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
66607         definitions from any conditionally-included headers.
66608         * lib/stdlib.in.h (includes): Likewise.
66609         * lib/unistd.in.h (includes): Likewise.
66611 2009-12-24  Bruno Haible  <bruno@clisp.org>
66613         * tests/test-argv-iter.c: Include header file being tested immediately
66614         after config.h.
66615         * tests/test-base64.c: Likewise.
66616         * tests/test-flock.c: Likewise.
66617         * tests/test-fsync.c: Likewise.
66618         * tests/test-getdate.c: Likewise.
66619         * tests/test-getndelim2.c: Likewise.
66620         * tests/test-isfinite.c: Likewise.
66621         * tests/test-isinf.c: Likewise.
66622         * tests/test-strerror.c: Likewise.
66623         * tests/test-strsignal.c: Likewise.
66625 2009-12-23  Eric Blake  <ebb9@byu.net>
66627         unistd: work around cygwin bug
66628         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
66629         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
66630         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
66632 2009-12-23  Bruno Haible  <bruno@clisp.org>
66634         localename: More tests.
66635         * tests/test-localename.c (SIZEOF): New macro.
66636         (categories): New variable.
66637         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
66638         test_locale_name_default): Add test w.r.t. thread locale.
66639         (test_locale_name_thread): New function.
66640         (main): Invoke it.
66642         localename: Make aware of thread locale.
66643         * lib/localename.h (gl_locale_name_thread): New declaration.
66644         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
66645         behaviour with respect to thread locale.
66646         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
66647         <langinfo.h>, glthread/lock.h.
66648         (SIZE_BITS): New macro.
66649         (string_hash): New function.
66650         (struct hash_node): New type.
66651         (HASH_TABLE_SIZE): New macro.
66652         (struniq_hash_table, struniq_lock): New variables.
66653         (struniq): New function.
66654         (gl_locale_name_thread): New function.
66655         (gl_locale_name): Invoke it.
66656         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
66657         * modules/localename (Depends-on): Add lock.
66658         Reported by Mike Gran <spk121@yahoo.com>.
66660 2009-12-23  Eric Blake  <ebb9@byu.net>
66662         va-args: new module
66663         * modules/va-args: New file.
66664         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
66665         * MODULES.html.sh (Core language properties): Mention it.
66667         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
66668         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
66669         named alias for __attribute__((__unused__)).
66670         * lib/chown.c: Update client.
66671         * lib/fchmodat.c: Likewise.
66672         * lib/fts.c: Likewise.
66673         * lib/getdate.y: Likewise.
66674         * lib/getgroups.c: Likewise.
66675         * lib/getopt.c: Likewise.
66676         * lib/getugroups.c: Likewise.
66677         * lib/mkdir.c: Likewise.
66678         * lib/mkfifo.c: Likewise.
66679         * lib/mkfifoat.c: Likewise.
66680         * lib/mknod.c: Likewise.
66681         * lib/mknodat.c: Likewise.
66682         * lib/readlink.c: Likewise.
66683         * lib/se-context.in.h: Likewise.
66684         * lib/se-selinux.in.h: Likewise.
66685         * lib/sockets.c: Likewise.
66686         * lib/symlink.c: Likewise.
66687         * lib/symlinkat.c: Likewise.
66688         * lib/unicodeio.c: Likewise.
66689         * lib/unistr.h: Likewise.
66690         * tests/test-areadlink.c: Likewise.
66691         * tests/test-areadlinkat.c: Likewise.
66692         * tests/test-filenamecat.c: Likewise.
66693         * tests/test-fseeko.c: Likewise.
66694         * tests/test-ftello.c: Likewise.
66695         * tests/test-getdate.c: Likewise.
66696         * tests/test-getgroups.c: Likewise.
66697         * tests/test-gethostname.c: Likewise.
66698         * tests/test-quotearg.c: Likewise.
66699         * tests/test-version-etc.c: Likewise.
66700         * tests/test-xalloc-die.c: Likewise.
66701         * tests/test-xfprintf-posix.c: Likewise.
66702         * tests/test-xprintf-posix.c: Likewise.
66703         * tests/test-xvasprintf.c: Likewise.
66705         tests: avoid compiler warnings
66706         * tests/test-fcntl.c (main): Delete unused parameters.
66707         * tests/test-freopen-safer.c (main): Likewise.
66708         * tests/test-xalloc-die.c (main): Mark unused parameters.
66709         * tests/test-fseeko.c (main): Likewise.
66710         * tests/test-ftello.c (main): Likewise.
66711         * tests/test-nanosleep.c (main): Avoid declaration warning.
66712         * tests/test-sleep.c (main): Likewise.
66713         * tests/test-unsetenv.c (main): Silence warning about string
66714         literal.
66715         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
66717 2009-12-23  Bruno Haible  <bruno@clisp.org>
66719         * tests/test-localename.c (test_locale_name): New function, extracted
66720         from main. Also test mixed situations.
66721         (test_locale_name_posix, test_locale_name_environ,
66722         test_locale_name_default): New functions.
66723         (main): Invoke them all.
66724         * modules/localename-tests (configure.ac): Test for newlocale.
66726 2009-12-23  Bruno Haible  <bruno@clisp.org>
66728         unistd: Ensure getcwd gets declared before being overridden.
66729         * lib/unistd.in.h: Conditionally include <io.h>.
66731 2009-12-22  Bruno Haible  <bruno@clisp.org>
66733         wchar: Diagnose broken combination of glibc and gcc versions and flags.
66734         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
66735         (gl_WCHAR_H): Invoke it.
66736         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
66737         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
66738         Reported by Karl Berry <karl@freefriends.org>.
66740 2009-12-22  Eric Blake  <ebb9@byu.net>
66742         math, unistd: avoid redundant includes
66743         * lib/math.in.h (isnan): No need to re-include <math.h>.
66744         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
66746         getsubopt: work around cygwin bug
66747         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
66748         avoid conflicting with system getsubopt.
66749         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
66750         bug.
66752         getopt: synchronize from glibc
66753         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
66754         parameter order.  Adjust all callers.
66755         (_getopt_internal_r, main): Adjust quoting in error messages.
66756         Drop considerations for outdated POSIX 1003.2 error message.
66757         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
66758         callers.
66759         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
66761         test-getopt: test stderr behavior
66762         * modules/getopt-posix-tests (Depends-on): Add dup2.
66763         * tests/test-getopt.c (ASSERT): Avoid stderr.
66764         (main): Move stderr to a temporary file.
66765         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
66766         Instead, add parameter to inform caller if output occurred.
66767         (test_getopt): Adjust all existing tests to expect silence, and
66768         add new tests of leading ":".
66769         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
66770         glibc shortcomings with leading "-:" or "+:" in optstring.
66771         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
66772         Likewise.
66773         * doc/posix-functions/getopt.texi (getopt): Likewise.
66775         test-getopt: enhance test
66776         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
66777         supports optind=0.
66778         * tests/test-getopt.c (OPTIND_MIN): Move...
66779         * tests/test-getopt.h (OPTIND_MIN): ...here.
66780         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
66781         Require that optind=0 works, since modern BSD supports it in
66782         addition to optreset, and since coreutils expects it.
66783         (test_getopt_long_only): New test.
66784         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
66785         glibc shortcomings with 'W;', and enforcement of optind=0.
66786         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
66787         Likewise.
66789 2009-12-21  Bruno Haible  <bruno@clisp.org>
66791         localename: Improvements for MacOS X and Cygwin.
66792         * lib/localename.h (gl_locale_name_environ): New declaration.
66793         * lib/localename.c (gl_locale_name_environ): New function, extracted from
66794         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
66795         (gl_locale_name_posix): Invoke it.
66796         (gl_locale_name_default): Add comments. Use Windows native API also on
66797         Cygwin.
66799 2009-12-21  Bruno Haible  <bruno@clisp.org>
66801         Update list of Win32 locale ids.
66802         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
66803         (LANG_SAMI): Renamed from LANG_SAAMI.
66804         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
66805         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
66806         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
66807         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
66808         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
66809         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
66810         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
66811         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
66812         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
66813         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
66814         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
66815         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
66816         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
66817         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
66818         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
66819         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
66820         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
66821         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
66822         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
66823         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
66824         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
66825         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
66826         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
66827         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
66828         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
66829         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
66830         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
66831         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
66832         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
66833         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
66834         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
66835         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
66836         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
66837         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
66838         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
66839         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
66840         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
66841         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
66842         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
66843         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
66844         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
66845         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
66846         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
66847         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
66848         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
66849         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
66850         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
66851         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
66852         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
66853         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
66854         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
66855         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
66856         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
66857         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
66858         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
66859         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
66860         Add more languages and countries for Sami, Sorbian. Add more countries
66861         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
66862         for Pashto. Change country for Syriac, Tswana.
66864 2009-12-21  Eric Blake  <ebb9@byu.net>
66866         test-utimens: avoid spurious failure
66867         * tests/test-chown.h (nap): Factor...
66868         * tests/nap.h: ...into new file.
66869         * tests/test-lchown.h (nap): Avoid duplication.
66870         * tests/test-utimens-common.h (nap): Use shared implementation,
66871         necessary on file systems with 1-second resolution.
66872         * modules/chown-tests (Files): Include new file.
66873         * modules/fdutimensat-tests (Files): Likewise.
66874         * modules/futimens-tests (Files): Likewise.
66875         * modules/lchown-tests (Files): Likewise.
66876         * modules/openat-tests (Files): Likewise.
66877         * modules/utimens-tests (Files): Likewise.
66878         * modules/utimensat-tests (Files): Likewise.
66880 2009-12-19  Eric Blake  <ebb9@byu.net>
66882         futimens, utimensat: work around Linux bug
66883         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
66884         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
66885         * lib/utimensat.c (rpl_utimensat): Work around it.
66886         * lib/futimens.c (rpl_futimens): Adjust comment.
66888         utimens: work around Linux ctime bug
66889         * lib/utimens.c (detect_ctime_bug): New helper function.
66890         (update_timespec): Differentiate between workaround needed for
66891         this bug vs. what is needed for systems that lack utimensat.
66892         (fdutimens, lutimens): Work around bug.
66894         utimens: check for ctime update
66895         * tests/test-utimens-common.h (check_ctime): Define.
66896         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
66897         * tests/test-futimens.h (test_futimens): Likewise.
66898         * tests/test-lutimens.h (test_lutimens): Likewise.
66899         * doc/posix-functions/futimens.texi (futimens): Document the bug.
66900         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
66902 2009-12-19  Bruno Haible  <bruno@clisp.org>
66904         dprintf-posix: Check against memory leak fixed on 2009-12-15.
66905         * tests/test-dprintf-posix2.sh: New file.
66906         * tests/test-dprintf-posix2.c: New file.
66907         * modules/dprintf-posix-tests (Files): Add them.
66908         (configure.ac): Check for getrlimit and setrlimit.
66909         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
66911 2009-12-19  Bruno Haible  <bruno@clisp.org>
66913         fprintf-posix: Check against memory leak fixed on 2009-12-15.
66914         * tests/test-fprintf-posix3.sh: New file.
66915         * tests/test-fprintf-posix3.c: New file.
66916         * modules/fprintf-posix-tests (Files): Add them.
66917         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
66919 2009-12-19  Eric Blake  <ebb9@byu.net>
66921         dirfd: fix prototype
66922         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
66923         * lib/dirfd.c (dirfd): Likewise.
66925         canonicalize: reduce memory usage
66926         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
66927         allocation to size.
66928         Reported by Solar Designer <solar@openwall.com>.
66930 2009-12-19  Bruno Haible  <bruno@clisp.org>
66932         New module attribute 'Applicability'.
66933         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
66934         * gnulib-tool: New option --extract-applicability.
66935         (func_usage): Document it.
66936         (sed_extract_prog): Recognize it.
66937         (func_get_applicability): New function.
66938         (func_import): Generalize handling of 'link-warning' module.
66939         * modules/link-warning (Applicability): New section.
66940         * modules/arg-nonnull (Applicability): New section.
66941         Repoted by Simon Josefsson <simon@josefsson.org>.
66943 2009-12-19  Bruno Haible  <bruno@clisp.org>
66945         fflush: tweak
66946         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
66947         * lib/fseeko.c (rpl_fseeko): Likewise.
66949 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
66951         * lib/gl_list.h: Fix typo in comment.
66953 2009-12-16  Eric Blake  <ebb9@byu.net>
66955         fcntl: use to simplify other modules
66956         * modules/cloexec (Depends-on): Add fcntl.
66957         * modules/fchdir (Depends-on): Likewise.
66958         * modules/fd-safer-flag (Depends-on): Likewise.
66959         * modules/unistd-safer (Depends-on): Likewise.
66960         * modules/dup3 (configure.ac): Set module indicator.
66961         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
66962         missing.
66963         * lib/fchdir.c (_gl_register_dup): Fix comment.
66964         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
66965         * lib/dup-safer.c (dup_safer): Likewise.
66966         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
66967         * lib/dup3.c (dup3): Likewise.
66968         * tests/test-fchdir.c (main): Enhance test.
66969         Fixes a dup_cloexec bug reported by Ondřej Vašík.
66971         fcntl: port portions of fcntl to mingw
66972         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
66973         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
66974         replacement for mingw.
66975         * modules/fcntl (Description): Update.
66976         (Depends-on): Add dup2.
66977         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
66978         * modules/fcntl-h (Makefile.am): Substitute it.
66979         * lib/fcntl.in.h (fcntl): Update declaration.
66980         (F_DUPFD, F_GETFD): New macros, when needed.
66981         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
66982         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
66983         * tests/test-fcntl.c (check_flags, main): Enhance test for items
66984         we now guarantee.
66986         fcntl: work around cygwin bug in F_DUPFD
66987         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
66988         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
66989         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
66990         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
66991         * doc/posix-functions/fcntl.texi (fcntl): Document it.
66993         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
66994         * modules/fcntl (Files): List new files.
66995         (configure.ac): Run a test.
66996         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
66997         * lib/fcntl.c (rpl_fcntl): Likewise.
66998         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
66999         (gl_FCNTL_H): Always replace fcntl.h.
67000         * modules/fcntl-h (Makefile.am): Substitute witnesses.
67001         * lib/fcntl.in.h (fcntl): Declare replacement.
67002         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
67003         needed, plus a witness.
67004         * doc/posix-functions/fcntl.texi (fcntl): Document this.
67005         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
67006         * tests/test-fcntl.c: New file.
67007         * modules/fcntl-tests: Likewise.
67009         binary-io: avoid potential compilation warning
67010         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
67011         directives.
67013         fflush: avoid compilation error on NetBSD
67014         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
67015         between off_t and fpos_t, since the latter is sometimes a struct.
67016         * lib/fseeko.c (rpl_fseeko): Likewise.
67017         Reported by Alexander Nasonov <alnsn@yandex.ru>.
67019 2009-12-15  Eric Blake  <ebb9@byu.net>
67021         fcntl-h, stdio, sys_ioctl: fix declarations
67022         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
67023         function must not take arguments.
67024         * lib/sys_ioctl.in.h (ioctl): Likewise.
67025         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
67026         (open): Add a link warning.
67028 2009-12-15  Jim Meyering  <meyering@redhat.com>
67030         areadlink, areadlink-with-size: relax license to LGPLv2+
67031         * modules/areadlink (License): Relax to LGPLv2+.
67032         * modules/areadlink-with-size (License): Likewise.
67034 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
67035             Bruno Haible  <bruno@clisp.org>
67037         *printf: Fix memory leak.
67038         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
67039         * lib/vfprintf.c (vfprintf): Likewise.
67040         * lib/dprintf.c (dprintf): Likewise.
67041         * lib/vdprintf.c (vdprintf): Likewise.
67043 2009-12-14  Eric Blake  <ebb9@byu.net>
67045         accept4: adjust module dependencies
67046         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
67048         utimens: one more try at avoiding compiler warning
67049         * lib/utimens.c (lutimens): Lower scope of result.
67051 2009-12-13  Bruno Haible  <bruno@clisp.org>
67053         Move the malloc checking from module 'list' to new module 'xlist'.
67054         * modules/xlist: New file.
67055         * lib/gl_xlist.h: New file.
67056         * lib/gl_xlist.c: New file.
67057         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
67058         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
67059         gl_list_add_last, gl_list_add_before, gl_list_add_after,
67060         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
67061         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
67062         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
67063         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
67064         gl_sortedlist_nx_add): New declarations.
67065         (struct gl_list_implementation): Rename and change methods accordingly.
67066         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
67067         (gl_list_nx_create): Renamed from gl_list_create.
67068         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
67069         (gl_list_nx_set_at): Renamed from gl_list_set_at.
67070         (gl_list_nx_add_first): Renamed from gl_list_add_first.
67071         (gl_list_nx_add_last): Renamed from gl_list_add_last.
67072         (gl_list_nx_add_before): Renamed from gl_list_add_before.
67073         (gl_list_nx_add_after): Renamed from gl_list_add_after.
67074         (gl_list_nx_add_at): Renamed from gl_list_add_at.
67075         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
67076         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
67077         gl_list_create_empty.
67078         (gl_list_nx_create): Renamed from gl_list_create.
67079         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
67080         (gl_list_nx_set_at): Renamed from gl_list_set_at.
67081         (gl_list_nx_add_first): Renamed from gl_list_add_first.
67082         (gl_list_nx_add_last): Renamed from gl_list_add_last.
67083         (gl_list_nx_add_before): Renamed from gl_list_add_before.
67084         (gl_list_nx_add_after): Renamed from gl_list_add_after.
67085         (gl_list_nx_add_at): Renamed from gl_list_add_at.
67086         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
67087         * lib/gl_array_list.c: Don't include xalloc.h.
67088         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
67089         NULL upon out-of-memory.
67090         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
67091         out-of-memory.
67092         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
67093         Change return type to 'int'.
67094         (gl_array_nx_set_at): Renamed from gl_array_set_at.
67095         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
67096         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
67097         upon out-of-memory.
67098         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
67099         upon out-of-memory.
67100         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
67101         upon out-of-memory.
67102         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
67103         upon out-of-memory.
67104         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
67105         out-of-memory.
67106         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
67107         Update.
67108         (gl_array_list_implementation): Update.
67109         * lib/gl_carray_list.c: Don't include xalloc.h.
67110         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
67111         Return NULL upon out-of-memory.
67112         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
67113         out-of-memory.
67114         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
67115         Change return type to 'int'.
67116         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
67117         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
67118         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
67119         upon out-of-memory.
67120         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
67121         upon out-of-memory.
67122         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
67123         out-of-memory.
67124         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
67125         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
67126         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
67127         Update.
67128         (gl_carray_list_implementation): Update.
67129         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
67130         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
67131         gl_linked_create_empty. Return NULL upon out-of-memory.
67132         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
67133         out-of-memory.
67134         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
67135         Change return type to 'int'. Return -1 upon out-of-memory.
67136         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
67137         out-of-memory.
67138         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
67139         upon out-of-memory.
67140         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
67141         upon out-of-memory.
67142         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
67143         NULL upon out-of-memory.
67144         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
67145         upon out-of-memory.
67146         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
67147         out-of-memory.
67148         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
67149         Update.
67150         * lib/gl_linked_list.c: Don't include xalloc.h.
67151         (gl_linked_list_implementation): Update.
67152         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
67153         (add_to_bucket): Change return type to 'int'.
67154         (gl_linkedhash_list_implementation): Update.
67155         * lib/gl_anytree_list1.h (free_subtree): New function.
67156         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
67157         gl_tree_create_empty. Return NULL upon out-of-memory.
67158         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
67159         Change return type to 'int'. Return -1 upon out-of-memory.
67160         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
67161         out-of-memory.
67162         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
67163         (gl_tree_remove_node): New function, moved here from
67164         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
67165         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
67166         Update.
67167         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
67168         malloc, not xmalloc. Return NULL upon out-of-memory.
67169         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
67170         out-of-memory.
67171         (gl_tree_remove_node_from_tree): New function, extracted from
67172         gl_tree_remove_node.
67173         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
67174         upon out-of-memory.
67175         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
67176         out-of-memory.
67177         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
67178         upon out-of-memory.
67179         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
67180         upon out-of-memory.
67181         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
67182         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
67183         not xmalloc. Return NULL upon out-of-memory.
67184         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
67185         out-of-memory.
67186         (gl_tree_remove_node_from_tree): New function, extracted from
67187         gl_tree_remove_node.
67188         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
67189         upon out-of-memory.
67190         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
67191         out-of-memory.
67192         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
67193         upon out-of-memory.
67194         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
67195         upon out-of-memory.
67196         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
67197         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
67198         gl_anytree_list1.h before gl_anyavltree_list2.h.
67199         (gl_avltree_list_implementation): Update.
67200         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
67201         gl_anytree_list1.h before gl_anyavltree_list2.h.
67202         (gl_rbtree_list_implementation): Update.
67203         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
67204         Change return type to 'int'. Return -1 upon out-of-memory. Use
67205         __builtin_expect.
67206         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
67207         (gl_avltreehash_list_implementation): Update.
67208         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
67209         (gl_rbtreehash_list_implementation): Update.
67210         * modules/array-list (Depends-on): Remove xalloc.
67211         * modules/carray-list (Depends-on): Likewise.
67212         * modules/linked-list (Depends-on): Likewise.
67213         * modules/linkedhash-list (Depends-on): Likewise.
67214         * modules/avltree-list (Depends-on): Likewise.
67215         * modules/rbtree-list (Depends-on): Likewise.
67216         * modules/avltreehash-list (Depends-on): Likewise.
67217         * modules/rbtreehash-list (Depends-on): Likewise.
67219         * modules/xsublist: New file.
67220         * lib/gl_xsublist.h: New file.
67221         * lib/gl_xsublist.c: New file.
67222         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
67223         (gl_sublist_nx_create): New declaration.
67224         * lib/gl_sublist.c: Don't include xalloc.h.
67225         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
67226         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
67227         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
67228         Change return type to 'int'. Return -1 upon out-of-memory.
67229         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
67230         upon out-of-memory.
67231         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
67232         NULL upon out-of-memory.
67233         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
67234         upon out-of-memory.
67235         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
67236         NULL upon out-of-memory.
67237         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
67238         NULL upon out-of-memory.
67239         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
67240         upon out-of-memory.
67241         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
67242         (gl_sublist_list_implementation): Update.
67243         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
67244         upon out-of-memory.
67245         * modules/sublist (Depends-on): Remove xalloc.
67247         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
67248         * tests/test-carray_list.c: Likewise.
67249         * tests/test-linked_list.c: Likewise.
67250         * tests/test-linkedhash_list.c: Likewise.
67251         * tests/test-avltree_list.c: Likewise.
67252         * tests/test-rbtree_list.c: Likewise.
67253         * tests/test-avltreehash_list.c: Likewise.
67254         * tests/test-rbtreehash_list.c: Likewise.
67255         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
67256         * modules/carray-list-tests (Makefile.am): Likewise.
67257         * modules/linked-list-tests (Makefile.am): Likewise.
67258         * modules/linkedhash-list-tests (Makefile.am): Likewise.
67259         * modules/avltree-list-tests (Makefile.am): Likewise.
67260         * modules/rbtree-list-tests (Makefile.am): Likewise.
67261         * modules/avltreehash-list-tests (Makefile.am): Likewise.
67262         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
67264         * NEWS: Mention the changes.
67266         * lib/clean-temp.c: Include gl_xlist.h.
67267         * modules/clean-temp (Depends-on): Add xlist.
67269         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
67270         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
67272         * tests/test-array_oset.c: Include gl_xlist.h.
67273         * modules/array-oset-tests (Depends-on): Add xlist.
67275         Reported by José E. Marchesi <jemarch@gnu.org>.
67277 2009-12-13  Bruno Haible  <bruno@clisp.org>
67279         Move the malloc checking from module 'oset' to new module 'xoset'.
67280         * modules/xoset: New file.
67281         * lib/gl_xoset.h: New file.
67282         * lib/gl_xoset.c: New file.
67283         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
67284         declarations.
67285         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
67286         (struct gl_oset_implementation): Rename and change methods accordingly.
67287         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
67288         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
67289         'int'. Mark as __warn_unused_result__.
67290         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
67291         gl_oset_create_empty.
67292         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
67293         'int'.
67294         * lib/gl_array_oset.c: Don't include xalloc.h.
67295         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
67296         malloc, not xmalloc.
67297         (grow): Change return type to 'int'. Don't call xalloc_die.
67298         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
67299         to 'int'.
67300         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
67301         'int'.
67302         (gl_array_oset_implementation): Update.
67303         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
67304         gl_tree_create_empty.
67305         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
67306         'int'.
67307         * lib/gl_avltree_oset.c: Don't include xalloc.h.
67308         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
67309         xmalloc.
67310         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
67311         not xmalloc.
67312         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
67313         xmalloc.
67314         (gl_avltree_oset_implementation): Update.
67315         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
67316         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
67317         xmalloc.
67318         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
67319         not xmalloc.
67320         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
67321         xmalloc.
67322         (gl_rbtree_oset_implementation): Update.
67323         * modules/array-oset (Depends-on): Remove xalloc.
67324         * modules/avltree-oset (Depends-on): Likewise.
67325         * modules/rbtree-oset (Depends-on): Likewise.
67326         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
67327         * tests/test-avltree_oset.c: Likewise.
67328         * tests/test-rbtree_oset.c: Likewise.
67329         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
67330         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
67331         * modules/rbtree-oset-tests (Makefile.am): Likewise.
67332         * NEWS: Mention the change.
67334 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
67336         maint.mk: allow a project to override release-prep commands
67337         * top/maint.mk (alpha, beta, stable): Move release-preparatory
67338         commands into a new rule.
67339         (release-prep): New rule.
67340         (release-prep-hook): New overridable variable.
67342 2009-12-13  Bruno Haible  <bruno@clisp.org>
67344         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
67346 2009-12-13  Jim Meyering  <meyering@redhat.com>
67348         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
67349         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
67351 2009-12-12  Bruno Haible  <bruno@clisp.org>
67353         duplocale: Tweak.
67354         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
67356 2009-12-12  Karl Berry  <karl@gnu.org>
67358         * config/srclist.txt (strtoll.c): tab changes, no more sync.
67360 2009-12-12  Bruno Haible  <bruno@clisp.org>
67362         * m4/po.m4: Undo incorrect untabification.
67364 2009-12-12  Bruno Haible  <bruno@clisp.org>
67366         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
67367         * modules/c-strtod (Depends-on): Add locale.
67368         * modules/c-strtold (Depends-on): Likewise.
67370 2009-12-12  Bruno Haible  <bruno@clisp.org>
67372         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
67374 2009-12-11  Eric Blake  <ebb9@byu.net>
67376         setenv: relax requirement in light of POSIX ruling
67377         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
67378         not NULL.
67379         * tests/test-setenv.c (main): Relax test.
67380         * tests/test-unsetenv.c (main): Likewise.
67381         * doc/posix-functions/setenv.texi (setenv): Document this.
67382         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
67384 2009-12-11  Bruno Haible  <bruno@clisp.org>
67386         New module 'fd-safer-flag'.
67387         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
67388         * lib/dup-safer.c (dup_safer_flag): Remove function.
67389         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
67390         * lib/fd-safer.c (fd_safer_flag): Remove function.
67391         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
67392         * modules/cloexec (configure.ac): Drop indicator macro.
67393         * modules/fd-safer-flag: New file.
67394         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
67395         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
67396         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
67398 2009-12-11  Bruno Haible  <bruno@clisp.org>
67400         Tests for module 'nl_langinfo'.
67401         * modules/nl_langinfo-tests: New file.
67402         * tests/test-nl_langinfo.sh: New file.
67403         * tests/test-nl_langinfo.c: New file.
67405         New module 'nl_langinfo'.
67406         * lib/nl_langinfo.c: New file.
67407         * m4/nl_langinfo.m4: New file.
67408         * modules/nl_langinfo: New file.
67409         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
67411 2009-12-11  Bruno Haible  <bruno@clisp.org>
67413         Tests for module 'langinfo'.
67414         * modules/langinfo-tests: New file.
67415         * tests/test-langinfo.c: New file.
67417         New module 'langinfo'.
67418         * lib/langinfo.in.h: New file.
67419         * m4/langinfo_h.m4: New file.
67420         * modules/langinfo: New file.
67421         * doc/posix-headers/langinfo.texi: Mention the new module.
67423 2009-12-11  Bruno Haible  <bruno@clisp.org>
67425         * lib/config.charset: Untabify.
67427 2009-12-11  Bruno Haible  <bruno@clisp.org>
67429         * modules/unistd-safer (configure.ac): Drop indicator macro.
67431 2009-12-11  Bruno Haible  <bruno@clisp.org>
67433         Move pipe2-safer code to its own file.
67434         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
67435         * lib/pipe-safer.c (pipe2_safer): Remove function.
67436         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
67437         (Makefile.am): Add it to lib_SOURCES.
67439 2009-12-10  Bruno Haible  <bruno@clisp.org>
67441         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
67443 2009-12-10  Bruno Haible  <bruno@clisp.org>
67445         Declare which arguments expect non-NULL values, for GCC and clang.
67446         * build-aux/arg-nonnull.h: New file.
67447         * modules/arg-nonnull: New file.
67448         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
67449         (inet_ntop, inet_pton): Use it.
67450         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
67451         (closedir, dirfd, opendir, scandir, alphasort): Use it.
67452         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
67453         (open, openat): Use it.
67454         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
67455         (fnmatch): Use it.
67456         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
67457         (getopt, getopt_long, getopt_long_only): Use it.
67458         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
67459         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
67460         Use it.
67461         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
67462         (iconv_open): Use it.
67463         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
67464         (strtoimax, strtoumax): Use it.
67465         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
67466         (duplocale): Use it.
67467         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
67468         (frexp, frexpl): Use it.
67469         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
67470         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
67471         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
67472         (tsearch, tfind, tdelete, twalk): Use it.
67473         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
67474         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
67475         sigpending): Use it.
67476         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
67477         (posix_spawn, posix_spawnp, posix_spawnattr_init,
67478         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
67479         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
67480         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
67481         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
67482         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
67483         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
67484         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
67485         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
67486         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
67487         Use it.
67488         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
67489         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
67490         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
67491         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
67492         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
67493         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
67494         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
67495         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
67496         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
67497         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
67498         strtoull, unsetenv): Use it.
67499         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
67500         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
67501         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
67502         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
67503         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
67504         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
67505         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
67506         (strcasecmp, strncasecmp): Use it.
67507         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
67508         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
67509         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
67510         rpl_setsockopt): Use it.
67511         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
67512         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
67513         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
67514         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
67515         (gettimeofday): Use it.
67516         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
67517         (times): Use it.
67518         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
67519         (uname): Use it.
67520         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
67521         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
67522         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
67523         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
67524         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
67525         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
67526         unlinkat, write): Use it.
67527         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
67528         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
67529         * lib/argv-iter.h: Include arg-nonnull.h.
67530         (_ATTRIBUTE_NONNULL_): Remove macro.
67531         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
67532         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
67533         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
67534         optimization.
67535         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
67536         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
67537         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
67538         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
67539         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
67540         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
67541         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
67542         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
67543         * modules/arpa_inet (Depends-on): Add arg-nonnull.
67544         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
67545         * modules/dirent (Depends-on): Add arg-nonnull.
67546         (Makefile.am): Insert arg-nonnull.h into dirent.h.
67547         * modules/fcntl-h (Depends-on): Add arg-nonnull.
67548         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
67549         * modules/fnmatch (Depends-on): Add arg-nonnull.
67550         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
67551         * modules/getopt-posix (Depends-on): Add arg-nonnull.
67552         (Makefile.am): Insert arg-nonnull.h into getopt.h.
67553         * modules/glob (Depends-on): Add arg-nonnull.
67554         (Makefile.am): Insert arg-nonnull.h into glob.h.
67555         * modules/iconv_open (Depends-on): Add arg-nonnull.
67556         (Makefile.am): Insert arg-nonnull.h into iconv.h.
67557         * modules/inttypes (Depends-on): Add arg-nonnull.
67558         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
67559         * modules/locale (Depends-on): Add arg-nonnull.
67560         (Makefile.am): Insert arg-nonnull.h into locale.h.
67561         * modules/math (Depends-on): Add arg-nonnull.
67562         (Makefile.am): Insert arg-nonnull.h into math.h.
67563         * modules/netdb (Depends-on): Add arg-nonnull.
67564         (Makefile.am): Insert arg-nonnull.h into netdb.h.
67565         * modules/search (Depends-on): Add arg-nonnull.
67566         (Makefile.am): Insert arg-nonnull.h into search.h.
67567         * modules/signal (Depends-on): Add arg-nonnull.
67568         (Makefile.am): Insert arg-nonnull.h into signal.h.
67569         * modules/spawn (Depends-on): Add arg-nonnull.
67570         (Makefile.am): Insert arg-nonnull.h into spawn.h.
67571         * modules/stdio (Depends-on): Add arg-nonnull.
67572         (Makefile.am): Insert arg-nonnull.h into stdio.h.
67573         * modules/stdlib (Depends-on): Add arg-nonnull.
67574         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
67575         * modules/string (Depends-on): Add arg-nonnull.
67576         (Makefile.am): Insert arg-nonnull.h into string.h.
67577         * modules/strings (Depends-on): Add arg-nonnull.
67578         (Makefile.am): Insert arg-nonnull.h into strings.h.
67579         * modules/sys_socket (Depends-on): Add arg-nonnull.
67580         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
67581         * modules/sys_stat (Depends-on): Add arg-nonnull.
67582         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
67583         * modules/sys_time (Depends-on): Add arg-nonnull.
67584         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
67585         * modules/sys_times (Depends-on): Add arg-nonnull.
67586         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
67587         * modules/sys_utsname (Depends-on): Add arg-nonnull.
67588         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
67589         * modules/time (Depends-on): Add arg-nonnull.
67590         (Makefile.am): Insert arg-nonnull.h into time.h.
67591         * modules/unistd (Depends-on): Add arg-nonnull.
67592         (Makefile.am): Insert arg-nonnull.h into unistd.h.
67593         * modules/wchar (Depends-on): Add arg-nonnull.
67594         (Makefile.am): Insert arg-nonnull.h into wchar.h.
67595         * modules/argv-iter (Depends-on): Add arg-nonnull.
67596         * tests/test-canonicalize.c (null_ptr): New function.
67597         (main): Use it.
67598         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
67599         (main): Use it.
67600         * tests/test-memmem.c (null_ptr): New function.
67601         (main): Use it.
67602         Reported by Jim Meyering.
67604 2009-12-10  Bruno Haible  <bruno@clisp.org>
67606         Use spaces for indentation, not tabs.
67607         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
67608         * m4/*.m4: Untabify.
67609         * build-aux/*.h: Untabify.
67610         * tests/**/*.[hc]: Untabify.
67611         * README: New section "Indent with spaces, not TABs", based on
67612         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
67613         * NEWS: Mention the change.
67615 2009-12-10  Bruno Haible  <bruno@clisp.org>
67617         pty test: Fix link error.
67618         * modules/pty-tests (Makefile.am): Add the default LDADD value to
67619         test_pty_LDADD.
67621 2009-12-07  Simon Josefsson  <simon@josefsson.org>
67623         * modules/pty: New file.
67624         * modules/pty-tests: New file.
67625         * m4/pty.m4: New file.
67626         * tests/test-pty.c: New file.
67627         * doc/glibc-headers/pty.texi: Modified.
67628         * doc/glibc-functions/forkpty.texi: Modified.
67629         * doc/glibc-functions/openpty.texi: Modified.
67631 2009-12-10  Bruno Haible  <bruno@clisp.org>
67633         Avoid syntax error in C++ mode.
67634         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
67636 2009-12-10  Bruno Haible  <bruno@clisp.org>
67638         Use sed with option -e.
67639         * gnulib-tool (func_version, func_emit_copyright_notice,
67640         func_emit_initmacro_end, func_import, func_create_testdir): Pass
67641         option -e to sed.
67642         * modules/link-warning (Makefile.am): Likewise.
67644 2009-12-10  Jim Meyering  <meyering@redhat.com>
67646         mgetgroups: do not write bytes beyond end of malloc'd buffer
67647         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
67648         username, we call getgroups with a one-element-shorter buffer,
67649         but still told it the length was original, max_n_groups.
67651 2009-12-09  Eric Blake  <ebb9@byu.net>
67653         cloexec: relax license
67654         * modules/cloexec (Maintainer): Add myself.
67655         (License): Use LGPL, not GPL.
67657         link-warning: optimize generation
67658         * modules/link-warning (Makefile.am): Reduce process usage.
67660 2009-12-09  Bruno Haible  <bruno@clisp.org>
67662         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
67663         workaround was added on 2009-11-17.
67665 2009-12-09  Jim Meyering  <meyering@redhat.com>
67666             Bruno Haible  <bruno@clisp.org>
67668         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
67669         * modules/link-warning (Makefile.am): Make the comment-removing sed
67670         command more robust in the face of bootstrap-prepended comment lines.
67672 2009-12-09  Bruno Haible  <bruno@clisp.org>
67674         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
67675         most one group.
67677 2009-12-09  Simon Josefsson  <simon@josefsson.org>
67678             Bruno Haible  <bruno@clisp.org>
67680         * build-aux/link-warning.h: Add copyright notice.
67681         * modules/link-warning (Makefile.am): Generate link-warning.h from
67682         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
67683         * NEWS: Mention change in link-warning module.
67684         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
67685         * modules/dirent (Makefile.am): Add dependency to dirent.h.
67686         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
67687         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
67688         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
67689         * modules/math (Makefile.am): Add dependency to math.h.
67690         * modules/search (Makefile.am): Add dependency to search.h.
67691         * modules/signal (Makefile.am): Add dependency to signal.h.
67692         * modules/spawn (Makefile.am): Add dependency to spawn.h.
67693         * modules/stdio (Makefile.am): Add dependency to stdio.h.
67694         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
67695         * modules/string (Makefile.am): Add dependency to string.h.
67696         * modules/strings (Makefile.am): Add dependency to strings.h.
67697         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
67698         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
67699         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
67700         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
67701         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
67702         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
67703         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
67704         * modules/unistd (Makefile.am): Add dependency to unistd.h.
67705         * modules/wchar (Makefile.am): Add dependency to wchar.h.
67707 2009-12-09  Bruno Haible  <bruno@clisp.org>
67709         fchdir: Optimize away rpl_fstat when possible.
67710         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
67711         REPLACE_OPEN_DIRECTORY.
67712         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
67714 2009-12-09  Bruno Haible  <bruno@clisp.org>
67716         * lib/fchdir.c: Update comment.
67718 2009-12-09  Bruno Haible  <bruno@clisp.org>
67720         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
67722 2009-12-08  Eric Blake  <ebb9@byu.net>
67724         fchdir: avoid memory leak on re-registration.
67725         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
67727 2009-12-08  Jim Meyering  <meyering@redhat.com>
67729         init.sh: avoid Solaris 10 /bin/sh portability problem
67730         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
67731         sourced script:
67732           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
67733           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
67734           bar
67735         tests/init.sh relied on that, accepting a --set-path=DIR argument,
67736         and two tests used that idiom.
67737         * tests/init.sh: Update suggested usage comments.
67738         (path_prepend_): New function, to be used in place
67739         of the --src-path=DIR option.
67740         (setup_): Move PATH-prepending code into path_prepend_.
67741         * tests/test-pread.sh: Adapt to new usage.
67742         * tests/test-xalloc-die.sh: Likewise.
67744 2009-12-08  Simon Josefsson  <simon@josefsson.org>
67746         * doc/gnulib.texi (Glibc pty.h): Add.
67747         * doc/glibc-functions/forkpty.texi: Add.
67748         * doc/glibc-functions/openpty.texi: Add.
67749         Suggested by Bruno Haible.
67751 2009-12-08  Eric Blake  <ebb9@byu.net>
67753         fchdir: fix logic bugs
67754         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
67755         * tests/test-fchdir.c (main): Enhance test.
67756         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
67757         is in use.
67759         dup2: fix logic bugs
67760         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
67761         REPLACE_DUP2 to decide when rpl_dup2 is needed.
67762         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
67763         exists.
67764         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
67766 2009-12-07  Eric Blake  <ebb9@byu.net>
67768         unlink: fix m4 detection
67769         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
67771         unistd-safer: add unit test
67772         * modules/unistd-safer-tests: New file.
67773         * tests/test-dup-safer.c: Likewise.
67774         * tests/test-cloexec.c (setmode): Avoid compiler warning.
67775         * tests/test-dup2.c (setmode): Likewise.
67776         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
67778         cloexec: preserve text vs. binary across dup_cloexec
67779         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
67780         mode.
67781         * modules/dup2-tests (Depends-on): Add binary-io.
67782         * modules/cloexec-tests (Depends-on): Likewise.
67783         * tests/test-dup2.c (setmode, is_mode): New helpers.
67784         (main): Add tests that translation mode is preserved.
67785         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
67786         Reported by Bruno Haible.
67788         mgetgroups: reduce duplicate listings
67789         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
67790         resulting array.
67791         * tests/test-chown.h (test_chown): Simplify client.
67792         * tests/test-lchown.h (test_lchown): Likewise.
67794 2009-12-06  Bruno Haible  <bruno@clisp.org>
67796         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
67797         value.
67799 2009-12-06  Bruno Haible  <bruno@clisp.org>
67801         * lib/progname.c: Include stdio.h, stdlib.h.
67802         (set_program_name): Reject a NULL argument.
67804 2009-12-05  Eric Blake  <ebb9@byu.net>
67806         pipe2-safer: new module
67807         * modules/pipe2-safer: New file.
67808         * lib/unistd-safer.h (pipe2_safer): New prototype.
67809         * lib/unistd--.h (pipe2): New wrapper.
67810         * lib/pipe-safer.c (pipe2_safer): New function.
67811         * modules/pipe (Depends-on): Add pipe2-safer.
67812         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
67814         stdlib-safer: preserve cloexec flag for mkostemp[s]
67815         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
67816         fd_safer_flag.
67818         unistd-safer: allow preservation of cloexec status via flag
67819         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
67820         prototypes.
67821         * lib/dup-safer.c (dup_safer_flag): New function.
67822         * lib/fd-safer.c (fd_safer_flag): Likewise.
67823         * modules/cloexec (configure.ac): Set witness.
67825         test-dup2: enhance test
67826         * modules/dup2-tests (Depends-on): Add cloexec.
67827         * tests/test-dup2.c (main): Enhance test.
67829         cloexec: add dup_cloexec
67830         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
67831         header and comments.
67832         * lib/cloexec.c (set_cloexec_flag): Add comments.
67833         (dup_cloexec): New function, with mingw implementation borrowed
67834         from...
67835         * lib/w32spawn.h (dup_noinherit): ...here.
67836         * modules/execute (Depends-on): Add cloexec.
67837         * modules/pipe (Depends-on): Likewise.
67838         * modules/cloexec (Depends-on): Add dup2.
67839         * modules/cloexec-tests (Files): New file.
67840         * tests/test-cloexec.c: Likewise.
67842         test-xalloc-die: fix test for mingw
67843         * modules/xalloc-die-tests (Files): Add tests/init.sh.
67844         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
67845         directory and .exe suffix off argv[0] output.
67847         test-fseeko: fix test for mingw
67848         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
67849         than undefining fseek, so test will pass on mingw.
67851 2009-12-05  Bruno Haible  <bruno@clisp.org>
67853         * lib/progname.h (set_program_name): Clarify specification.
67854         * lib/progname.c (set_program_name): Likewise.
67855         Reported by Jim Meyering.
67857 2009-12-05  Jim Meyering  <meyering@redhat.com>
67859         maint.mk: backslash-escape parens in default regexp
67860         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
67861         backslash-escape the literal parentheses.
67863         maint.mk: news-date-check: use grep -E
67864         * top/maint.mk (today): Define a Make variable, not a...
67865         (news-date-check): ...shell variable.
67866         (news-date-regexp): Use the Make variable.
67867         Use grep's -E option.  Change the failing diagnostic to mention
67868         the variable, $(news-date-regexp).
67870 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
67872         maintainer-makefile: allow customization of NEWS entry format
67873         * top/maint.mk (news-date-regexp): New overridable variable.
67874         (news-date-check): Use it.
67876 2009-12-04  Eric Blake  <ebb9@byu.net>
67878         mgetgroups: add xgetgroups, and avoid ENOSYS failures
67879         * lib/mgetgroups.h (xgetgroups): New prototype.
67880         * lib/mgetgroups.c (xgetgroups): New wrapper.
67881         (mgetgroups): Handle ENOSYS.
67882         * modules/mgetgroups (Depends-on): Add realloc.
67883         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
67885         mgetgroups: avoid argument promotion issues with -1
67886         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
67887         for invalid gid_t.
67888         * tests/test-chown.h (getegid, test_chown): Likewise.
67889         * tests/test-lchown.h (getegid, test_lchown): Likewise.
67891 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
67893         exclude: Fix header file problems.
67894         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
67896 2009-12-01  Jim Meyering  <meyering@redhat.com>
67898         fts: fts_open: do not let an empty string cause immediate failure
67899         This is required in support of GNU rm, for which the command
67900         "rm A '' B" must process and remove both A and B, in spite of
67901         the empty string argument.
67902         * lib/fts.c (fts_open): Do not let the presence of an empty string
67903         cause fts_open to fail immediately.  Most fts-using tools must be
67904         able to process all arguments, in order, and can be expected to
67905         diagnose such arguments themselves.
67907 2009-11-30  Eric Blake  <ebb9@byu.net>
67909         utimens: fix compilation error
67910         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
67911         Declare variable at right scope.
67913 2009-11-29  Jim Meyering  <meyering@redhat.com>
67915         bootstrap: handle perl-5.11's changed --version output
67916         * build-aux/bootstrap (get_version): Handle perl separately,
67917         since perl-5.11's --version output is different.
67919 2009-11-28  Jim Meyering  <meyering@redhat.com>
67921         userspec: depend on the inttostr module, too
67922         * modules/userspec (Depends-on): Add inttostr.
67924         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
67925         * lib/userspec.c (parse_with_separator): Do not accept a user ID
67926         number of MAXUID when it evaluates to (uid_t) -1.
67927         Likewise for group ID.  Reported by Matt McCutchen in
67928         <http://savannah.gnu.org/bugs/?28113>
67930         userspec: reformat to use spaces, not TABs
67931         * lib/userspec.c: Expand TABs to spaces.
67932         Add Emacs' "indent-tabs-mode: nil" hint.
67934 2009-11-27  Eric Blake  <ebb9@byu.net>
67936         getopt-gnu: flush out another BSD bug
67937         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
67938         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
67939         flush out BSD bug.
67940         * tests/test-getopt.h (test_getopt): End lists with NULL.
67941         * tests/test-getopt_long.h (test_getopt_long): Likewise.
67942         (test_getopt_long_posix): Enhance test.
67943         * modules/getopt-posix-tests (Depends-on): Add stdbool.
67944         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
67945         getopt-gnu.
67946         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
67947         Likewise.
67949 2009-11-27  Simon Josefsson  <simon@josefsson.org>
67951         * modules/idpriv-droptemp-tests (Notice): Fix text.
67953 2009-11-27  Jim Meyering  <meyering@redhat.com>
67955         test-xalloc-die: avoid spurious failure due to libtool argv difference
67956         In a libtool-enabled project, this test would fail due to a difference
67957         in the emitted program name, e.g.,
67958         -test-xalloc-die: memory exhausted
67959         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
67960         Use program to avoid that.
67961         * modules/xalloc-die-tests (Depends-on): Add progname.
67962         * tests/test-xalloc-die.c: Include progname.h".
67963         (program_name): Remove decl.
67964         (main): Call set_program_name.
67965         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
67967 2009-11-26  Richard Jones  <rjones@redhat.com>
67969         w32sock: leave win32 error in place.
67970         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
67972 2009-11-26  Eric Blake  <ebb9@byu.net>
67974         init.sh: suggest to use skip_ and fail_ functions in comments
67975         * tests/init.sh: Add a sentence.
67977 2009-11-25  Bruno Haible  <bruno@clisp.org>
67979         init.sh: add documentation in comments
67980         * tests/init.sh: Add some developer and user documentation.
67982 2009-11-26  Jim Meyering  <meyering@redhat.com>
67984         init.sh: accommodate even those who specify bogus srcdir manually
67985         * tests/init.sh: Normally, srcdir is guaranteed by automake and
67986         configure-time tests to be sanitized, so that there is no need to
67987         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
67988         (with no double quotes) suffices.  However, since tests may be
67989         invoked manually, and since you may explicitly set srcdir to the
67990         name of a directory containing spaces, do quote its uses here.
67991         * tests/test-pread.sh: Likewise.
67992         Suggested by Bruno Haible.
67994         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
67995         * tests/test-pread.sh: Write no data into the pipe, because
67996         test-pread actually reads none.  This avoids a diagnostic,
67997         "bash: echo: write error: Broken pipe", that arises in the unusual
67998         event something is ignoring SIGPIPE, and might be interpreted
67999         as some sort of failure.  Reported by Bruno Haible.
68001 2009-11-25  Jim Meyering  <meyering@redhat.com>
68003         test-pread: cover failure with ESPIPE and EINVAL
68004         * tests/test-pread.c (main): Test for failure, too.
68005         * tests/test-pread.sh: Invoke with stdin on a pipe.
68006         Suggested by Eric Blake.
68008         pread: improvement and fix
68009         * modules/pread (Depends-on): Depend on lseek, for portability to
68010         e.g., mingw.  Suggested by Eric Blake.
68011         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
68013         unistd.in.h: correct declaration of pread
68014         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
68015         Reported by Richard W.M. Jones.
68017         test-pread.sh: distribute the test script
68018         * modules/pread-tests (Files): Include test-pread.sh.
68020         test-pread.sh: clean up
68021         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
68022         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
68023         That is unnecessary, since it's always ".".
68024         Suggestion from Eric Blake.
68026         test-pread.sh: make executable
68027         * tests/test-pread.sh: Set executable bit.
68028         Reported by Eric Blake.
68030         correct typo in test-pread.sh
68031         * tests/test-pread.sh: Add #! line.
68033         test pread
68034         * tests/test-pread.c: New file.
68035         * tests/test-pread.sh: Likewise.
68036         * modules/pread-tests: Likewise.
68038         pread: new module
68039         * modules/pread: New file.
68040         * lib/unistd.in.h (pread): Define/declare.
68041         * lib/pread.c (pread): New file.
68042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
68043         * modules/unistd (Makefile.am): Substitute witnesses.
68044         * doc/posix-functions/pread.texi (pread): Update.
68045         * MODULES.html.sh: Add pread.
68047 2009-11-25  Jim Meyering  <meyering@redhat.com>
68049         tests/init.sh: new file to be used via most *.sh tests
68050         * tests/init.sh: New file.
68052 2009-11-25  Eric Blake  <ebb9@byu.net>
68054         utimens: work around older Linux failure with symlinks
68055         * lib/utimens.c (lutimensat_works_really): New variable.
68056         (fdutimens, lutimens): Use it to manage kernels that support
68057         nanosecond times on files, but not on symlinks.
68058         Reported by Ondřej Vašík.
68060         utimes: fix configure grammar
68061         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
68063 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
68065         regex: Fix fastmap for multibyte character ranges.
68066         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
68067         characters when a multibyte character range is included.
68069 2009-11-22  Andy Wingo  <wingo@pobox.com>
68071         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
68072         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
68074 2009-11-24  Bruno Haible  <bruno@clisp.org>
68076         doc: Most *_l functions exist in MacOS X 10.5.
68077         * doc/posix-functions/duplocale.texi: Update platforms list.
68078         * doc/posix-functions/freelocale.texi: Likewise.
68079         * doc/posix-functions/newlocale.texi: Likewise.
68080         * doc/posix-functions/uselocale.texi: Likewise.
68081         * doc/posix-functions/isalnum_l.texi: Likewise.
68082         * doc/posix-functions/isalpha_l.texi: Likewise.
68083         * doc/posix-functions/isblank_l.texi: Likewise.
68084         * doc/posix-functions/iscntrl_l.texi: Likewise.
68085         * doc/posix-functions/isdigit_l.texi: Likewise.
68086         * doc/posix-functions/isgraph_l.texi: Likewise.
68087         * doc/posix-functions/islower_l.texi: Likewise.
68088         * doc/posix-functions/isprint_l.texi: Likewise.
68089         * doc/posix-functions/ispunct_l.texi: Likewise.
68090         * doc/posix-functions/isspace_l.texi: Likewise.
68091         * doc/posix-functions/isupper_l.texi: Likewise.
68092         * doc/posix-functions/iswalnum_l.texi: Likewise.
68093         * doc/posix-functions/iswalpha_l.texi: Likewise.
68094         * doc/posix-functions/iswblank_l.texi: Likewise.
68095         * doc/posix-functions/iswcntrl_l.texi: Likewise.
68096         * doc/posix-functions/iswctype_l.texi: Likewise.
68097         * doc/posix-functions/iswdigit_l.texi: Likewise.
68098         * doc/posix-functions/iswgraph_l.texi: Likewise.
68099         * doc/posix-functions/iswlower_l.texi: Likewise.
68100         * doc/posix-functions/iswprint_l.texi: Likewise.
68101         * doc/posix-functions/iswpunct_l.texi: Likewise.
68102         * doc/posix-functions/iswspace_l.texi: Likewise.
68103         * doc/posix-functions/iswupper_l.texi: Likewise.
68104         * doc/posix-functions/iswxdigit_l.texi: Likewise.
68105         * doc/posix-functions/isxdigit_l.texi: Likewise.
68106         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
68107         * doc/posix-functions/strcasecmp_l.texi: Likewise.
68108         * doc/posix-functions/strcoll_l.texi: Likewise.
68109         * doc/posix-functions/strfmon_l.texi: Likewise.
68110         * doc/posix-functions/strftime_l.texi: Likewise.
68111         * doc/posix-functions/strncasecmp_l.texi: Likewise.
68112         * doc/posix-functions/strxfrm_l.texi: Likewise.
68113         * doc/posix-functions/tolower_l.texi: Likewise.
68114         * doc/posix-functions/toupper_l.texi: Likewise.
68115         * doc/posix-functions/towctrans_l.texi: Likewise.
68116         * doc/posix-functions/towlower_l.texi: Likewise.
68117         * doc/posix-functions/towupper_l.texi: Likewise.
68118         * doc/posix-functions/wcscoll_l.texi: Likewise.
68119         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
68120         * doc/posix-functions/wctrans_l.texi: Likewise.
68121         * doc/posix-functions/wctype_l.texi: Likewise.
68122         * doc/glibc-functions/strptime_l.texi: Likewise.
68123         * doc/glibc-functions/strtod_l.texi: Likewise.
68124         * doc/glibc-functions/strtof_l.texi: Likewise.
68125         * doc/glibc-functions/strtol_l.texi: Likewise.
68126         * doc/glibc-functions/strtold_l.texi: Likewise.
68127         * doc/glibc-functions/strtoll_l.texi: Likewise.
68128         * doc/glibc-functions/strtoul_l.texi: Likewise.
68129         * doc/glibc-functions/strtoull_l.texi: Likewise.
68130         * doc/glibc-functions/wcsftime_l.texi: Likewise.
68131         * doc/glibc-functions/wcstod_l.texi: Likewise.
68132         * doc/glibc-functions/wcstof_l.texi: Likewise.
68133         * doc/glibc-functions/wcstol_l.texi: Likewise.
68134         * doc/glibc-functions/wcstold_l.texi: Likewise.
68135         * doc/glibc-functions/wcstoll_l.texi: Likewise.
68136         * doc/glibc-functions/wcstoul_l.texi: Likewise.
68137         * doc/glibc-functions/wcstoull_l.texi: Likewise.
68139 2009-11-24  Bruno Haible  <bruno@clisp.org>
68141         duplocale: Fix logic bug.
68142         * lib/duplocale.c: Don't include <langinfo.h>.
68143         (_NL_LOCALE_NAME): Remove macro.
68144         (rpl_duplocale): Use setlocale instead of nl_langinfo.
68145         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
68147 2009-11-23  Jim Meyering  <meyering@redhat.com>
68149         test-update-copyright: don't hard-code /usr/bin/perl
68150         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
68151         perl to print the current year.  Gilles Espinasse reported that
68152         the replaced use of perl was hard-coded as /usr/bin/perl.
68154 2009-11-23  Bruno Haible  <bruno@clisp.org>
68156         duplocale: Add support for glibc 2.3.x.
68157         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
68159 2009-11-22  Bruno Haible  <bruno@clisp.org>
68161         vasnprintf: Tiny optimization.
68162         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
68163         MacOS X.
68165 2009-11-22  Bruno Haible  <bruno@clisp.org>
68167         Tests for module 'duplocale'.
68168         * modules/duplocale-tests: New file.
68169         * tests/test-duplocale.c: New file.
68171         New module 'duplocale'.
68172         * m4/duplocale.m4: New file.
68173         * lib/locale.in.h (duplocale): New declaration.
68174         * lib/duplocale.c: New file.
68175         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
68176         gl_LOCALE_H_DEFAULTS): New macros.
68177         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
68178         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
68179         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
68180         REPLACE_DUPLOCALE.
68181         * modules/duplocale: New file.
68182         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
68184 2009-11-22  Bruno Haible  <bruno@clisp.org>
68186         * modules/locale-tests (configure.ac): Test for newlocale function.
68187         * tests/test-locale.c: When the system has extended locale functions,
68188         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
68190         locale: Make locale_t available when possible.
68191         * lib/locale.in.h: Include <xlocale.h> when it exists.
68192         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
68193         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
68194         * modules/locale (Depends-on): Add extensions.
68195         (Makefile.am): Also substitute HAVE_XLOCALE_H.
68196         * doc/posix-headers/locale.texi: Document the problem with locale_t.
68198 2009-11-22  Bruno Haible  <bruno@clisp.org>
68200         Add comments.
68201         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
68202         invocation.
68203         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68204         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
68205         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68207 2009-11-22  Bruno Haible  <bruno@clisp.org>
68209         error: account for the possibility of freopen (stdout).
68210         * lib/error.c: Include <unistd.h>.
68211         (flush_stdout): New function, extracted from error and error_at_line.
68212         Determine stdout's fd dynamically.
68213         (error, error_at_line): Invoke flush_stdout.
68214         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
68215         * modules/error (Depends-on): Add unistd.
68217 2009-11-22  Bruno Haible  <bruno@clisp.org>
68219         diffseq: Add comment.
68220         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
68222 2009-11-22  Jim Meyering  <meyering@redhat.com>
68224         c-stack: avoid defining an unused static function
68225         * lib/c-stack.c (find_stack_direction): Do not define this function
68226         when it will not be used.
68228         diffseq: avoid spurious gcc warnings
68229         * lib/diffseq.h (IF_LINT2): Define.
68230         (compareseq): Use it to initialize two members of "part".
68231         This avoids two used-uninitialized warnings.
68233 2009-11-21  Jim Meyering  <meyering@redhat.com>
68235         c-stack: avoid "ignoring return value of `write'" warning
68236         * lib/c-stack.c: Include "ignore-value.h".
68237         (die): Explicitly ignore each write return value.
68238         * modules/c-stack (Depends-on): Add ignore-value.
68240 2009-11-21  Bruno Haible  <bruno@clisp.org>
68242         diffseq: reduce scope of variable 'best'.
68243         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
68244         variable, earlier used for two different purposes.
68246 2009-11-21  Jim Meyering  <meyering@redhat.com>
68248         diffseq: remove useless assignment to "best"
68249         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
68250         assignment.  At that point "best" is already guaranteed to be zero.
68252 2009-11-20  Eric Blake  <ebb9@byu.net>
68254         build: mention ftp redirector in release announcements
68255         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
68256         values that used to come from cfg.mk; mention FTP redirect URL.
68257         * build-aux/announce-gen: Mention the mirror list.
68258         Suggested by Karl Berry.
68260         nanosleep: improve port to mingw
68261         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
68262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
68263         LIB_NANOSLEEP, but only when needed.
68264         * modules/select (Link): Document LIBSOCKET.
68265         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
68266         enough.
68268         nanosleep: work around cygwin bug
68269         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
68270         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
68271         bug.
68272         (getnow): Delete, not needed.
68273         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
68274         LIB_CLOCK_GETTIME.
68275         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
68276         clock-time, gettime.
68277         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
68278         bug.
68279         * modules/nanosleep-tests: New test.
68280         * tests/test-nanosleep.c: New file.
68282         sleep: work around cygwin bug
68283         * lib/sleep.c (rpl_sleep): Work around the bug.
68284         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
68285         (gl_PREREQ_SLEEP): Delete unused macro.
68286         * modules/sleep (Depends-on): Add verify.
68287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
68288         * modules/unistd (Makefile.am): Substitute witness.
68289         * lib/unistd.in.h (sleep): Update prototype.
68290         * doc/posix-functions/sleep.texi (sleep): Document the bug.
68291         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
68292         * modules/sleep-tests (Depends-on): Check for alarm.
68294 2009-11-20  Jim Meyering  <meyering@redhat.com>
68296         maint.mk: improve sc_prohibit_magic_number_exit
68297         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
68298         so it does not match uses like System.exit(1).
68299         Add comments showing how to correct all offenders.
68301 2009-11-19  Eric Blake  <ebb9@byu.net>
68303         xalloc-die-tests: add missing library
68304         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
68306         test-xvasprintf: silence compiler warnings
68307         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
68308         empty string from gcc.
68310 2009-11-19  Jim Meyering  <meyering@redhat.com>
68312         xfreopen: new module, from coreutils
68313         * modules/xfreopen: New module.
68314         * lib/xfreopen.c: New file.
68315         * lib/xfreopen.h: New file.
68316         * MODULES.html.sh (File stream based Input/Output"): Add it.
68318 2009-11-19  Eric Blake  <ebb9@byu.net>
68320         manywarnings: depend on warnings
68321         * modules/manywarnings (Depends-on): Add warnings.
68323         build: avoid compiler warnings
68324         * lib/select.c (rpl_select): Delete unused variable.
68325         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
68327 2009-11-18  Eric Blake  <ebb9@byu.net>
68329         tests: avoid false negative with --with-packager
68330         * tests/test-version-etc.sh: Discard packager information.
68331         * tests/test-argp-version-etc-1.sh: Likewise.
68332         Reported by Mike Frysinger.
68334         utimens: fix regression on Solaris
68335         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
68336         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
68337         can only change fd timestamps via futimesat.  Instead, use an
68338         additional witness macro to avoid BSD bug.
68339         Reported by Jim Meyering.
68341 2009-11-17  Eric Blake  <ebb9@byu.net>
68343         usleep: use it to simplify tests
68344         * modules/stat-time-tests (Depends-on): Add usleep.
68345         (configure.ac): Drop usleep check.
68346         * modules/chown-tests (Depends-on, configure.ac): Likewise.
68347         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
68348         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
68349         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
68350         * modules/openat-tests (Depends-on, configure.ac): Likewise.
68351         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
68352         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
68353         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
68354         Likewise.
68355         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
68356         * tests/test-lchown.h (nap): Likewise.
68357         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
68358         * tests/test-stat-time.c (nap): Likewise.
68359         * tests/test-utimens-common.h (nap): Update comments.
68361         usleep: new module
68362         * modules/usleep: New file.
68363         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
68364         * lib/usleep.c (usleep): Likewise.
68365         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
68366         * modules/unistd (Makefile.am): Substitute witnesses.
68367         * lib/unistd.in.h (usleep): Add declaration.
68368         * doc/pastposix-functions/usleep.texi (usleep): Document this.
68369         * MODULES.html.sh (Date and time): Likewise.
68370         * modules/usleep-tests (Depends-on): New test.
68371         * tests/test-usleep.c: New file.
68373         chown: work around OpenBSD bug
68374         * lib/chown.c (rpl_chown): Work around the bug.
68375         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
68376         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
68377         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
68378         * modules/chown (Depends-on): Add stdbool.
68379         * modules/lchown (Depends-on): Likewise.
68380         * doc/posix-functions/chown.texi (chown): Document the bug.
68381         * doc/posix-functions/lchown.texi (lchown): Likewise.
68382         * tests/test-lchown.h (test_chown): Relax test.
68384         mkstemp: avoid conflict with C++ keyword template
68385         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
68386         * lib/mkostemp.c (mkostemp): Likewise.
68387         * lib/mkostemps.c (mkostemps): Likewise.
68388         * lib/mkstemp.c (mkstemp): Likewise.
68389         * lib/mkstemps.c (mkstemps): Likewise.
68391         xalloc-die-tests: optimize
68392         * tests/test-xalloc-die.sh: Reduce number of processes.
68394 2009-11-17  Simon Josefsson  <simon@josefsson.org>
68396         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
68397         patch from ludo@gnu.org (Ludovic Courtès).
68399 2009-11-17  Jim Meyering  <meyering@redhat.com>
68401         version-etc: use proper license string
68402         * modules/version-etc (License): Use LGPL, not LGPLv3+.
68403         * modules/version-etc-fsf: Likewise.
68405 2009-11-17  Simon Josefsson  <simon@josefsson.org>
68407         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
68408         printed to stdout.  Deal with EOL differences.
68410 2009-11-17  Eric Blake  <ebb9@byu.net>
68412         unsetenv: work around Solaris bug
68413         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
68414         * lib/unsetenv.c (rpl_unsetenv): Work around it.
68415         Reported by Jim Meyering.
68417         vasnprintf: avoid compiler warnings
68418         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
68419         variables.
68420         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
68422 2009-11-17  Simon Josefsson  <simon@josefsson.org>
68424         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
68425         settings since xalloc-die is no longer the self test,
68426         xalloc-die.sh is.
68428 2009-11-17  Jim Meyering  <meyering@redhat.com>
68430         test-xalloc-die.sh: make the code agree with the commit log
68431         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
68432         at the end, just in case you happen to have a test-xalloc-die
68433         program in some other PATH directory.
68435         test-xalloc-die.sh: fix a portability bug
68436         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
68437         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
68438         Otherwise, argv[0] (as often seen in diagnostics) would be too
68439         system-dependent, sometimes with, and sometimes without the leading "./".
68441         version-etc-fsf: relax license to LGPLv3+
68442         * modules/version-etc-fsf (License): Relax license.
68444 2009-11-16  Eric Blake  <ebb9@byu.net>
68446         xalloc-die-tests: avoid printing null pointer
68447         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
68448         shell script.
68449         * tests/test-xalloc-die.c (program_name): Declare.
68450         * tests/test-xalloc-die.sh (tmpfiles): New file.
68452         setenv, unsetenv: work around various bugs
68453         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
68454         (setenv) [HAVE_SETENV]: Work around bugs.
68455         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
68456         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
68457         for bugs.
68458         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
68459         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
68460         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
68461         * modules/stdlib (Makefile.am): Update substitutions.
68462         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
68463         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
68464         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
68465         * modules/setenv-tests: New test.
68466         * modules/unsetenv-tests: Likewise.
68467         * tests/test-setenv.c: New file.
68468         * tests/test-unsetenv.c: Likewise.
68470 2009-11-16  Jim Meyering  <meyering@redhat.com>
68472         version-etc: relax license to LGPLv3+
68473         * modules/version-etc (License): Relax license.
68475         better AC_REQUIRE expanded-before-required-warning avoidance
68476         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
68477         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
68478         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
68479         which is no longer needed.
68481 2009-11-16  Eric Blake  <ebb9@byu.net>
68483         test-freading: clean up temporary file
68484         * tests/test-freading.c (main): Remove file on success, and use
68485         ASSERT more liberally.
68486         Reported by Jim Meyering.
68488 2009-11-16  Jim Meyering  <meyering@redhat.com>
68490         avoid new AC_REQUIRE expanded-before-required warnings
68491         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
68492         merely using it.
68493         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
68494         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
68496 2009-11-15  Simon Josefsson  <simon@josefsson.org>
68498         * tests/test-xalloc-die.c: New file.
68499         * modules/xalloc-die-tests: New file.
68500         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
68501         XFAIL_TESTS so it can be appended by modules.
68503 2009-11-15  Simon Josefsson  <simon@josefsson.org>
68505         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
68506         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
68508 2009-11-14  Eric Blake  <ebb9@byu.net>
68510         fnmatch: avoid compiler warning
68511         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
68512         to silence compiler warning about mismatch signedness in ?:.
68513         Reported by Robert Millan.
68515         intprops: add double-inclusion guard
68516         * lib/intprops.h: Allow idempotent includes.
68517         Suggested by Bruce Korb.
68519         openat: detect Solaris fchownat bug
68520         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
68521         penalizing glibc chownat when only lchownat is broken.
68522         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
68523         trailing slash bugs.
68524         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
68525         * modules/openat-tests (Files): Include more files.
68526         (Depends-on): Add mgetgroups, sleep, stat-time.
68527         (configure.ac): Add additional checks.
68528         (Makefile.am): Build new test.
68529         * tests/test-fchownat.c: New file.
68531         lchown: detect Solaris and FreeBSD bug
68532         * lib/lchown.c (rpl_lchown): Work around bug.
68533         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
68534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
68535         * modules/unistd (Makefile.am): Populate it.
68536         * lib/unistd.in.h (lchown): Update declaration.
68537         * doc/posix-functions/lchown.texi (lchown): Document the bug.
68538         * modules/lchown-tests: New file.
68539         * tests/test-lchown.h (test_lchown): Likewise.
68540         * tests/test-lchown.c (main): Likewise.
68542         chown: detect Solaris and FreeBSD bug
68543         * lib/chown.c (rpl_chown): Work around bug.
68544         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
68545         (gl_PREREQ_CHOWN): Delete.
68546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
68547         * modules/unistd (Makefile.am): Populate it.
68548         * lib/unistd.in.h (chown): Update declaration.
68549         * lib/lchown.c (chown): Update client.
68550         * modules/lchown (Depends-on): Add lstat.
68551         * doc/posix-functions/chown.texi (chown): Document the bug.
68552         * doc/posix-functions/getgroups.texi (getgroups): Document
68553         getgroups pitfall.
68554         * modules/chown-tests: New file.
68555         * tests/test-chown.h (test_chown): Likewise.
68556         * tests/test-chown.c (main): Likewise.
68558 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
68560         gnulib-tool: correctly detect absence of m4 directories
68561         * gnulib-tool: Avoid extra newline on data passed to wc -l.
68563 2009-11-14  Jim Meyering  <meyering@redhat.com>
68565         maint.mk: Prohibit inclusion of "xalloc.h" without use.
68566         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
68568 2009-11-14  John W. Eaton  <jwe@gnu.org>
68570         strftime.h: wrap function declaration in extern "C" block
68571         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
68573 2009-11-13  Eric Blake  <ebb9@byu.net>
68575         getgroups: avoid compiler warning
68576         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
68578         getgroups: work around FreeBSD bug
68579         * lib/getgroups.c (rpl_getgroups): Work around the bug.
68580         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
68581         * doc/posix-functions/getgroups.texi (getgroups): Document it.
68582         * tests/test-getgroups.c (main): Fix buffer overrun.
68584         getgroups: avoid compilation failure
68585         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
68586         * modules/getgroups (Depends-on): Add stdint.
68588 2009-11-13  Jim Meyering  <meyering@redhat.com>
68590         test-getgroups: avoid compilation failure
68591         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
68593 2009-11-13  Eric Blake  <ebb9@byu.net>
68595         mgetgroups: new module, taken from coreutils
68596         * modules/mgetgroups: New file.
68597         * lib/mgetgroups.h: Likewise.
68598         * lib/mgetgroups.c (mgetgroups): Likewise.
68599         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
68600         * MODULES.html.sh (Users and groups): Mention it.
68602         getgroups: don't expose GETGROUPS_T to user
68603         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
68604         an element at a time if GETGROUPS_T is wrong size.
68605         * lib/getugroups.h (getugroups): Change signature.
68606         * lib/unistd.in.h (getgroups): Likewise.
68607         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
68608         signature needs fixing.
68609         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
68610         AC_TYPE_GETGROUPS.
68611         * modules/group-member (Depends-on): Add getgroups.
68612         * lib/group-member.c (group_info, get_group_info): Use gid_t.
68613         (group_member): Rely on getgroups replacement.
68614         * lib/getugroups.c (getugroups): Use gid_t.
68615         * tests/test-getgroups.c (main): Likewise.
68616         * NEWS: Mention the signature change.
68617         * doc/posix-functions/getgroups.texi (getgroups): Mention the
68618         problem with signature.
68619         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
68620         GETGROUPS_T is still useful for setgroups.
68622         getgroups, getugroups: provide stubs for mingw
68623         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
68624         * lib/getugroups.c (getugroups): Likewise.
68625         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
68626         function.  Modernize replacement scheme.
68627         (gl_PREREQ_GETGROUPS): Delete.
68628         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
68629         * modules/getgroups (configure.ac): Declare witness.
68630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
68631         * modules/unistd (Depends-on): Substitute witness.
68632         * lib/unistd.in.h (getgroups): Declare replacement.
68634         getgroups: avoid calling exit
68635         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
68636         drop xalloc.
68637         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
68638         dependencies.
68639         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
68640         exiting, in the rare case of malloc failure.
68642         getgroups: fix logic error
68643         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
68644         has more than 20 groups.
68645         * modules/getgroups-tests: New test.
68646         * tests/test-getgroups.c: New file.
68648 2009-11-13  Simon Josefsson  <simon@josefsson.org>
68650         * tests/test-base64.c: Improve.
68652 2009-11-13  Simon Josefsson  <simon@josefsson.org>
68654         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
68655         Blake <ebb9@byu.net>.
68657 2009-11-13  Simon Josefsson  <simon@josefsson.org>
68659         * tests/test-xvasprintf.c: Add %s%s related checks.
68661 2009-11-12  Eric Blake  <ebb9@byu.net>
68663         version-etc: match standards.texi style
68664         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
68665         and use <> only for URLs.
68667 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
68669         fts: do not fail on a submount during traversal
68670         * lib/fts.c (fts_build): Read the stat info again after opening
68671         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
68672         Original report at http://bugzilla.redhat.com/501848.
68674 2009-11-12  Jim Meyering  <meyering@redhat.com>
68676         bootstrap: sync from coreutils
68677         * build-aux/bootstrap (bootstrap_epilogue): New function.
68678         Use git_modules_config in one more place.  This make bootstrap's
68679         --gnulib-srcdir option more useful for testing.
68681         bootstrap: generalize autoheader check
68682         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
68683         AC_CONFIG_HEADERS.
68685 2009-11-11  Eric Blake  <ebb9@byu.net>
68687         mkfifoat: use new modules for Solaris and BSD bugs
68688         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
68689         * lib/mkfifoat.c (mknodat): Split...
68690         * lib/mknodat.c (mknodat): ...into new file.
68691         * modules/mkfifoat (Files): Ship new file.
68692         (Depends-on): Add mkfifo, mknod.
68693         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
68694         (Depends-on): Add symlink.
68695         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
68696         redundant with test_mkfifo.h.
68697         (do_mkfifoat, do_mknodat): New helpers.
68699         mknod: new module
68700         * modules/mknod: New file.
68701         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
68702         * lib/mknod.c (mknod): Likewise.
68703         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
68704         defaults.
68705         * modules/sys_stat (Makefile.am): Substitute them.
68706         * lib/sys_stat.in.h (mknod): Declare replacement.
68707         * MODULES.html.sh (Support for systems lacking POSIX:2008):
68708         Document it.
68709         * doc/posix-functions/mknod.texi (mknod): Likewise.
68710         * modules/mknod-tests: New test.
68711         * tests/test-mknod.c: Likewise.
68713         mkfifo: new module
68714         * modules/mkfifo: New file.
68715         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
68716         * lib/mkfifo.c (mkfifo): Likewise.
68717         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
68718         defaults.
68719         * modules/sys_stat (Makefile.am): Substitute them.
68720         * lib/sys_stat.in.h (mkfifo): Declare replacement.
68721         * MODULES.html.sh (Support for systems lacking POSIX:2008):
68722         Document it.
68723         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
68724         * modules/mkfifo-tests: New test.
68725         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
68726         from test-mkfifoat.c.
68727         * tests/test-mkfifo.c: New file.
68729         readlink: detect FreeBSD bug
68730         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
68731         slash on symlink.
68732         * doc/posix-functions/readlink.texi (readlink): Document the bug.
68733         * tests/test-readlink.h (test_readlink): Enhance test.
68735         symlink: detect FreeBSD bug
68736         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
68737         slash on symlink.
68738         * doc/posix-functions/symlink.texi (symlink): Document the bug.
68739         * tests/test-symlink.h (test_symlink): Enhance test.
68741 2009-11-10  Eric Blake  <ebb9@byu.net>
68743         link: detect FreeBSD bug
68744         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
68745         symlink.
68746         * doc/posix-functions/link.texi (link): Document the bug.
68747         * tests/test-link.h (test_link): Enhance test.
68748         * tests/test-linkat.c (main): Update caller.
68750         unlink, remove: detect FreeBSD bug
68751         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
68752         slash on symlink.
68753         * doc/posix-functions/unlink.texi (unlink): Document the bug.
68754         * doc/posix-functions/remove.texi (remove): Likewise.
68755         * tests/test-unlink.h (test_unlink): Enhance test.
68756         * tests/test-remove.c (main): Likewise.
68758 2009-11-09  Eric Blake  <ebb9@byu.net>
68760         rename: detect FreeBSD bug
68761         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
68762         slash on symlink.
68763         * modules/renameat-tests (Depends-on): Add filenamecat.
68764         * tests/test-rename.h (test_rename): Allow one more errno.
68765         * tests/test-renameat.c (main): Likewise.
68766         * doc/posix-functions/rename.texi (rename): Document the bug.
68768         open: detect FreeBSD bug
68769         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
68770         symlink.
68771         * doc/posix-functions/open.texi (open): Document the bug.
68772         * doc/posix-functions/utimes.texi (utimes): Likewise.
68773         * tests/test-open.h (test_open): Add parameters, and test symlink
68774         handling.
68775         * tests/test-open.c (main): Adjust caller.
68776         * tests/test-fcntl-safer.c (main): Likewise.
68777         * modules/open-tests (Depends-on): Add stdbool, symlink.
68778         * modules/fcntl-safer-tests (Depends-on): Likewise.
68779         * tests/test-openat.c (main): Add test-open tests.
68781         stat: detect FreeBSD bug
68782         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
68783         symlink.
68784         * doc/posix-functions/stat.texi (stat): Document the bug.
68785         * tests/test-stat.h (test_stat_func): Add argument.
68786         * tests/test-stat.c (main): Adjust caller.
68787         * tests/test-fstatat.c (main): Likewise.
68788         * modules/stat-tests (Depends-on): Add stdbool, symlink.
68789         Reported by Jim Meyering.
68791 2009-11-09  James Youngman  <jay@gnu.org>
68793         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
68794         * lib/strftime.c: Correct placement of #include "ignore-value.h".
68796 2009-11-08  Jim Meyering  <meyering@redhat.com>
68798         utimens: remove invalid futimesat call
68799         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
68800         It used the file descriptor of the target file as the DIR_FD
68801         parameter and NULL as the file name.  That caused failure with
68802         errno == EFAULT on FreeBSD-8.0-rc2
68804 2009-11-07  Eric Blake  <ebb9@byu.net>
68806         fflush, freadseek: use fseeko, not fseek
68807         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
68808         (clear_ungetc_buffer): Avoid potential problems on large files.
68809         * lib/freadseek.c (freadseek): Likewise.
68810         * modules/freadseek (Depends-on): Add fseeko.
68811         * modules/fseek (configure.ac): Set a witness.
68812         * tests/test-fflush.c (main): Use fseeko.
68813         * tests/test-fpurge.c (fseek): Disable link warning.
68814         * tests/test-freadable.c (fseek): Likewise.
68815         * tests/test-freading.c (fseek): Likewise.
68816         * tests/test-fseeko.c (fseek): Likewise.
68817         * tests/test-ftell.c (fseek): Likewise.
68818         * tests/test-ftello.c (fseek): Likewise.
68819         * tests/test-fwritable.c (fseek): Likewise.
68820         * tests/test-fwriting.c (fseek): Likewise.
68822 2009-11-06  Simon Josefsson  <simon@josefsson.org>
68824         * modules/memchr (Depends-on): Drop getpagesize dependency.
68826 2009-11-06  Simon Josefsson  <simon@josefsson.org>
68828         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
68829         Reported by Ludovic Courtès.
68830         * build-aux/pmccabe2html: Improve example usage.
68831         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
68833 2009-11-06  Jim Meyering  <meyering@redhat.com>
68835         do-release-commit-and-tag: New module.
68836         Automate the release-commit and tag process.
68837         * build-aux/do-release-commit-and-tag: New script, from coreutils.
68838         * modules/do-release-commit-and-tag: New file.
68839         * MODULES.html.sh (Support for maintaining and releasing): Add it.
68841 2009-11-06  Simon Josefsson  <simon@josefsson.org>
68843         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
68844         because test-select.c uses inet_pton.
68846 2009-11-06  Simon Josefsson  <simon@josefsson.org>
68848         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
68849         GETADDRINFO_LIB.  Bump serial number.
68850         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
68851         Suggested by Eric Blake <ebb9@byu.net>.
68853 2009-11-05  Eric Blake  <ebb9@byu.net>
68855         strtod: detect darwin bug
68856         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
68857         Reported by Leo Davis.
68859         freopen-safer: new module
68860         * modules/freopen-safer: New module.
68861         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
68862         * lib/freopen-safer.c (freopen_safer): New file.
68863         * lib/stdio-safer.h (freopen_safer): New declaration.
68864         * lib/stdio--.h (freopen): New override.
68865         * MODULES.html.sh (File stream based Input/Output): Mention it.
68866         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
68867         freopen-safer module.
68868         * doc/posix-functions/stderr.texi (stderr): Likewise.
68869         * doc/posix-functions/stdin.texi (stdin): Likewise.
68870         * doc/posix-functions/stdout.texi (stdout): Likewise.
68871         * modules/freopen-safer-tests: New test.
68872         * tests/test-reopen-safer.c: New file.
68874 2009-11-05  Jim Meyering  <meyering@redhat.com>
68876         maint.mk: Prohibit inclusion of "close-stream.h" without use.
68877         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
68879 2009-11-05  Simon Josefsson  <simon@josefsson.org>
68881         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
68883 2009-11-05  Simon Josefsson  <simon@josefsson.org>
68885         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
68887 2009-11-05  Simon Josefsson  <simon@josefsson.org>
68889         Fix link error.
68890         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
68891         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
68893 2009-11-05  Simon Josefsson  <simon@josefsson.org>
68895         * tests/test-func.c: Also test value of __func__.
68897 2009-11-05  Simon Josefsson  <simon@josefsson.org>
68899         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
68900         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
68902 2009-11-05  Bruno Haible  <bruno@clisp.org>
68904         Fix link error.
68905         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
68906         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
68907         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
68909 2009-11-05  Bruno Haible  <bruno@clisp.org>
68911         Tests for module 'inet_pton'.
68912         * modules/inet_pton-tests: New file.
68913         * tests/test-inet_pton.c: New file.
68915 2009-11-05  Bruno Haible  <bruno@clisp.org>
68917         Tests for module 'inet_ntop'.
68918         * modules/inet_ntop-tests: New file.
68919         * tests/test-inet_ntop.c: New file.
68921 2009-11-04  Eric Blake  <ebb9@byu.net>
68923         stdlib-safer: wrap all mkstemp variants
68924         * modules/mkostemp (configure.ac): Set witness.
68925         * modules/mkostemps (configure.ac): Likewise.
68926         * modules/mkstemps (configure.ac): Likewise.
68927         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
68928         (mkstemps_safer): Wrap more functions.
68929         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
68930         wrapping.
68931         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
68932         (mkstemps_safer): Implement the wrappers.
68934         mkstemps, mkostemps: new modules
68935         * modules/mkostemps: New module.
68936         * modules/mkstemps: Likewise.
68937         * lib/mkostemps.c (mkostemps): New file.
68938         * lib/mkstemps.c (mkstemps): Likewise.
68939         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
68940         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
68941         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
68942         * modules/stdlib (Makefile.am): Substitute them.
68943         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
68944         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
68945         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
68946         * doc/gnulib.texi (Glibc stdlib.h): Include them.
68947         * MODULES.html.sh (File system functions): Mention them.
68949         tempname: resync from glibc
68950         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
68951         same values for __GT_FILE as glibc.  Abort even when assertions
68952         are disabled.
68953         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
68954         match its value otherwise.  Allow idempotent inclusion.
68955         * lib/mkdtemp.c (mkdtemp): Adjust caller.
68956         * lib/mkostemp.c (mkostemp): Likewise.
68957         * lib/mkstemp.c (mkstemp): Likewise.
68958         * lib/tmpfile.c (tmpfile): Likewise.
68959         * NEWS: Document this.
68961         utimens: fix use of futimens on older Linux
68962         * lib/utimens.c (fdutimens): Use updated, rather than original,
68963         timespec to avoid bug in older Linux kernel.
68964         Reported by Simon Josefsson.
68966 2009-11-04  Bruno Haible  <bruno@clisp.org>
68968         Make num_processors more flexible and consistent.
68969         * lib/nproc.h (enum nproc_query): New type.
68970         (num_processors): Add a 'query' argument.
68971         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
68972         (num_processors): Add a 'query' argument. Test the value of the
68973         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
68974         mingw, count the number of CPUs available for the current process.
68975         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
68976         Check for sched_getaffinity and sched_getaffinity_np.
68977         * modules/nproc (Depends-on): Add c-ctype, extensions.
68978         * NEWS: Mention the change.
68980 2009-11-03  Bruno Haible  <bruno@clisp.org>
68982         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
68984 2009-11-03  Jim Meyering  <meyering@redhat.com>
68986         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
68987         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
68988         if it is defined.
68990 2009-11-02  Eric Blake  <ebb9@byu.net>
68992         mktime, timegm: share common declaration
68993         * lib/mktime-internal.h: New file.
68994         * lib/mktime.c: Use it rather than open-coding a declaration.
68995         * lib/timegm.c: Likewise.
68996         * modules/mktime (Files): Ship it.
68997         * modules/timegm (Files): Likewise.
68998         Suggested by Bruno Haible.
69000         test-update-copyright: update test to match script changes
69001         * tests/test-update-copyright.sh: Avoid hard-coding perl
69002         location.  Don't update *.bak created by earlier runs.
69004 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69005             Simon Josefsson  <simon@josefsson.org>
69006             Bruno Haible  <bruno@clisp.org>
69008         Fix link error on Solaris 8.
69009         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
69010         also in libnsl. Define also INET_PTON_LIB.
69011         * modules/inet_pton (Link): New section.
69013 2009-11-02  Simon Josefsson  <simon@josefsson.org>
69014             Bruno Haible  <bruno@clisp.org>
69016         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
69017         * modules/inet_ntop (Link): New section.
69018         Reported by Boyan Kasarov <bkasarov@gmail.com>.
69020 2009-11-02  Eric Blake  <ebb9@byu.net>
69022         maint: avoid compiler warnings in m4 macros
69023         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
69024         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
69026 2009-11-02  Simon Josefsson  <simon@josefsson.org>
69028         * m4/pmccabe2html.m4: Remove file.
69029         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
69030         function.  Change maintainer.
69031         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
69032         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
69033         Courtès).
69035 2009-10-31  Eric Blake  <ebb9@byu.net>
69037         fseeko: fix m4 regression
69038         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
69039         regression from 2009-10-27.
69040         Reported by Ralf Wildenhues.
69042 2009-10-31  Jim Meyering  <meyering@redhat.com>
69044         inttostr: aesthetics and improved (compile-time) safety
69045         Define inttype_is_signed rather than inttype_is_unsigned,
69046         since the sole use is via "#if inttype_is_signed".
69047         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
69048         inttype_is_unsigned.
69049         * lib/offtostr.c (inttype_is_signed): Likewise.
69050         * lib/uinttostr.c (inttype_is_signed): Likewise.
69051         * lib/umaxtostr.c (inttype_is_signed): Likewise.
69052         * lib/inttostr.c (inttostr): Use verify to cross-check the
69053         inttype_is_signed value and the signedness of the actual type.
69054         * modules/inttostr (Depends-on): Add verify.
69056 2009-10-30  Eric Blake  <ebb9@byu.net>
69058         build: avoid compiler warnings
69059         * lib/fchmodat.c (lchmod): Mark unused variables.
69060         * lib/getopt.c (_getopt_initialize): Likewise.
69061         * lib/mktime.c (__mktime_internal): Provide prototype.
69062         * lib/inttostr.c (inttostr): Avoid compiler warning even with
69063         older gcc that do not understand #pragma GCC diagnostic.
69064         * lib/uinttostr.c (inttype_is_unsigned): Define.
69065         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
69067 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
69069         stat: fix compilation on AIX
69070         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
69071         only see struct stat64.
69073 2009-10-30  Eric Blake  <ebb9@byu.net>
69075         exclude: make more robust
69076         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
69077         rather than masking a coding bug.
69078         Suggested by Bruno Haible.
69080 2009-10-30  Jim Meyering  <meyering@redhat.com>
69082         perl scripts: remove #!/usr/bin/perl in favor of more portable...
69083         Rather than putting #!/usr/bin/perl on the first line,
69084         start with a variant of what's recommended by "man perlrun" that
69085         invokes the first "perl" program from your shell's search path.
69086         * build-aux/gitlog-to-changelog: Replace #!... as above.
69087         Add a "Local Variables" perl mode setting.
69088         Prompted by a patch from Ludovic Courtès.
69089         Improved by Eric Blake.
69090         * build-aux/useless-if-before-free: Likewise.
69091         * build-aux/announce-gen: Likewise.
69092         * build-aux/update-copyright: Likewise.
69094 2009-10-29  Eric Blake  <ebb9@byu.net>
69096         filenamecat-lgpl: adjust clients
69097         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
69098         filenamecat.
69099         * modules/renameat (Depends-on): Likewise.
69101         filenamecat: split into filenamecat-lgpl
69102         * modules/filenamecat-lgpl: New module.
69103         * modules/filenamecat (Files): Move library-safe files into
69104         filenamecat-lgpl.
69105         (Depends-on): Add filenamecat-lgpl.
69106         (configure.ac): Declare witness.
69107         * lib/filenamecat.h (file_name_concat): Only declare when using
69108         GPL module.
69109         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
69110         Move...
69111         * lib/filenamecat-lgpl.c: ...into new file.
69112         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
69113         (gl_FILE_NAME_CONCAT): Use it.
69114         * MODULES.html.sh (File system functions): Mention new module.
69116         argp: avoid memory leak
69117         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
69118         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
69119         base_name, since the latter malloc()s and can call exit().
69120         Leak introduced 2006-07-03.
69122         dirname-lgpl: adjust clients that don't need full dirname
69123         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
69124         * modules/filenamecat (Depends-on): Likewise.
69125         * modules/linkat (Depends-on): Likewise.
69126         * modules/mkancesdirs (Depends-on): Likewise.
69127         * modules/mkdir (Depends-on): Likewise.
69128         * modules/openat (Depends-on): Likewise.
69129         * modules/savewd (Depends-on): Likewise.
69130         * modules/rename (Depends-on): Likewise.
69131         (License): Relax license.
69132         * modules/mkdir-tests (Depends-on): Drop progname.
69133         (Makefile.am): Delete unneeded LDADD.
69134         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
69136         dirname: split into dirname-lgpl
69137         * modules/dirname-lgpl: New module.
69138         * modules/dirname (Files): Move library-safe files into
69139         dirname-lgpl.
69140         (Depends-on): Add dirname-lgpl.
69141         (configure.ac): Declare witness.
69142         * modules/double-slash-root (License): Relax license.
69143         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
69144         module.
69145         * lib/dirname.c (dir_len, mdir_name): Move...
69146         * lib/dirname-lgpl.c: ...into new file.
69147         * lib/basename.c (last_component, base_len): Move...
69148         * lib/basename-lgpl.c: ...into new file.
69149         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
69150         (gl_DIRNAME): Use it.
69151         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
69152         Mention new module.
69153         * modules/dirname-tests (Depends-on): Add progname.
69154         * tests/test-dirname.c (program_name): Delete.
69156         mkdir: make safe for libraries
69157         * modules/mkdir (Depends-on): Drop xalloc.
69158         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
69159         exit.
69161         tests: avoid some compiler warnings
69162         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
69163         literals.
69164         * tests/test-memchr.c (main): Avoid type mismatch.
69165         * tests/test-arpa_inet.c (main): Avoid unused parameters.
69166         * tests/test-base64.c (main): Likewise.
69167         * tests/test-getdelim.c (main): Likewise.
69168         * tests/test-gethostname.c (main): Likewise.
69169         * tests/test-getline.c (main): Likewise.
69170         * tests/test-netinet_in.c (main): Likewise.
69171         * tests/test-select.c (open_server_socket, main): Likewise.
69172         * tests/test-select-stdin.c (main): Likewise.
69173         * tests/test-sockets.c (main): Likewise.
69174         * tests/test-strsignal.c (main): Likewise.
69175         * tests/test-sys_select.c (main): Likewise.
69176         * tests/test-sys_socket.c (main): Likewise.
69177         * tests/test-u64.c (main): Likewise.
69178         * tests/test-xfprintf-posix.c (main): Likewise.
69179         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
69181         sockets: avoid compiler warning
69182         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
69184         maint: detect usage(1) and other suspicious exits
69185         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
69187 2009-10-29  Jim Meyering  <meyering@redhat.com>
69189         timespec: long-to-int truncation could make timespec_cmp malfunction
69190         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
69191         a multiple of 2^32 nanoseconds as no difference.
69193 2009-10-28  Jim Meyering  <meyering@redhat.com>
69195         fprintftime: wrap macro code argument in "do {...} while(0)"
69196         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
69197         cpy macro must be a statement that can be followed by a semicolon.
69198         Now that the else clause contains a comment and is hence longer
69199         than one line, I require curly braces.  That in turn requires
69200         that we wrap this code block in the standard do...while(0).
69202         fprintftime: remove stray semicolon from previous change
69203         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
69205         fprintftime: avoid a warning about ignored fwrite return value
69206         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
69207         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
69208         that is unsafe.
69209         * modules/fprintftime (Depends-on): Add ignore-value.
69211         exclude: avoid an unwarranted warning
69212         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
69214 2009-10-27  Eric Blake  <ebb9@byu.net>
69216         fseek: avoid compilation failure when fflush is replaced
69217         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
69218         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
69219         module is in use.
69220         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
69221         module is not in use; since REPLACE_FSEEK worked otherwise.
69222         (GNULIB_FTELLO): Likewise for ftell.
69223         Reported by Ian Beckwith and others.
69225 2009-10-27  Bruno Haible  <bruno@clisp.org>
69227         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
69228         Reported by Jim Meyering.
69230 2009-10-27  Jim Meyering  <jim@meyering.net>
69231             Bruno Haible  <bruno@clisp.org>
69233         Avoid warning despite dropping the return value of fwrite.
69234         * lib/unicodeio.c: Include ignore-value.h.
69235         (fwrite_success_callback): Explicitly ignore fwrite's return value.
69236         * modules/unicodeio (Depends-on): Add ignore-value.
69238 2009-10-26  Eric Blake  <ebb9@byu.net>
69240         areadlinkat: fix fallback path
69241         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
69242         pointer and zero.
69244 2009-10-22  Pádraig Brady  <P@draigBrady.com>
69246         Use a better IO block size for modern systems
69247         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
69248         * lib/md2.c: Likewise.
69249         * lib/md4.c: Likewise.
69250         * lib/md5.c: Likewise.
69251         * lib/sha1.c: Likewise.
69252         * lib/sha256.c: Likewise.
69253         * lib/sha512.c: Likewise.
69255 2009-10-22  Eric Blake  <ebb9@byu.net>
69257         tests: avoid several compiler warnings
69258         * tests/test-getcwd.c (main): Avoid buffer underflow.
69259         * tests/test-getdate.c (main): String literals are not safe with
69260         putenv, so use setenv.  Declare unused argument.
69261         * modules/getdate-tests (Depends-on): Add setenv.
69262         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
69263         problems with string literals in char *.
69264         * tests/test-hash.c (main): Avoid shadowing declaration.
69265         (insert_new): Treat string literals as char const *.
69266         * tests/test-getopt.h (test_getopt): Likewise.
69267         (getopt_loop): Alter types to minimize casting elsewhere.
69268         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
69269         (test_getopt_long_posix): Likewise.
69270         (do_getopt_long): Add wrapper to minimize casting.
69271         * tests/test-atexit.c (clear_temp_file): Use void.
69272         * tests/test-areadlink-with-size.c (main): Declare unused
69273         arguments.
69274         * tests/test-areadlink.c (main): Likewise.
69275         * tests/test-areadlinkat-with-size.c (main): Likewise.
69276         * tests/test-areadlinkat.c (main): Likewise.
69277         * tests/test-canonicalize-lgpl.c (main): Likewise.
69278         * tests/test-canonicalize.c (main): Likewise.
69279         * tests/test-dirent-safer.c (main): Likewise.
69280         * tests/test-dirname.c (main): Likewise.
69281         * tests/test-dup2.c (main): Likewise.
69282         * tests/test-fchdir.c (main): Likewise.
69283         * tests/test-fcntl-h.c (main): Likewise.
69284         * tests/test-fcntl-safer.c (main): Likewise.
69285         * tests/test-fdopendir.c (main): Likewise.
69286         * tests/test-fdutimensat.c (main): Likewise.
69287         * tests/test-fflush.c (main): Likewise.
69288         * tests/test-filenamecat.c (main): Likewise.
69289         * tests/test-filevercmp.c (main): Likewise.
69290         * tests/test-fopen-safer.c (main): Likewise.
69291         * tests/test-fopen.c (main): Likewise.
69292         * tests/test-fpending.c (main): Likewise.
69293         * tests/test-fpurge.c (main): Likewise.
69294         * tests/test-freading.c (main): Likewise.
69295         * tests/test-fstatat.c (main): Likewise.
69296         * tests/test-fsync.c (main): Likewise.
69297         * tests/test-futimens.c (main): Likewise.
69298         * tests/test-getndelim2.c (main): Likewise.
69299         * tests/test-gettimeofday.c (main): Likewise.
69300         * tests/test-getopt.c (main): Likewise.
69301         * tests/test-i-ring.c (main): Likewise.
69302         * tests/test-inttypes.c (main): Likewise.
69303         * tests/test-link.c (main): Likewise.
69304         * tests/test-lstat.c (main): Likewise.
69305         * tests/test-math.c (main): Likewise.
69306         * tests/test-md5.c (main): Likewise.
69307         * tests/test-memchr2.c (main): Likewise.
69308         * tests/test-memrchr.c (main): Likewise.
69309         * tests/test-mkdir.c (main): Likewise.
69310         * tests/test-mkdirat.c (main): Likewise.
69311         * tests/test-mkfifoat.c (main): Likewise.
69312         * tests/test-open.c (main): Likewise.
69313         * tests/test-openat-safer.c (main): Likewise.
69314         * tests/test-openat.c (main): Likewise.
69315         * tests/test-quotearg.c (main): Likewise.
69316         * tests/test-rawmemchr.c (main): Likewise.
69317         * tests/test-readlink.c (main): Likewise.
69318         * tests/test-remove.c (main): Likewise.
69319         * tests/test-rename.c (main): Likewise.
69320         * tests/test-renameat.c (main): Likewise.
69321         * tests/test-rmdir.c (main): Likewise.
69322         * tests/test-sha1.c (main): Likewise.
69323         * tests/test-signal.c (main): Likewise.
69324         * tests/test-sigaction.c (main): Likewise.
69325         * tests/test-stat.c (main): Likewise.
69326         * tests/test-stat-time.c (main): Likewise.
69327         * tests/test-stddef.c (main): Likewise.
69328         * tests/test-stdint.c (main): Likewise.
69329         * tests/test-stdio.c (main): Likewise.
69330         * tests/test-stdlib.c (main): Likewise.
69331         * tests/test-strchrnul.c (main): Likewise.
69332         * tests/test-strerror.c (main): Likewise.
69333         * tests/test-string.c (main): Likewise.
69334         * tests/test-strtod.c (main): Likewise.
69335         * tests/test-strverscmp.c (main): Likewise.
69336         * tests/test-symlink.c (main): Likewise.
69337         * tests/test-symlinkat.c (main): Likewise.
69338         * tests/test-sys_stat.c (main): Likewise.
69339         * tests/test-sys_time.c (main): Likewise.
69340         * tests/test-time.c (main): Likewise.
69341         * tests/test-unistd.c (main): Likewise.
69342         * tests/test-unlink.c (main): Likewise.
69343         * tests/test-unlinkat.c (main): Likewise.
69344         * tests/test-utimens.c (main): Likewise.
69345         * tests/test-utimensat.c (main): Likewise.
69346         * tests/test-version-etc.c (main): Likewise.
69347         * tests/test-wchar.c (main): Likewise.
69348         * tests/test-wctype.c (main): Likewise.
69349         * tests/test-xprintf-posix.c (main): Likewise.
69350         * tests/test-posixtm.c (main): Likewise.
69351         (STREQ): Delete unused macro.
69352         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
69353         shadowed variables.
69354         * tests/test-memchr.c (main): Likewise.
69356 2009-10-21  Eric Blake  <ebb9@byu.net>
69358         areadlinkat: avoid failure on older glibc
69359         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
69360         rather than mis-comparing 0 against FUNC_RESULT of char*.
69362 2009-10-21  Bruno Haible  <bruno@clisp.org>
69364         * modules/stpncpy (License): Relicense under LGPLv2+.
69365         Reported by David Lutterkort <lutter@redhat.com>.
69367 2009-10-20  Eric Blake  <ebb9@byu.net>
69369         utimensat: work around Solaris 9 bug
69370         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
69371         has trailing slash bugs.
69372         * tests/test-lutimens.h (test_lutimens): Enhance test.
69373         * tests/test-utimens.h (test_utimens): Likewise.
69374         * doc/posix-functions/utime.texi (utime): Enhance documentation.
69375         * doc/posix-functions/utimes.texi (utimes): Likewise.
69376         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
69377         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
69378         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
69379         * doc/posix-functions/futimens.texi (futimens): Likewise.
69381         fdutimensat: new module
69382         * modules/fdutimensat: New file.
69383         * lib/fdutimensat.c (fdutimensat): Likewise.
69384         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
69385         * MODULES.html.sh (File system functions): Mention module.
69386         * modules/fdutimensat-tests: New test.
69387         * tests/test-fdutimensat.c: Likewise.
69389         doc: regenerate INSTALL
69390         * doc/INSTALL: Reflect recent autoconf update.
69391         * doc/INSTALL.ISO: Likewise.
69392         * doc/INSTALL.UTF-8: Likewise.
69394 2009-10-20  Pádraig Brady  <P@draigBrady.com>
69396         acl: warn if ACL support is not detected
69397         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
69399 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
69401         * lib/nproc.h: Add extern "C" block for C++.
69403 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
69404             Bruno Haible  <bruno@clisp.org>
69406         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
69407         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
69408         * doc/posix-functions/isalpha.texi: Likewise.
69409         * doc/posix-functions/isblank.texi: Likewise.
69410         * doc/posix-functions/iscntrl.texi: Likewise.
69411         * doc/posix-functions/isdigit.texi: Likewise.
69412         * doc/posix-functions/isgraph.texi: Likewise.
69413         * doc/posix-functions/islower.texi: Likewise.
69414         * doc/posix-functions/isprint.texi: Likewise.
69415         * doc/posix-functions/ispunct.texi: Likewise.
69416         * doc/posix-functions/isspace.texi: Likewise.
69417         * doc/posix-functions/isupper.texi: Likewise.
69418         * doc/posix-functions/isxdigit.texi: Likewise.
69420 2009-10-18  Bruno Haible  <bruno@clisp.org>
69422         Tests for module 'isblank'.
69423         * modules/isblank-tests: New file.
69424         * tests/test-isblank.c: New file.
69426         New module 'isblank'.
69427         * lib/isblank.c: New file.
69428         * m4/isblank.m4: New file.
69429         * modules/isblank: New file.
69430         * doc/posix-functions/isblank.texi: Mention the new module.
69432 2009-10-18  Bruno Haible  <bruno@clisp.org>
69434         New module 'ctype'.
69435         * lib/ctype.in.h: New file.
69436         * m4/ctype.m4: New file.
69437         * modules/ctype: New file.
69438         * doc/posix-headers/ctype.texi: Mention the new module.
69440 2009-10-18  Jim Meyering  <meyering@redhat.com>
69442         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
69443         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
69444         right after its initialization, rather than farther down.
69445         Keeping these in close proximity makes it easier to ensure
69446         that each such variable is initialized.  E.g.,
69448             LIB_CLOCK_GETTIME=
69449             AC_SUBST([LIB_CLOCK_GETTIME])
69451         This change also increments these serial numbers.
69452         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
69453         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
69454         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
69456 2009-10-18  Bruno Haible  <bruno@clisp.org>
69458         Don't let environment variables perturb build.
69459         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
69460         (gl_PREREQ_GETHRXTIME): ... not here.
69462 2009-10-18  Bruno Haible  <bruno@clisp.org>
69464         Avoid symlink attack in localcharset module.
69465         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
69466         (O_NOFOLLOW): Define fallback.
69467         (get_charset_aliases): Don't open the file if it is a symbolic link.
69468         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
69469         gl_FCNTL_H.
69470         (gl_FCNTL_H): Require it.
69471         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
69472         * modules/localcharset (Files): Add m4/fcntl_h.m4.
69473         Reported by Fergal Glynn <fglynn@veracode.com>.
69475 2009-10-18  Bruno Haible  <bruno@clisp.org>
69477         Implement nproc for mingw.
69478         * lib/nproc.c: Include <windows.h>
69479         (num_processors): On native Windows platforms, try GetSystemInfo.
69481 2009-10-18  Bruno Haible  <bruno@clisp.org>
69483         Implement nproc for IRIX.
69484         * lib/nproc.c: Include <sys/sysmp.h>.
69485         (num_processors): On IRIX systems, try sysmp.
69486         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
69488 2009-10-18  Bruno Haible  <bruno@clisp.org>
69490         Implement nproc for HP-UX.
69491         * lib/nproc.c: Include <sys/pstat.h>
69492         (num_processors): On HP-UX systems, try pstat_getdynamic.
69493         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
69494         pstat_getdynamic.
69496 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
69497             Bruno Haible  <bruno@clisp.org>
69499         Implement nproc for NetBSD, OpenBSD.
69500         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
69501         (ARRAY_SIZE): New macro.
69502         (num_processors): On BSD systems, try sysctl of HW_NCPU.
69503         * m4/nproc.m4: New file.
69504         * modules/nproc (Files): Add m4/nproc.m4.
69505         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
69506         (Makefile.am): Instead, augment lib_SOURCES.
69508 2009-10-18  Bruno Haible  <bruno@clisp.org>
69510         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
69511         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
69512         sys/param.h.
69514 2009-10-16  Eric Blake  <ebb9@byu.net>
69516         utimensat: new module
69517         * modules/utimensat: New file.
69518         * lib/utimensat.c (utimensat): Likewise.
69519         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
69520         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
69521         so we can work around Linux bugs.
69522         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
69523         * modules/sys_stat (Makefile.am): Substitute them.
69524         * lib/sys_stat.in.h (utimensat): Declare it.
69525         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
69526         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
69527         * modules/utimensat-tests: New test.
69528         * tests/test-utimensat.c: Likewise.
69530         utimens: let lutimens work on non-symlinks
69531         * lib/utimens.c (lutimens): Fall back to utimens rather than
69532         failing with ENOSYS, when file is not a symlink.
69533         (utimens): Reduce redirection.
69534         * tests/test-lutimens.h (test_lutimens): Update test to cover
69535         non-symlinks.
69536         * tests/test-utimens.h (test_utimens): Update test to cover
69537         symlinks.
69538         * tests/test-utimens.c (main): Update caller.
69540         utimens: cache whether utimensat syscall works
69541         * lib/utimens.c (utimensat_works_really): New cache variable.
69542         (fdutimens, lutimens): Use it to avoid failing syscall.
69544         test-stat-time, test-utimens: improve portability
69545         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
69546         ext4 on alpha, and for cygwin.
69547         * tests/test-utimens-common.h: New file.
69548         (nap): Factor delays into single function.
69549         * tests/test-lutimens.h (test_lutimens): Use new header.
69550         * tests/test-futimens.h (test_futimens): Likewise.
69551         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
69552         timestamps to occur from same machine, as was done previously for
69553         test_utimens.
69554         * modules/utimens-tests (Files): Ship new file.
69555         * modules/futimens-tests (Files): Likewise.
69556         Reported in part by Jim Meyering.
69558         sys_stat: sort replacement declarations
69559         * lib/sys_stat.in.h: Sort declarations.
69560         * lib/futimens.c (futimens): Fix typo.
69562 2009-10-15  Jim Meyering  <meyering@redhat.com>
69564         don't let environment settings perturb build
69565         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
69566         could cause a configure-time and/or build-time malfunction.
69567         Typically, a configure-time function-in-library test is performed
69568         via code like this:
69570           LIB_VAR=
69571           AC_SUBST([LIB_VAR])
69572           prefix_saved_LIBS=$LIBS
69573             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
69574                        [test "$ac_cv_search_FUNC" = "none required" ||
69575                         LIB_VAR=$ac_cv_search_FUNC])
69576           LIBS=$prefix_saved_LIBS
69578         However, in each of the files affected by this change, the LIB_VAR=
69579         initialization was omitted.  Thus, when set in the environment, its
69580         value would propagate into generated Makefiles when FUNC is not found
69581         in LIB_NAME.
69582         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
69583         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
69584         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
69586 2009-10-14  Eric Blake  <ebb9@byu.net>
69588         fchdir: avoid infinite recursion in mingw
69589         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
69590         recursing.
69592         test-stat-time: port to mingw
69593         * tests/test-stat-time.c (force_unlink): Return a value.
69594         (test_ctime) [W32]: Fix compilation error.
69595         (nap): Don't call usleep with too large an argument.  Use
69596         force_unlink.
69597         * doc/pastposix-functions/usleep.texi (usleep): Document the
69598         portability issue.
69600 2009-10-13  Jim Meyering  <meyering@redhat.com>
69602         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
69603         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
69604         * modules/pipe-filter-ii: Likewise.
69605         * modules/sys_socket-tests: Likewise.
69606         * modules/tsearch-tests: Likewise.
69607         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
69608         (check): Depend on it.
69610 2009-10-12  Eric Blake  <ebb9@byu.net>
69612         utimens-tests: port to NFS file systems
69613         * tests/test-utimens.h (test_utimens): Refactor utimecmp
69614         comparisons to avoid spurious failures from timestamp drift
69615         between NFS machines.
69617 2009-10-12  Eric Blake  <ebb9@byu.net>
69619         stat-time-tests: minor cleanups
69620         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
69621         * tests/test-stat-time.c (nap): Separate assignment from call.
69622         Suggested by Paolo Bonzini and Bruno Haible.
69624         sys_stat: guarantee struct timespec
69625         * lib/sys_stat.in.h (includes): Always include <time.h>
69626         * modules/sys_stat (Depends-on): Add time.
69627         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
69628         mode_t permission values.
69629         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
69630         get at subsecond timestamps.
69632 2009-10-10  Eric Blake  <ebb9@byu.net>
69634         futimens: new module
69635         * modules/futimens: New file.
69636         * lib/futimens.c (futimens): Likewise.
69637         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
69638         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
69639         we can work around Linux bugs.
69640         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
69641         * modules/sys_stat (Makefile.am): Substitute them.
69642         * lib/sys_stat.in.h (futimens): Declare it.
69643         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
69644         * doc/posix-functions/futimens.texi (futimens): Likewise.
69645         * modules/futimens-tests: New test.
69646         * tests/test-futimens.c: Likewise.
69648         utimens: introduce fdutimens
69649         * lib/utimens.h (fdutimens): New prototype.
69650         * lib/utimens.c (gl_futimens): Move guts...
69651         (fdutimens): ...to new interface.
69652         * tests/test-utimens.c (do_fdutimens): Use it.
69654         utimens: add UTIME_NOW and UTIME_OMIT support
69655         * lib/utimens.c (validate_timespec, update_timespec): New helper
69656         functions.
69657         (gl_futimens, lutimens): Use them.
69658         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
69659         stdbool, sys_stat.
69660         (Link): Mention resulting library dependency.
69661         * modules/utimecmp (Link): Likewise.
69662         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
69663         (Makefile.am): Pick up library dependency.
69664         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
69665         definition.
69666         * tests/test-sys_stat.c: Test the definitions.
69667         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
69668         * NEWS: Document library dependency.
69670         utimecmp: support symlink timestamps
69671         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
69672         hashing when possible.  Use pathconf when available.
69673         (SYSCALL_RESOLUTION): Recognize tighter resolution.
69674         * modules/utimecmp (Depends-on): Add lstat.
69676         utimens: add lutimens interface
69677         * lib/utimens.c (lutimens): New function.
69678         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
69679         * lib/utimens.h (lutimens): Declare new interface.
69680         * tests/test-utimens.c (main): Enhance test.
69681         * tests/test-lutimens.h (test_lutimens): New file.
69682         * modules/utimens-tests (Files): Distribute it.
69683         (Depends-on): Add symlink.
69684         (configure.ac): Check for usleep.
69686         utimens: validate futimens usage
69687         * lib/utimens.c (gl_futimens): Require valid fd up front, using
69688         fewer syscalls on failure later on.  Avoid compiler warning on
69689         mingw.
69690         * modules/utimens (Depends-on): Add dup2.
69692         utimens: add test
69693         * modules/utimens-tests: New test.
69694         * tests/test-utimens.h: New file.
69695         * tests/test-futimens.h: Likewise.
69696         * tests/test-utimens.c: Likewise.
69698         doc: mention timestamp portability issues
69699         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
69700         instead.
69701         * doc/posix-functions/utime.texi (utime): Likewise.
69702         * doc/posix-functions/utimes.texi (utimes): Likewise.
69703         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
69704         instead.
69705         * doc/posix-functions/futimens.texi (futimens): Mention utimens
69706         module.
69707         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
69708         Mention weakness with symlink timestamps.
69709         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
69710         to utimensat/futimens instead.
69711         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
69713         test-dup2: enhance test
69714         * tests/test-dup2.c (main): Also check AT_FDCWD.
69716         test-stat-time: avoid more spurious failures
69717         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
69718         xfs; and avoid race if the two timestamps cross quantization edge.
69720         relocatable: prefer 'file system' over 'filesystem'
69721         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
69722         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
69723         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
69724         * doc/relocatable.texi (Enabling Relocatability): Likewise.
69725         * lib/relocatable.c (compute_curr_prefix): Likewise.
69727 2009-10-10  Jim Meyering  <meyering@redhat.com>
69729         stat-time-tests: check for the usleep function
69730         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
69732 2009-10-10  Bruno Haible  <bruno@clisp.org>
69734         * modules/xnanosleep: Put the Link section after the Include section.
69736 2009-10-09  Eric Blake  <ebb9@byu.net>
69738         dup2: work around FreeBSD 6.1 bug
69739         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
69740         * doc/posix-functions/dup2.texi (dup2): Document it.
69741         Reported by Nelson H. F. Beebe and Jim Meyering.
69743         test-stat-time: port to buggy NFS clients
69744         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
69745         (test_ctime): Also skip test if mtime and ctime are skewed.
69747         maint: prefer 'file system' over 'filesystem'
69748         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
69749         * doc/posix-functions/lstat.texi (lstat): Likewise.
69750         * lib/file-has-acl.c (file_has_acl): Likewise.
69751         * lib/fwriteerror.c [TEST]: Likewise.
69752         * tests/test-areadlink.h (test_areadlink): Likewise.
69753         * tests/test-areadlinkat-with-size.c (main): Likewise.
69754         * tests/test-areadlinkat.c (main): Likewise.
69755         * tests/test-canonicalize-lgpl.c (main): Likewise.
69756         * tests/test-canonicalize.c (main): Likewise.
69757         * tests/test-fstatat.c (main): Likewise.
69758         * tests/test-linkat.c (main): Likewise.
69759         * tests/test-lstat.h (test_lstat_func): Likewise.
69760         * tests/test-mkdir.h (test_mkdir): Likewise.
69761         * tests/test-readlink.h (test_readlink): Likewise.
69762         * tests/test-remove.c (main): Likewise.
69763         * tests/test-rename.h (test_rename): Likewise.
69764         * tests/test-renameat.c (main): Likewise.
69765         * tests/test-rmdir.h (test_rmdir_func): Likewise.
69766         * tests/test-symlink.h (test_symlink): Likewise.
69767         * tests/test-symlinkat.c (main): Likewise.
69768         * tests/test-unlink.h (test_unlink_func): Likewise.
69769         * tests/test-unlinkat.c (main): Likewise.
69771         maint: make realtime library usage explicit
69772         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
69773         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
69774         * modules/settime (Link): Likewise.
69775         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
69777         test-stat-time: speed up execution
69778         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
69779         warning on mingw.
69780         (nap): New helper function.
69781         (prepare_test): Use it to reduce sleep time.
69782         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
69783         execution.
69784         * modules/stat-time-tests (configure.ac): Check for usleep.
69786 2009-10-09  Jim Meyering  <meyering@redhat.com>
69788         selinux-h: always use getfilecon wrappers
69789         * lib/getfilecon.c: New file.
69790         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
69791         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
69792         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
69793         (fgetfilecon): Provide a stub.
69794         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
69795         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
69796         file unconditionally.
69797         When <selinux/selinux.h> is found, arrange to use wrappers.
69798         * modules/selinux-h (Files): Add getfilecon.c.
69799         (Makefile.am): Substitute include-next-related bits
69800         into the now-always-generated selinux/selinux.h file.
69801         * doc/glibc-functions/lgetfilecon.texi: New file.
69802         * doc/glibc-functions/fgetfilecon.texi: New file.
69803         * doc/glibc-functions/getfilecon.texi: New file.
69804         * doc/glibc-functions/getfilecon-desc.texi: New file.
69805         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
69806         which to pull in the new files.
69807         * MODULES.html.sh (Misc): Add selinux-h.
69809 2009-10-08  Jim Meyering  <meyering@redhat.com>
69811         unistd: fix comment typo
69812         * lib/unistd.in.h (euidaccess): Fix a comment typo.
69814 2009-10-08  Eric Blake  <ebb9@byu.net>
69816         areadlink: use SIZE_MAX consistently
69817         * modules/areadlink (Depends-on): Add stdint.
69818         * modules/areadlink-with-size (Depends-on): Likewise.
69819         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
69820         gives NULL; drop sys/types, since unistd gives size_t; and add
69821         stdint for SIZE_MAX.
69822         (SIZE_MAX): Rely on headers.
69823         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
69824         and add stdint.
69825         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
69826         (SIZE_MAX): Likewise.
69827         (INITIAL_BUF_SIZE): Turn into enum.
69828         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
69830 2009-10-08  Jim Meyering  <meyering@redhat.com>
69832         areadlinkat: avoid compilation failure
69833         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
69834         Fix typo in comment.
69836 2009-10-07  Eric Blake  <ebb9@byu.net>
69838         areadlinkat-with-size: new module
69839         * modules/areadlinkat-with-size: New module.
69840         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
69841         * lib/areadlink.h (areadlinkat): Declare it.
69842         * MODULES.html.sh (File system functions): Mention it.
69843         * modules/areadlinkat-with-size-tests: New test.
69844         * tests/test-areadlinkat-with-size.c: New file.
69846         xreadlinkat: new module
69847         * modules/xreadlinkat: New module.
69848         * lib/xreadlinkat.c (xreadlinkat): New file.
69849         * lib/xreadlink.h (xreadlinkat): Declare it.
69850         * MODULES.html.sh (File system functions): Mention it.
69852         areadlinkat: new module
69853         * lib/at-func.c (FUNC_FAIL): New define.
69854         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
69855         * modules/areadlinkat: New module.
69856         * lib/linkat.c (areadlinkat): Move...
69857         * lib/areadlinkat.c (areadlinkat): ...to new file.
69858         * lib/areadlink.h (areadlinkat): Declare it.
69859         * modules/linkat (Depends-on): Add areadlinkat.
69860         * MODULES.html.sh (File system functions): Mention it.
69861         * modules/areadlinkat-tests: New test.
69862         * tests/test-areadlinkat.c: New file.
69864         areadlink, areadlink-with-size: add tests
69865         * modules/areadlink-tests: New test.
69866         * modules/areadlink-with-size-tests: Likewise.
69867         * tests/test-areadlink.h: New file.
69868         * tests/test-areadlink.c: Likewise.
69869         * tests/test-areadlink-with-size.c: Likewise.
69871         maint: minor cleanups
69872         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
69873         _UNUSED_PARAMETER_ instead.
69874         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
69875         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
69876         * modules/linkat-tests (Files): Distribute test-link.h.
69878         openat, utimens: whitespace cleanup
69879         * lib/openat.c: Prefer space throughout, rather than mix of 8
69880         spaces vs. tabs.
69881         * lib/at-func.c: Likewise.
69882         * lib/utimens.c: Likewise.
69884         openat: avoid using wrong fd
69885         * lib/openat.c (openat_permissive): Reject user's fd if saving the
69886         working directory chooses same fd.
69887         * lib/at-func.c (AT_FUNC_NAME): Likewise.
69889         mkdir, mkdirat: fix cygwin 1.5.x bug
69890         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
69891         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
69892         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
69893         bug.
69894         (gl_PREREQ_MKDIR): Delete unused macro.
69895         * modules/mkdir (Files): Track file rename.
69896         (configure.ac): Update macro name.
69897         * modules/openat (Depends-on): Add mkdir.
69898         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
69900         mkdir, mkdirat: add tests
69901         * modules/mkdir-tests: New test.
69902         * tests/test-mkdir.h: New file.
69903         * tests/test-mkdir.c: Likewise.
69904         * tests/test-mkdirat.c: Likewise.
69905         * modules/openat-tests (Files): Add new files.
69906         (Makefile.am): Run new test.
69908 2009-10-06  Eric Blake  <ebb9@byu.net>
69910         doc: tweak *at function documentation
69911         * doc/posix-functions/faccessat.texi (faccessat): Mention
69912         known issue with replacement.
69913         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
69914         * doc/posix-functions/linkat.texi (linkat): Likewise.
69915         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
69916         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
69917         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
69918         * doc/posix-functions/renameat.texi (renameat): Likewise.
69919         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
69921         openat: fix GNU/Hurd bug in unlinkat
69922         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
69923         broken.
69924         * doc/posix-functions/unlink.texi (unlink): Document this.
69925         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
69927         fdopendir: fix GNU/Hurd bug
69928         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
69929         allowing non-directory fds.
69930         * lib/fdopendir.c (rpl_fdopendir): Work around it.
69931         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
69932         * modules/dirent (Makefile.am): Substitute it.
69933         * lib/dirent.in.h (fdopendir): Declare replacement.
69934         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
69935         * tests/test-fdopendir.c (main): Test something other than
69936         /dev/null, since on Hurd that behaves like a directory.
69938         test-symlink: port to GNU/Hurd
69939         * tests/test-symlink.h (test_symlink): Relax expected errno.
69941         doc: tweak more cygwin information
69942         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
69943         now compatible with glibc.
69944         * doc/posix-functions/getopt.texi (getopt): Likewise.
69946         getopt-gnu: add another test
69947         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
69948         guarantee behavior relied on by m4.
69949         * tests/test-getopt.c (main): Use it.
69950         * modules/getopt-posix-tests (Depends-on): Add setenv.
69951         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
69953         getopt: fix compilation on darwin
69954         * lib/getopt.in.h (includes): Leave breadcrumbs during system
69955         include.
69956         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
69957         Reported by Ludovic Courtès.
69959 2009-10-06  Bruno Haible  <bruno@clisp.org>
69961         * modules/size_max (Description): Discourage its use.
69962         Reported by Simon Josefsson.
69964 2009-10-06  Jim Meyering  <meyering@redhat.com>
69966         linkat: avoid compilation failure
69967         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
69969 2009-10-05  Eric Blake  <ebb9@byu.net>
69971         linkat: support Linux 2.6.17
69972         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
69973         linkat on Linux, but allow cache variable override.
69974         * lib/linkat.c (rpl_linkat): Define override.
69975         * modules/linkat (Depends-on): Add symlinkat.
69976         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
69977         * modules/unistd (Makefile.am): Substitute it.
69978         * lib/unistd.in.h (linkat): Declare replacement.
69979         Reported by Pádraig Brady.
69981         quotearg: port test to systems with C.UTF-8 locale
69982         * tests/test-quotearg.c (struct result_strings): Add another
69983         member, differentiating between C.ASCII and C.UTF-8 handling.
69984         (compare_strings): Add parameter.
69985         (main): Adjust all callers.
69987         getopt: avoid clash with FreeBSD _getopt_internal
69988         * lib/getopt.in.h (_getopt_internal): Override the name.
69989         * lib/getopt_int.h (includes): Pick up any overrides.
69990         Reported by Reuben Thomas.
69992         hash: allow C89 compilation
69993         * lib/hash.c (check_tuning): Move declaration before statement.
69994         Reported by Reuben Thomas.
69996 2009-10-05  Karl Berry  <karl@gnu.org>
69998         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
70000 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
70001             Bruno Haible  <bruno@clisp.org>
70003         * lib/uname.c (uname): Use a table-driven algorithm to compute
70004         Windows NT versions.
70006 2009-10-04  Bruno Haible  <bruno@clisp.org>
70008         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
70009         program_invocation_short_name.
70010         * modules/progname (configure.ac): Test for presence of
70011         program_invocation_short_name.
70012         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
70014 2009-10-04  Bruno Haible  <bruno@clisp.org>
70016         * lib/progname.c (set_program_name): Fix comment.
70017         Reported by Jim Meyering.
70019 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
70020             Bruno Haible  <bruno@clisp.org>
70022         * lib/uname.c: Include <string.h>.
70023         (uname): Do only one call to GetVersionEx in the common case.
70025 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
70026             Bruno Haible  <bruno@clisp.org>
70028         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
70029         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
70030         (uname): Add support for Windows CE and various non-x86 CPU types.
70032 2009-10-03  Bruno Haible  <bruno@clisp.org>
70034         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
70035         invocation to tests/configure.ac.
70036         Reported by Ian Beckwith <ianb@erislabs.net>.
70038 2009-10-02  Eric Blake  <ebb9@byu.net>
70040         fchdir: avoid compiler warning
70041         * lib/fchdir.c (canonicalize_file_name)
70042         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
70044         test-open: support mingw errno values
70045         * tests/test-open.h (test_open): Relax test.
70046         * tests/test-fopen.h (test_fopen): Likewise.
70047         * tests/test-openat-safer.c (main): Likewise.
70049         open: fix opening directory on mingw
70050         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
70052         test-open: on GNU/Hurd, /dev/null is a directory
70053         * tests/test-fopen.h (main): Rename...
70054         (test_fopen): ...to this.  Use a guaranteed non-directory when
70055         confirming open behavior on trailing slash.
70056         * tests/test-openat-safer.c (main): Likewise.
70057         * tests/test-open.h (main): Likewise....
70058         (test_open): ...to this.
70059         * tests/test-fopen.c (main): Adjust caller.
70060         * tests/test-fopen-safer.c (main): Likewise.
70061         * tests/test-open.c (main): Likewise.
70062         * tests/test-fcntl-safer.c (main): Likewise.
70063         Reported by Samuel Thibault.
70065         rename, fchdir: don't ignore chdir failure
70066         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
70067         * lib/rename.c (rpl_rename) [W32]: Likewise.
70068         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
70069         an empty destination directory if source cannot be renamed,
70070         although there is still possibility for failure.
70071         * doc/posix-functions/rename.texi (rename): Document the race.
70072         Reported by Jim Meyering.
70074         maint: cleanup whitespace in recent commits
70075         * lib/rename.c (rpl_rename): Remove tabs.
70076         * tests/test-link.h (test_link): Likewise.
70077         * lib/fchdir.c (get_name): Likewise.
70078         Reported by Jim Meyering.
70080 2009-10-02  Ben Pfaff  <blp@gnu.org>
70082         relocatable-prog-wrapper: Add missing dependency on
70083         double-slash-root.
70084         * modules/relocatable-prog-wrapper: Add dependency.
70085         Reported by Ian Beckwith <ianb@erislabs.net>.
70087 2009-10-02  Eric Blake  <ebb9@byu.net>
70089         renameat: fix Solaris bugs
70090         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
70091         needed fixing.
70092         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
70093         * modules/stdio (Makefile.am): Substitute it.
70094         * lib/stdio.in.h (renameat): Declare replacement.
70095         * lib/renameat.c (rpl_renameat): Implement fix.
70097         renameat: new module
70098         * modules/renameat: New file.
70099         * lib/renameat.c (renameat): Likewise.
70100         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
70101         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
70102         * modules/stdio (Makefile.am): Substitute them.
70103         * lib/stdio.in.h (renameat): Declare it.
70104         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
70105         * doc/posix-functions/renameat.texi (renameat): Likewise.
70106         * modules/renameat-tests: New test.
70107         * tests/test-renameat.c: Likewise.
70109         rename: fix mingw bugs
70110         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
70111         directory overwrite bugs.
70113         rename: fix another cygwin 1.5 bug
70114         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
70115         checks.
70116         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
70117         unnecessary cygwin workarounds.  Also work around bug with moving
70118         full directory onto an empty one.
70119         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
70121         rename-dest-slash: merge into rename module
70122         * modules/rename-dest-slash (Status): Mark obsolete.
70123         (Depends-on): Add rename.
70124         (Files): Let rename do it all.
70125         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
70126         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
70127         * m4/rename-dest-slash.m4: ...so this file can be deleted.
70128         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
70129         * lib/rename.c (rpl_rename): Update comments.
70131         rename: fix cygwin 1.5.x bugs
70132         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
70133         * lib/rename.c (rpl_rename): Work around them.
70134         * modules/rename (Depends-on): Add same-inode.
70136         rename: fix Solaris 10 bug
70137         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
70138         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
70139         was the only bug.
70141         rename: fix Solaris 9 bug
70142         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
70143         on non-directory.  Avoid calling exit.
70144         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
70145         strdup.
70146         * modules/rename-tests (Depends-on): Drop lstat.
70147         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
70148         (gl_PREREQ_RENAME): Delete unused macro.
70150         rename-dest-slash: fix NetBSD bug
70151         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
70152         links.
70153         * modules/rename-dest-slash (Depends-on): Add same-inode.
70155         rename-tests: new test, exposes several platform bugs
70156         * modules/rename-tests: New file.
70157         * tests/test-rename.h: Likewise.
70158         * tests/test-rename.c: Likewise.
70159         * doc/posix-functions/rename.texi (rename): Improve documentation,
70160         including bugs that will eventually be fixed in gnulib.
70162 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
70164         * lib/uname.c: Include <stdlib.h>
70165         (uname): Assume version info is available.
70167 2009-10-02  Jim Meyering  <meyering@redhat.com>
70169         gnu-web-doc-update: correct --help output
70170         * build-aux/gnu-web-doc-update: Make --help output relevant.
70172         gnu-web-doc-update: add standard options
70173         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
70175         gnu-web-doc-update: New module.
70176         Use this script to automatically update the on-line web documentation
70177         for your GNU project at http://www.gnu.org/software/$pkg/manual/
70178         * modules/gnu-web-doc-update: New file, from coreutils.
70179         * build-aux/gnu-web-doc-update: New script.
70181 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
70183         link: LoadLibrary is not needed.
70184         * lib/link.c: Use GetModuleHandle.
70186 2009-10-01  Eric Blake  <ebb9@byu.net>
70188         getopt: bump serial number
70189         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
70190         change.
70192         tests: tighten link, rmdir, and remove tests
70193         * tests/test-link.h (includes): No need to use <config.h> here.
70194         Clean up if directory hard link was created, otherwise test for
70195         trailing '.'.
70196         * tests/test-linkat.c (main): Simplify.
70197         * tests/test-remove.c (main): Enhance test for trailing '.'.
70198         * tests/test-rmdir.h (test_rmdir_func): Likewise.
70200 2009-10-01  Jim Meyering  <meyering@redhat.com>
70202         maint.mk: requiring "make major" was annoying, for a "minor" release.
70203         What is intended is "stable", to contrast with alpha and beta,
70204         so require "make stable", not "make major".
70205         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
70206         (get_tool_versions): Likewise.
70207         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
70209 2009-09-30  Ben Pfaff  <blp@gnu.org>
70211         Fix broken build of replacement for Windows tmpfile().
70212         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
70213         flags argument added along with the 'mkostemp' module.
70215 2009-09-28  Bruno Haible  <bruno@clisp.org>
70217         Avoid identifier clash with POSIX function 'remove' defined as a macro.
70218         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
70219         to 'remove_elt'.
70220         (gl_list_remove): Update.
70221         * lib/gl_list.c (gl_list_remove): Update.
70222         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
70223         to 'remove_elt'.
70224         (gl_oset_remove): Update.
70225         * lib/gl_list.c (gl_oset_remove): Update.
70226         Reported by Eric Blake.
70228 2009-09-28  Eric Blake  <ebb9@byu.net>
70230         doc: mention yet more cygwin 1.7 status
70231         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
70232         cygwin.
70233         * doc/glibc-functions/execvpe.texi (execvpe): New file.
70234         * doc/gnulib.texi (Glibc unistd.h): Mention it.
70236         argp: fix test failure
70237         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
70238         that are not upper-case.  Pass correct range to tolower.
70240 2009-09-27  Jim Meyering  <meyering@redhat.com>
70242         test-yesno: work around sparc-dash here-document infelicity
70243         Without this change, the literal \177 byte in a here document
70244         would make dash 0.5.5.1-3 access uninitialized memory.
70245         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
70246         Instead, use a marker, "@", and filter through tr to create the desired
70247         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
70249 2009-09-27  Bruno Haible  <bruno@clisp.org>
70251         Disable untested support for new flavours of ACLs on AIX.
70252         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
70253         progress.
70254         * lib/set-mode-acl.c (qset_acl): Likewise.
70256 2008-12-07  Bruno Haible  <bruno@clisp.org>
70258         Add support for new flavours of ACLs on AIX. (Untested.)
70259         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
70260         (file_has_acl): Add support for newer AIX.
70261         * lib/set-mode-acl.c (qset_acl): Likewise.
70262         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
70263         Rainer Tammer <tammer@tammer.net>.
70265 2009-09-26  Eric Blake  <ebb9@byu.net>
70267         argp: fix compilation of getopt
70268         * lib/getopt.in.h (includes): Use different guard than glibc.
70269         Reported by Sergey Poznyakoff.
70271         doc: mention more cygwin 1.7 status
70272         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
70273         bug.
70274         * doc/posix-functions/execl.texi (execl): Likewise.
70275         * doc/posix-functions/execle.texi (execle): Likewise.
70276         * doc/posix-functions/execlp.texi (execlp): Likewise.
70277         * doc/posix-functions/execv.texi (execv): Likewise.
70278         * doc/posix-functions/execve.texi (execve): Likewise.
70279         * doc/posix-functions/execvp.texi (execvp): Likewise.
70280         * doc/glibc-functions/canonicalize_file_name.texi
70281         (canonicalize_file_name): Cygwin 1.7 now provides this.
70282         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
70283         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
70284         on AT_SYMLINK_NOFOLLOW.
70286 2009-09-24  Eric Blake  <ebb9@byu.net>
70288         test-linkat: make test more robust
70289         * tests/test-linkat.c (main): Avoid collision with EEXIST.
70291         getopt: fix inclusion guards for cygwin
70292         * modules/getopt-posix (Depends-on): Add include-next.
70293         (Makefile.am): Substitute more items in replacement header.
70294         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
70295         <getopt.h>.
70296         * lib/getopt.in.h (includes): Use split inclusion guard, and
70297         prefer <getopt.h> over include <unistd.h> when one is present.
70298         (option): Also override name of 'struct option'.
70300         same-inode: revert prior change; it is not yet ready
70301         * NEWS: Undo mention of this change.
70302         * lib/same-inode.h (same-inode.h): Undo tri-state change.
70303         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
70304         * lib/cycle-check.c (cycle_check): Likewise.
70305         * lib/same.c (same_name): Likewise.
70306         * lib/at-func2.c (at_func2): Likewise.
70308 2009-09-23  Eric Blake  <ebb9@byu.net>
70310         linkat: new module
70311         * modules/linkat: New file.
70312         * lib/at-func2.c (at_func2): Likewise.
70313         * lib/linkat.c (linkat): Likewise.
70314         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
70315         * lib/openat-priv.h (at_func2): Add declaration.
70316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
70317         * modules/unistd (Makefile.am): Substitute them.
70318         * lib/unistd.in.h (linkat): Declare it.
70319         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
70320         * doc/posix-functions/linkat.texi (linkat): Likewise.
70321         * doc/posix-functions/link.texi (link): Tweak wording.
70322         * tests/test-link.c (main): Move guts...
70323         * tests/test-link.h (test_link): ...into new file.
70324         * modules/linkat-tests: New test.
70325         * tests/test-linkat.c: Likewise.
70326         * modules/link-tests (Files): Ship new file.
70327         (Depends-on): Add stdbool.
70329         dirname: add library-safe mdir_name
70330         * lib/dirname.h (mdir_name): New prototype.
70331         * lib/dirname.c (dir_name): Move guts...
70332         (mdir_name): ...to new function that avoids xalloc_die.
70334         fchdir: another mingw fix
70335         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
70336         * lib/fchdir.c (get_name): New helper method; skips canonicalize
70337         on mingw (where it has not yet been ported), and make it optional
70338         elsewhere.
70339         (_gl_register_fd): Use it.
70341         same-inode: make SAME_INODE tri-state, to port to mingw
70342         * NEWS: Mention this change.
70343         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
70344         st_ino always being 0.
70345         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
70346         * lib/cycle-check.c (cycle_check): Likewise.
70347         * lib/same.c (same_name): Likewise.
70349         lstat: avoid mingw compilation error
70350         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
70351         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
70352         lstat ourselves.
70353         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
70354         was adequate.
70355         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
70356         the checks for lstat.
70357         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
70359         link: fix test failure on Solaris 9
70360         * lib/link.c (rpl_link): Don't assume link will catch bogus
70361         trailing slash on source.
70363         test-symlinkat: enhance test
70364         * tests/test-readlink.c (main): Move guts...
70365         * tests/test-readlink.h (test_readlink): ...into new file.
70366         * tests/test-symlink.c (main): Move guts...
70367         * tests/test-symlink.h (test_symlink): ...into new file.
70368         * tests/test-symlinkat.c (main): Use new files for further
70369         coverage.
70370         (do_symlink, do_readlink): New helper functions.
70371         * modules/symlink-tests (Files): Ship new file.
70372         (Depends-on): Add stdbool.
70373         * modules/readlink-tests (Files): Ship new file.
70374         (Depends-on): Add stdbool.
70375         * modules/symlinkat-tests (Files): Use new files.
70377 2009-09-23  Eric Blake  <ebb9@byu.net>
70379         readlink: document portability issue with symlink length
70380         * doc/posix-functions/lstat.texi (lstat): Mention that some file
70381         systems have bogus st_size on symlinks, and mention the
70382         areadlink-with-size module.
70383         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
70384         * doc/posix-functions/readlink.texi (readlink): Mention the
70385         areadlink module, and ERANGE failure.
70386         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
70387         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
70389         readlink: fix Solaris 9 bug with trailing slash
70390         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
70391         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
70392         * doc/posix-functions/readlink.texi (readlink): Document this.
70393         * modules/readlink-tests: New test.
70394         * tests/test-readlink.c: Likewise.
70396         readlink: fix cygwin 1.5.x bug with return type
70397         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
70398         * lib/unistd.in.h (readlink): Use ssize_t.
70399         * lib/readlink.c (readlink): Likewise.
70400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
70401         * modules/unistd (Makefile.am): Substitute it.
70402         * lib/unistd.in.h (readlink): Declare replacement.
70403         * doc/posix-functions/readlink.texi (readlink): Document this.
70405         symlink: use throughout gnulib
70406         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
70407         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
70408         symlink is not used.
70409         * modules/symlinkat (Depends-on): Add symlink.
70410         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
70411         * modules/canonicalize-tests (Depends-on): Likewise.
70412         * modules/lstat-tests (Depends-on): Likewise.
70413         * modules/openat-tests (Depends-on): Likewise.
70414         * modules/remove-tests (Depends-on): Likewise.
70415         * modules/rmdir-tests (Depends-on): Likewise.
70416         * modules/unlink-tests (Depends-on): Likewise.
70417         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
70418         * tests/test-canonicalize.c (symlink): Likewise.
70419         * tests/test-fstatat.c (symlink): Likewise.
70420         * tests/test-lstat.c (symlink): Likewise.
70421         * tests/test-remove.c (symlink): Likewise.
70422         * tests/test-rmdir.c (symlink): Likewise.
70423         * tests/test-unlink.c (symlink): Likewise.
70424         * tests/test-unlinkat.c (symlink): Likewise.
70426         symlink: new module, for Solaris 9 bug
70427         * modules/symlink: New file.
70428         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
70429         * lib/symlink.c: Likewise.
70430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
70431         * modules/unistd (Makefile.am): Substitute them.
70432         * lib/unistd.in.h (symlink): Declare replacement.
70433         * MODULES.html.sh (File system functions): Mention it.
70434         * doc/posix-functions/symlink.texi (symlink): Likewise.
70435         * modules/symlink-tests: New test.
70436         * tests/test-symlink.c: Likewise.
70438 2009-09-23  Bruno Haible  <bruno@clisp.org>
70440         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
70441         when needed.
70442         Test case: gnulib-tool --import --with-tests atexit inttypes.
70443         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
70445 2009-09-23  Bruno Haible  <bruno@clisp.org>
70447         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
70448         subcommand, not in a subshell.
70450 2009-09-22  Eric Blake  <ebb9@byu.net>
70452         unistd: sort replacement declarations
70453         * lib/unistd.in.h: Sort declarations.
70455         open, openat: minor optimization
70456         * lib/open.c (open): If open succeeded, len is non-zero.
70457         * lib/openat.c (rpl_openat): Likewise.
70459         link-follow: ensure correct result
70460         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
70461         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
70462         distinguish between possible failures.
70464 2009-09-21  Eric Blake  <ebb9@byu.net>
70466         fts: avoid compiler warning
70467         * lib/fts.c (dirent_inode_sort_may_be_useful)
70468         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
70470 2009-09-19  Bruno Haible  <bruno@clisp.org>
70472         * lib/progreloc.c (canonicalize_file_name): New declaration.
70474 2009-09-19  Eric Blake  <ebb9@byu.net>
70476         link: fix quoting
70477         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
70479         openat: fix openat bugs on Solaris 9
70480         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
70481         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
70482         * modules/openat (Depends-on): Add open.
70483         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
70484         * modules/fcntl-h (Makefile.am): Substitute it.
70485         * lib/fcntl.in.h (openat): Declare replacement.
70486         * doc/posix-functions/openat.texi (openat): Document this.
70488         openat: move fstatat and unlinkat into correct files
70489         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
70490         compiled.
70491         * lib/openat.c (fstatat, unlinkat): Move...
70492         * lib/fstatat.c (fstatat): ...into correct files.
70493         * lib/unlinkat.c (unlinkat): Likewise.
70495         openat: fix unlinkat bugs on Solaris 9
70496         * lib/unlinkat.c (unlinkat): New file.
70497         * modules/openat (Depends-on): Add unlink.
70498         (Files): Distribute it.
70499         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
70500         trailing slash behavior is broken.
70501         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
70502         * modules/unistd (Makefile.am): Substitute it.
70503         * lib/unistd.in.h (unlinkat): Declare replacement.
70504         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
70506         openat: fix fstatat bugs on Solaris 9
70507         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
70508         stat.
70509         * doc/posix-functions/fstatat.texi (fstatat): Document this.
70511         test-unlinkat: enhance test, to expose Solaris 9 bug
70512         * tests/test-unlink.c (main): Factor guts...
70513         * tests/test-unlink.h (test_rmdir_func): ...into new file.
70514         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
70515         * tests/test-rmdir.c (main): Adjust caller.
70516         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
70517         (unlinker): New helper function.
70518         (rmdirat): Enhance check.
70519         * modules/rmdir-tests (Depends-on): Add stdbool.
70520         * modules/unlink-tests (Depends-on): Likewise.
70521         (Files): Add test-unlink.h.
70522         * modules/openat-tests (Files): Likewise.
70523         (Depends-on): Add unlinkdir.
70525         test-fstatat: new test, to expose Solaris 9 bugs
70526         * tests/test-stat.c (main): Factor guts...
70527         * tests/test-stat.h (test_stat_func): ...into new file.
70528         * tests/test-lstat.c (main): Factor guts...
70529         * tests/test-lstat.h (test_lstat_func): ...into new file.
70530         * tests/test-fstatat.c: New file.
70531         * modules/stat-tests (Files): Add test-stat.h.
70532         * modules/lstat-tests (Files): Add test-lstat.h.
70533         (Depends-on): Add stdbool.
70534         * modules/openat-tests (Depends-on): Add pathmax.
70535         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
70536         (Makefile.am): Run new test.
70538         remove: new module, for mingw and Solaris 9 bugs
70539         * modules/remove: New file.
70540         * lib/remove.c: Likewise.
70541         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
70542         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
70543         * modules/stdio (Makefile.am): Use them.
70544         * lib/stdio.in.h (remove): Declare replacement.
70545         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
70546         * doc/posix-functions/remove.texi (remove): Likewise.
70547         * modules/remove-tests: New test.
70548         * tests/test-remove.c: Likewise.
70550         unlink: new module, for Solaris 9 bug
70551         * modules/unlink: New file.
70552         * lib/unlink.c: Likewise.
70553         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
70554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
70555         * modules/unistd (Makefile.am): Use them.
70556         * lib/unistd.in.h (stat): Declare replacement.
70557         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
70558         * doc/posix-functions/unlink.texi (unlink): Likewise.
70559         * modules/unlink-tests: New test.
70560         * tests/test-unlink.c: Likewise.
70562         lstat: fix Solaris 9 bug
70563         * lib/lstat.c (lstat): Also check for trailing slash on
70564         non-symlink, non-directories.  Use stat module to simplify logic.
70565         * doc/posix-functions/lstat.texi (lstat): Document it.
70566         * modules/lstat-tests (Depends-on): Add errno, same-inode.
70567         (configure.ac): Check for symlink.
70568         * tests/test-lstat.c (main): Add more tests.
70570         stat: add as dependency to other modules
70571         * modules/chown (Depends-on): Add stat.
70572         * modules/euidaccess (Depends-on): Likewise.
70573         * modules/fchdir (Depends-on): Likewise.
70574         * modules/isdir (Depends-on): Likewise.
70575         * modules/link (Depends-on): Likewise.
70576         * modules/lstat (Depends-on): Likewise.
70577         * modules/mkdir-p (Depends-on): Likewise.
70578         * modules/modechange (Depends-on): Likewise.
70579         * modules/open (Depends-on): Likewise.
70580         * modules/readlink (Depends-on): Likewise.
70581         * modules/same (Depends-on): Likewise.
70583         stat: fix Solaris 9 bug
70584         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
70585         slash.
70586         * lib/stat.c (rpl_stat): Work around it.
70587         * doc/posix-functions/stat.texi (stat): Update documentation.
70589         stat: new module, for mingw bug
70590         * modules/stat: New file.
70591         * lib/stat.c: Likewise.
70592         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
70593         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
70594         * modules/sys_stat (Makefile.am): Use them.
70595         * lib/sys_stat.in.h (stat): Declare replacement.
70596         * lib/openat.c (fstatat): Deal with lstat and stat being function
70597         macros.
70598         * modules/openat (Depends-on): Add inline.
70599         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
70600         * doc/posix-functions/stat.texi (stat): Likewise.
70601         * modules/stat-tests: New test.
70602         * tests/test-stat.c: Likewise.
70604 2009-09-19  Jim Meyering  <meyering@redhat.com>
70606         syntax-check: detect unnecessary inclusion of canonicalize.h
70607         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
70609 2009-09-19  Eric Blake  <ebb9@byu.net>
70611         canonicalize-lgpl: adjust clients to use correct header
70612         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
70613         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
70614         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
70615         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
70616         * lib/progreloc.c (includes): Likewise.
70618 2009-09-19  Jim Meyering  <meyering@redhat.com>
70620         test-posixtm.c: correct a comment
70621         * tests/test-posixtm.c: Correct first-line comment.
70622         Spotted by Eric Blake.
70624 2009-09-16  Jim Meyering  <meyering@redhat.com>
70626         posixtm-tests: make T const-correct; add a test case
70627         * tests/test-posixtm.c (T): Declare const.
70628         Add a test for -(2^31+1).
70629         Remove useless can-succeed-only-in-2002 test.
70631         posixtm-tests: adjust the sole failing test
70632         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
70633         expected output matches what mktime now produces.  Cross-checked via
70634         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
70636         posixtm: move #ifdef'd tests into a new module
70637         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
70638         * tests/test-posixtm.c: ... this new file.
70639         * modules/posixtm-tests: New module.
70641 2009-09-19  Eric Blake  <ebb9@byu.net>
70643         openat: simplify use of at-func.c
70644         * lib/at-func.c (includes): Include prerequisites here, to
70645         simplify requirements on client files.
70646         * lib/openat-priv.h: Add double-inclusion guard.
70647         * lib/faccessat.c (includes): Simplify.
70648         * lib/fchmodat.c (includes): Likewise.
70649         * lib/fchownat.c (includes): Likewise.
70650         * lib/mkdirat.c (includes): Likewise.
70651         * lib/mkfifoat.c (includes): Likewise.
70652         * lib/symlinkat.c (includes): Likewise.
70654         openat: allow return of fd 0
70655         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
70656         * modules/save-cwd (Depends-on): Replace fcntl-safer with
70657         unistd-safer.
70658         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
70659         <fcntl.h>; this module does not leak fds.
70660         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
70661         must be allowed to return 0, leaving openat_safer to add the
70662         safety.
70663         (openat_permissive): Avoid writing to just-opened fd 2 if
70664         restoring the current directory fails.
70665         * lib/openat-die.c (openat_restore_fail): Add comment.
70666         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
70667         (save_cwd): Guarantee safe fd, but without use of open_safer.
70668         * tests/test-openat.c: New test.
70669         * modules/openat-tests (Files, Makefile.am): Distribute and build
70670         new file.
70672         relocatable-prog-wrapper: fix build
70673         * modules/relocatable-prog-wrapper (Files): Update name of
70674         canonicalize m4 file, broken on 2009-09-17.
70675         Reported by emad hajjar <aleppos@hotmail.com>.
70677 2009-09-19  Bruno Haible  <bruno@clisp.org>
70679         * lib/safe-alloc.h: Use the standard header with GPL copyright.
70680         * lib/safe-alloc.c: Likewise.
70681         Reported by Ian Beckwith <ianb@erislabs.net>.
70683 2009-09-18  Bruno Haible  <bruno@clisp.org>
70685         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
70686         Reported by <erobles@sensacd.com.mx>.
70688 2009-09-17  Eric Blake  <ebb9@byu.net>
70690         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
70691         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
70692         slashes when checking if last component is missing.
70693         * tests/test-canonicalize.c (main): Test this.
70695         canonicalize, canonicalize-lgpl: honor // if distinct from /
70696         * modules/canonicalize (Files): Add double-slash-root.m4.
70697         * modules/canonicalize-lgpl (Files): Likewise.
70698         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
70699         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
70700         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
70701         fallback definition.
70702         (canonicalize_filename_mode): Use it to protect //.
70703         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
70704         (__realpath): Likewise.
70705         * tests/test-canonicalize.c (main): Test this.
70706         * tests/test-canonicalize-lgpl.c (main): Likewise.
70707         * modules/canonicalize-tests (Depends-on): Add same-inode.
70708         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
70710         canonicalize-lgpl: fix glibc bug with trailing slash
70711         * m4/canonicalize-lgpl.m4: Move contents...
70712         * m4/canonicalize.m4: ...here.
70713         (gl_CANONICALIZE_LGPL): Factor realpath check...
70714         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
70715         glibc 2.3.5 bug, fixed 2005-04-27.
70716         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
70717         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
70718         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
70719         * modules/canonicalize-lgpl (Files): Manage file rename.
70720         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
70721         * modules/stdlib (Makefile.am): Substitute witness.
70722         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
70723         is needed.
70724         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
70725         replacement is required.
70726         * lib/canonicalize.c (canonicalize_file_name): Likewise.
70727         * doc/glibc-functions/canonicalize_file_name.texi
70728         (canonicalize_file_name): Document this.
70729         * doc/posix-functions/realpath.texi (realpath): Likewise.
70731         canonicalize-lgpl: reject non-directory with trailing slash
70732         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
70733         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
70734         catches failures in glibc 2.3.5.
70735         * tests/test-canonicalize.c (main): Likewise.
70737         canonicalize-lgpl: use native realpath if it works
70738         * lib/canonicalize-lgpl.c (realpath): Guard with
70739         FUNC_REALPATH_WORKS.
70740         * lib/stdlib.in.h (realpath): Make declaration optional based on
70741         HAVE_REALPATH.
70742         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
70743         native realpath works.
70744         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
70745         * modules/stdlib (Makefile.am): Substitute witness.
70747         canonicalize, canonicalize-lgpl: use <stdlib.h>
70748         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
70749         (Include): Mention <stdlib.h>.
70750         (configure.ac): Mention functions we provide.
70751         * modules/canonicalize (configure.ac): Likewise.
70752         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
70753         realpath if canonicalize_file_name is missing.
70754         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
70755         * modules/stdlib (Makefile.am): Substitute witnesses.
70756         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
70757         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
70758         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
70759         * NEWS: Document this.
70760         * doc/glibc-functions/canonicalize_file_name.texi
70761         (canonicalize_file_name): Likewise.
70762         * doc/posix-functions/realpath.texi (realpath): Likewise.
70763         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
70765         test-canonicalize: consolidate into single C program
70766         * tests/test-canonicalize.sh: Delete; move setup into...
70767         * tests/test-canonicalize.c (main): ...the program, making it
70768         easier to run in debugger.  Add some tests.
70769         * modules/canonicalize-tests (Files): Remove unused file.
70770         (Depends-on): Add progname.
70771         (configure.ac, Makefile.am): Simplify.
70773         test-canonicalize-lgpl: consolidate into single C program
70774         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
70775         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
70776         easier to run in debugger.  Add some tests.
70777         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
70778         (configure.ac, Makefile.am): Simplify.
70780         canonicalize: avoid resolvepath
70781         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
70782         unnecessary checks.
70783         * lib/canonicalize.c (includes): Simplify.
70784         (canonicalize_file_name): Drop resolvepath implementation.
70785         * modules/canonicalize (Depends-on): Drop filenamecat.
70787         canonicalize: don't lose errno
70788         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
70789         over calls to free.
70791         canonicalize: simplify errno handling
70792         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
70793         assignment.
70795         canonicalize, canonicalize-lgpl: update module dependencies
70796         * modules/canonicalize (Depends-on): Add extensions, lstat,
70797         pathmax, stdlib.
70798         (Files): Drop pathmax.h.
70799         (configure.ac): Adjust macro name.
70800         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
70801         lstat, stdlib, sys_stat.
70802         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
70803         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
70804         extensions.
70805         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
70806         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
70807         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
70808         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
70809         declaration, if available.
70810         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
70811         we can rely on the readlink module.
70812         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
70813         (includes): Use <unistd.h> unconditionally.
70815 2009-09-17  Eric Blake  <ebb9@byu.net>
70817         maint: make Include sections of modules consistent
70818         * modules/alloca: Use only header name; no need to list #include.
70819         * modules/alloca-opt: Likewise.
70820         * modules/arpa_inet: Likewise.
70821         * modules/canon-host: Likewise.
70822         * modules/configmake: Likewise.
70823         * modules/dirent: Likewise.
70824         * modules/eealloc: Likewise.
70825         * modules/environ: Likewise.
70826         * modules/fchdir: Likewise.
70827         * modules/fcntl: Likewise.
70828         * modules/fcntl-h: Likewise.
70829         * modules/gethrxtime: Likewise.
70830         * modules/gettime: Likewise.
70831         * modules/ignore-value: Likewise.
70832         * modules/inet_ntop: Likewise.
70833         * modules/inet_pton: Likewise.
70834         * modules/inttypes: Likewise.
70835         * modules/isnand-nolibm: Likewise.
70836         * modules/isnanf-nolibm: Likewise.
70837         * modules/mbchar: Likewise.
70838         * modules/mbfile: Likewise.
70839         * modules/mbiter: Likewise.
70840         * modules/mbuiter: Likewise.
70841         * modules/netdb: Likewise.
70842         * modules/netinet_in: Likewise.
70843         * modules/nproc: Likewise.
70844         * modules/pagealign_alloc: Likewise.
70845         * modules/poll: Likewise.
70846         * modules/printf-frexp: Likewise.
70847         * modules/pthread: Likewise.
70848         * modules/putenv: Likewise.
70849         * modules/random_r: Likewise.
70850         * modules/relocatable-prog: Likewise.
70851         * modules/search: Likewise.
70852         * modules/select: Likewise.
70853         * modules/selinux-h: Likewise.
70854         * modules/settime: Likewise.
70855         * modules/signal: Likewise.
70856         * modules/size_max: Likewise.
70857         * modules/socklen: Likewise.
70858         * modules/ssize_t: Likewise.
70859         * modules/stdarg: Likewise.
70860         * modules/stdbool: Likewise.
70861         * modules/stddef: Likewise.
70862         * modules/stdint: Likewise.
70863         * modules/stdio: Likewise.
70864         * modules/stdlib: Likewise.
70865         * modules/string: Likewise.
70866         * modules/strings: Likewise.
70867         * modules/sys_file: Likewise.
70868         * modules/sys_ioctl: Likewise.
70869         * modules/sys_select: Likewise.
70870         * modules/sys_socket: Likewise.
70871         * modules/sys_stat: Likewise.
70872         * modules/sys_time: Likewise.
70873         * modules/sys_times: Likewise.
70874         * modules/sys_utsname: Likewise.
70875         * modules/sys_wait: Likewise.
70876         * modules/sysexits: Likewise.
70877         * modules/time: Likewise.
70878         * modules/times: Likewise.
70879         * modules/tmpfile: Likewise.
70880         * modules/trim: Likewise.
70881         * modules/unistd: Likewise.
70882         * modules/wchar: Likewise.
70883         * modules/wctype: Likewise.
70885 2009-09-17  Bruno Haible  <bruno@clisp.org>
70887         Make getdate.y compile on QNX and NetBSD 5 / i386.
70888         * m4/getdate.m4 (gl_GETDATE): Conditionally define
70889         TIME_T_FITS_IN_LONG_INT.
70890         * lib/getdate.y (long_time_t): New type.
70891         (relative_time): Change type of 'seconds' field to long_time_t.
70892         (get_date): Update types of local variables. Check against overflow
70893         during conversion from long_time_t to time_t.
70894         Reported by Matt Kraai <kraai@ftbfs.org>
70895         and Hasso Tepper <hasso@netbsd.org>.
70897 2009-09-17  Bruno Haible  <bruno@clisp.org>
70899         * modules/COPYING: Update copyright years.
70900         * modules/README: Likeiwse.
70901         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
70902         Reported by Ian Beckwith <ianb@erislabs.net>.
70904 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
70906         * users.txt: Update references for gnuit package.
70908 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
70910         * m4/getdelim.m4: Fix typo in copyright line.
70912 2009-09-17  Bruno Haible  <bruno@clisp.org>
70914         * lib/atoll.c: Use the standard header with GPL copyright.
70915         * lib/argz.in.h: Likewise.
70916         * lib/glob.c: Likewise.
70917         * lib/glob-libc.h: Likewise.
70918         * lib/random_r.c: Likewise.
70919         * lib/siglist.h: Likewise.
70920         * lib/strsignal.c: Likewise.
70921         Reported by Ian Beckwith <ianb@erislabs.net>.
70923 2009-09-17  Eric Blake  <ebb9@byu.net>
70925         rmdir: ensure correct dependency order
70926         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
70928 2009-09-17  Bruno Haible  <bruno@clisp.org>
70930         Disable assertion that fails on NetBSD 5 / i386.
70931         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
70932         Reported by Sam Steingold <sds@gnu.org>
70933         and Hasso Tepper <hasso@netbsd.org>.
70935 2009-09-16  Eric Blake  <ebb9@byu.net>
70937         unlinkdir: port to mingw
70938         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
70939         on which no one can unlink a directory.
70941         stdlib: sort witness names
70942         * modules/stdlib (Makefile.am): Sort replacements.
70943         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
70944         * lib/stdlib.in.h: Likewise.
70946         parse-duration-tests: avoid link failure
70947         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
70948         LIBINTL.
70949         Reported by Tom G. Christensen.
70951         openat-tests: ensure unlinkat behaves like rmdir
70952         * tests/test-rmdir.c (main): Factor guts...
70953         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
70954         * modules/rmdir-tests (Files): Ship new file.
70955         * modules/openat-tests: New test.
70956         * tests/test-unlinkat.c: Likewise.
70958         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
70959         * modules/rmdir-errno (Status, Notice): Now obsolete.
70961         rmdir: work around cygwin 1.5.x and mingw bugs
70962         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
70963         * lib/rmdir.c (rmdir): Work around it.
70964         * modules/rmdir (Status, Notice): No longer obsolete.
70965         (Files): Add dos.m4.
70966         (Depends-on): Add unistd.
70967         (configure.ac): Set witnesses.
70968         (License): Relax to LGPLv2+.
70969         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
70970         * modules/unistd (Makefile.am): Substitute witnesses.
70971         * lib/unistd.in.h (rmdir): Declare replacement.
70972         * doc/posix-functions/rmdir.texi (rmdir): Document this.
70973         * modules/rmdir-tests: New tests.
70974         * tests/test-rmdir.c: Likewise.
70976 2009-09-15  Eric Blake  <ebb9@byu.net>
70978         fchdir: improve use of replacement functions
70979         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
70980         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
70981         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
70982         REPLACE_CLOSEDIR.
70983         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
70984         * modules/sys_stat (Makefile.am): Substitute correct witness.
70985         * modules/dirent (Makefile.am): Likewise.
70986         * modules/unistd (Makefile.am): Likewise.
70987         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
70988         * lib/unistd.in.h (dup): Likewise.
70989         * lib/sys_stat.in.h (fstat): Likewise.
70991         maint: ignore gnulib-tool temp files
70992         * .gitignore: Ignore files created during gnulib-tool --test.
70994 2009-09-13  Jim Meyering  <meyering@redhat.com>
70996         posixtm: don't reject a time that specify "60" as the number of seconds
70997         * lib/posixtm.c (posixtime): The code to reject invalid dates
70998         would also reject a time specified with the .60 suffix.
70999         But POSIX allows that, in order to accommodate leap seconds.
71000         So don't reject it.
71001         (main): Adjust tests accordingly.
71002         * modules/posixtm (Depends-on): Add stpcpy.
71004 2009-09-11  Jim Meyering  <meyering@redhat.com>
71006         announce-gen: include [$release_type] in emitted Subject:
71007         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
71008         e.g., [stable] in the emitted Subject: line.
71010 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71012         Remove obsolete macros from several modules.
71013         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
71014         obsolete Autoconf macros with their modern counterparts.
71015         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
71016         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
71017         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
71018         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
71019         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
71020         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
71021         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
71022         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
71023         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
71024         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
71025         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
71026         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
71027         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
71028         * m4/sockets.m4 (gl_SOCKETS): Likewise.
71029         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
71030         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
71031         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
71032         * m4/time_r.m4 (gl_TIME_R): Likewise.
71033         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
71034         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
71035         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71037         Fix copyright header in build-aux scripts.
71038         * build-aux/git-version-gen: Fix copyright header to match GPLv3
71039         recommendation.
71040         * build-aux/ncftpput-ftp: Likewise.
71041         * build-aux/update-copyright: Likewise.
71043 2009-09-09  Eric Blake  <ebb9@byu.net>
71045         test-link: allow Linux choice of errno
71046         * tests/test-link.c (main): Relax test for alternate error.
71048         strndup: fix improper m4 caching
71049         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
71050         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
71051         (gl_PREREQ_STRNDUP): Delete.
71052         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
71053         * modules/string (Makefile.am): Substitute it.
71054         * lib/string.in.h (strndup): Modernize prototype.
71056         getcwd: port to mingw
71057         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
71058         different from the POSIX assumptions made throughout the getcwd
71059         module; fortunately, the mingw getcwd does not need replacement.
71060         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
71061         * modules/getcwd-tests: New test.
71062         * tests/test-getcwd.c: Likewise.
71064         link: fix platform bugs
71065         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
71066         * lib/link.c (link): Work around them.  Fix related mingw bug.
71067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
71068         * modules/unistd (Makefile.am): Substitute it.
71069         * lib/unistd.in.h (link): Declare replacement.
71070         * doc/posix-functions/link.texi (link): Document this.
71071         * modules/link (Depends-on): Add strdup-posix, sys_stat.
71073         test-link: consolidate into single C program, test more cases
71074         * tests/test-link.sh: Delete.
71075         * tests/test-link.c: Test more error conditions.  Exposes bugs on
71076         at least Cygwin and Solaris.
71077         * modules/link-tests (Files): Remove unused file.
71078         (Depends-on): Add errno, sys_stat.
71079         (Makefile.am): Simplify.
71081 2009-09-08  Bruno Haible  <bruno@clisp.org>
71083         Work around towlower, towupper bug on mingw.
71084         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
71085         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
71086         * doc/posix-functions/towlower.texi: Mention the mingw bug.
71087         * doc/posix-functions/towupper.texi: Likewise.
71088         Reported by Eric Blake.
71090 2009-09-08  Jim Meyering  <meyering@redhat.com>
71092         build: don't try to run autoheader if we don't use it
71093         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
71094         is not used in configure.ac.
71096 2009-09-08  Eric Blake  <ebb9@byu.net>
71098         euidaccess: fix compilation error
71099         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
71101         rawmemchr: relax license
71102         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
71103         okay.
71104         Reported by Jim Meyering.
71106         mkfifoat: new module
71107         * modules/mkfifoat: New file.
71108         * lib/mkfifoat.c: Likewise.
71109         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
71110         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
71111         * modules/sys_stat (Makefile.am): Use them.
71112         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
71113         * MODULES.html.sh (File system functions): Mention module.
71114         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
71115         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
71116         * modules/mkfifoat-tests: New test.
71117         * tests/test-mkfifoat.c: Likewise.
71119         strchrnul: relax license
71120         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
71121         okay.
71122         Reported by Jim Meyering.
71124 2009-09-08  Eric Blake  <ebb9@byu.net>
71126         fstatat: fix compilation on Solaris
71127         * lib/fstatat.c (includes): Add fcntl.h.
71128         Reported by Pádraig Brady.
71130 2009-09-07  Eric Blake  <ebb9@byu.net>
71132         rename: modernize replacement
71133         * modules/rename (Depends-on): Add stdio.
71134         (configure.ac): Declare witness.
71135         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
71136         stdio take care of replacement.
71137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
71138         * modules/stdio (Makefile.am): Substitute them.
71139         * lib/stdio.in.h (rename): Declare replacement.
71140         * lib/rename.c (includes): Allow cross-compilation to non-windows
71141         machines.
71142         * doc/posix-functions/rename.texi (rename): Improve
71143         documentation.
71145         stdio: sort witness names
71146         * modules/stdio (Makefile.am): Sort replacements.
71147         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
71148         * lib/stdio.in.h: Likewise.
71150         getcwd: minor cleanups
71151         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
71152         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
71154         openat: provide more convenience names
71155         * modules/faccessat (configure.ac): Add C witness.
71156         * lib/unistd.in.h (readlinkat): Fix typo.
71157         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
71158         convenience wrappers.
71159         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
71160         wrappers in syntax checks.
71162 2009-09-06  Eric Blake  <ebb9@byu.net>
71164         doc: fix comments in recent patches
71165         * lib/faccessat.c: Mention correct function.
71166         * lib/fchmodat.c: Likewise.
71167         * lib/fchownat.c: Likewise.
71168         * lib/symlinkat.c: Likewise.
71169         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
71170         constants.
71172         faccessat, symlinkat: continue cleanup of previous patch
71173         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
71174         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
71175         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
71176         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
71177         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
71178         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
71179         set.
71181 2009-09-06  Bruno Haible  <bruno@clisp.org>
71183         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
71184         (fstatat): Declare if GNULIB_FSTATAT is set.
71185         (mkdirat): Declare if GNULIB_MKDIRAT is set.
71186         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
71187         (unlinkat): Declare if GNULIB_UNLINKAT is set.
71188         * modules/fcntl-h (Files): Remove m4/openat.m4.
71189         * modules/sys_stat (Files): Remove m4/openat.m4.
71190         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
71191         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
71192         * modules/unistd (Files): Remove m4/openat.m4.
71193         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
71194         GNULIB_OPENAT.
71195         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
71196         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
71197         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
71198         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
71199         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
71200         gl_OPENAT_DEFAULTS.
71201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
71202         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
71203         Don't require gl_OPENAT_DEFAULTS.
71204         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
71205         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
71206         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
71207         (gl_OPENAT_DEFAULTS): Remove macro.
71209 2009-09-06  Bruno Haible  <bruno@clisp.org>
71211         * modules/openat (configure.ac): Remove unneeded witness.
71213 2009-09-06  Bruno Haible  <bruno@clisp.org>
71215         Set errno to ENOSYS when a function is entirely unsupported.
71216         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
71217         EOPNOTSUPP.
71218         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
71219         * modules/chown (Depends-on): Remove errno.
71221 2009-09-06  Bruno Haible  <bruno@clisp.org>
71223         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
71225 2009-09-06  Bruno Haible  <bruno@clisp.org>
71227         * lib/sys_stat.in.h: Fix preprocessor command indentation.
71229 2009-09-06  Ben Pfaff  <blp@gnu.org>
71230             Bruno Haible  <bruno@clisp.org>
71232         Work around a glibc bug in strtok_r.
71233         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
71234         Undefine if UNDEFINE_STRTOK_R is set.
71235         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
71236         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
71237         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
71238         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
71239         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
71240         UNDEFINE_STRTOK_R.
71241         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
71243 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
71245         exclude: minor fix
71246         * lib/exclude.c: Include wctype.h
71248 2009-09-06  Akim Demaille  <demaille@gostai.com>
71250         bootstrap: improve error message
71251         * build-aux/bootstrap (find_tool): Upon failure, report the list
71252         of candidates.
71253         Honor the initial value of the envvar.
71255 2009-09-05  Eric Blake  <ebb9@byu.net>
71257         symlinkat: new module
71258         * modules/symlinkat: New file.
71259         * lib/symlinkat.c: Likewise.
71260         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
71261         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
71262         * modules/unistd (Makefile.am): Use them.
71263         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
71264         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
71265         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
71266         * MODULES.html.sh (File system functions): Mention module.
71267         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
71268         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
71269         * modules/symlinkat-tests: New test.
71270         * tests/test-symlinkat.c: Likewise.
71272         test-openat-safer: add more checks
71273         * tests/test-openat-safer.c (main): Check more code paths.
71275 2009-09-05  Jim Meyering  <meyering@redhat.com>
71277         syntax-check: detect unnecessary inclusion of openat.h
71278         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
71280 2009-09-05  Bruno Haible  <bruno@clisp.org>
71282         Support towlower, towupper.
71283         * doc/posix-functions/towlower.texi: Mention module wctype.
71284         * doc/posix-functions/towupper.texi: Likewise.
71285         * lib/wctype.in.h (towlower, towupper): New functions.
71286         * tests/test-wctype.c: Include stdio.h, stdlib.h.
71287         (ASSERT): New macro.
71288         (e): New variable.
71289         (main): Test also towlower, towupper. Test WEOF argument.
71290         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
71292 2009-09-05  Bruno Haible  <bruno@clisp.org>
71294         Fix conversion behaviour when the input is invalid.
71295         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
71296         mark occurring in first pass of indirect conversion.
71297         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
71298         input.
71299         Found by clang's static analyzer.
71301 2009-09-05  Bruno Haible  <bruno@clisp.org>
71303         * tests/test-striconveh.c (main): Test indirect conversion on platforms
71304         where direct conversion is possible.
71306 2009-09-04  Eric Blake  <ebb9@byu.net>
71308         openat: fail with ENOENT on empty name
71309         * lib/openat-proc.c (openat_proc_name): Special-case the empty
71310         buffer.
71312         link-follow: fix logic bug in prior patch
71313         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
71314         reversed sense of yes and no in prior patch.  Avoid confusing
71315         compilation failure with desired semantics.
71317         link-follow: accommodate mingw and cross-compilation
71318         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
71319         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
71320         cross-compilation results to -1, to make linkat easier to
71321         implement when cross-compiling.  Trivially support mingw.
71322         * modules/link-follow (configure.ac): Call new name.
71323         * NEWS: Mention this.
71325 2009-09-03  Eric Blake  <ebb9@byu.net>
71327         faccessat: compile replacement
71328         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
71329         needed.
71331         fts: fix compilation error
71332         * lib/fts.c (includes): Re-add "openat.h", for
71333         openat_needs_fchdir.
71335         faccessat: new module
71336         * modules/faccessat: New file.
71337         * lib/faccessat.c: Likewise.
71338         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
71339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
71340         * modules/unistd (Makefile.am): Use it.
71341         * lib/unistd.in.h (faccessat): Declare it.
71342         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
71343         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
71344         * MODULES.html.sh (File system functions): Mention it.
71345         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
71346         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
71348         euidaccess: prefer POSIX over non-standard implementation
71349         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
71350         * lib/euidaccess.c (euidaccess): Use it if available.
71352         openat: make template easier to use
71353         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
71354         AT_FUNC_F2 to be undefined.
71355         (VALIDATE_FLAG): New macro; use it to reject bad flags.
71356         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
71357         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
71358         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
71359         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
71360         Likewise.
71361         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
71362         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
71363         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
71364         Likewise.
71366         openat: declare in POSIX headers
71367         * NEWS: Mention this.
71368         * modules/openat (configure.ac): Declare witnesses.
71369         (Depends-on): Add fcntl-h, sys_stat, unistd.
71370         (Include): Mention correct headers.
71371         * modules/fcntl-h (Depends-on): Add link-warning.
71372         (Files): Add openat.m4.
71373         (Makefile.am): Substitute witnesses.
71374         * modules/sys_stat (Files, Makefile.am): Likewise.
71375         * modules/unistd (Files, Makefile.am): Likewise.
71376         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
71377         (gl_OPENAT_DEFAULTS): New macro.
71378         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
71379         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
71380         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
71381         (SYS_STAT_H): Remove unused variable.
71382         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
71383         * lib/fcntl--.h (includes): Remove unneeded header.
71384         * lib/openat-safer.c (includes): Likewise.
71385         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
71386         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
71387         appropriate headers.
71388         (__OPENAT_PREFIX): Delete.
71389         * lib/fcntl.in.h (openat): Provide declaration.
71390         (AT_FDCWD): Fix Solaris bug.
71391         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
71392         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
71393         * lib/fchmodat.c (includes):  Adjust to find declaration.
71394         * lib/fchownat.c (includes): Likewise.
71395         * lib/mkdirat.c (includes): Likewise.
71396         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
71397         still visible.
71399 2009-09-02  Eric Blake  <ebb9@byu.net>
71401         errno: use consistently
71402         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
71403         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
71404         * lib/canonicalize.c (ELOOP): Likewise.
71405         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
71406         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
71407         * lib/lchown.c (EOPNOTSUPP): Likewise.
71408         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
71409         * lib/savewd.c (ESTALE): Likewise.
71410         * lib/settime.c (ENOSYS): Likewise.
71411         * lib/utimens.c (ENOSYS): Likewise.
71412         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
71413         * lib/chdir-safer.c (ELOOP): Likewise.
71414         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
71415         * modules/c-stack (Depends-on): Add errno.
71416         * modules/canonicalize (Depends-on): Likewise.
71417         * modules/chdir-safer (Depends-on): Likewise.
71418         * modules/fdopendir (Depends-on): Likewise.
71419         * modules/inet_ntop (Depends-on): Likewise.
71420         * modules/inet_pton (Depends-on): Likewise.
71421         * modules/lchown (Depends-on): Likewise.
71422         * modules/openat (Depends-on): Likewise.
71423         * modules/savewd (Depends-on): Likewise.
71424         * modules/settime (Depends-on): Likewise.
71425         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
71427         fts: avoid leaking fds
71428         * modules/fts (Depends-on): Add cloexec.
71429         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
71430         flag.
71432         fts: make directory fds more robust
71433         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
71434         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
71436         backupfile, chdir-long, fts, savedir: make safer
71437         * lib/backupfile.c (includes): Use "dirent--.h", since
71438         numbered_backup can write to stderr during readdir.
71439         * lib/savedir.c (includes): Likewise.
71440         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
71441         emulation can write to stderr on failure.
71442         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
71443         * lib/getcwd.c: Document why opendir_safer is unused.
71444         * lib/glob.c: Likewise.
71445         * lib/scandir.c: Likewise.
71446         * lib/openat-proc.c: Likewise, for open_safer.
71447         * modules/backupfile (Depends-on): Add dirent-safer.
71448         * modules/savedir (Depends-on): Likewise.
71449         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
71450         * modules/chdir-long (Depends-on): Add openat-safer.
71452         openat-safer: new module
71453         * modules/openat-safer: New file.
71454         * lib/openat-safer.c: Likewise.
71455         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
71456         * lib/fcntl-safer.h (openat_safer): Declare.
71457         * lib/fcntl--.h (openat): Override.
71458         * MODULES.html.sh (File descriptor based I/O): Mention it.
71459         * lib/openat.h: Add double-inclusion guards.
71460         * lib/openat.c (includes): Only include "fcntl-safer.h", not
71461         "fcntl--.h", so we can implement openat.
71462         * modules/openat-safer-tests: New test.
71463         * tests/test-openat-safer.c: New file.
71465         dirent-safer: new module
71466         * modules/dirent-safer: New file.
71467         * lib/dirent--.h: Likewise.
71468         * lib/dirent-safer.h: Likewise.
71469         * lib/opendir-safer.c: Likewise.
71470         * m4/dirent-safer.m4: Likewise.
71471         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
71472         * modules/dirent-safer-tests: New test.
71473         * tests/test-dirent-safer.c: New file.
71474         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
71476         fdopendir: optimize on mingw
71477         * lib/unistd.in.h (_gl_directory_name): New prototype.
71478         * lib/fchdir.c (_gl_directory_name): Implement it.
71479         (fchdir): Use it to simplify implementation.
71480         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
71481         fchdir, when available, to avoid calling [f]chdir().
71483         fdopendir: split into its own module
71484         * lib/openat.c (fdopendir): Move...
71485         * lib/fdopendir.c: ...into new file.
71486         * modules/fdopendir: New module.
71487         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
71488         * modules/openat (Depends-on): Add fdopendir.
71489         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
71490         fdopendir here.
71491         * modules/savedir (Depends-on): Only need fdopendir, not full
71492         openat.
71493         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
71494         * lib/openat.h (fdopendir): Drop prototype.
71495         * lib/dirent.in.h (fdopendir): Provide prototype.
71496         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
71497         * modules/dirent (Makefile.am): Substitute them.
71498         * MODULES.html.sh (File system functions): Mention it.
71499         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
71500         * modules/fdopendir-tests: New file.
71501         * tests/test-fdopendir.c: Likewise.
71503         fchdir: use more consistent macro convention
71504         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
71505         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
71506         REPLACE_FCHDIR, rather than relying on config.h macros.
71507         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
71508         inside a single make-time REPLACE_FCHDIR block, rather than using
71509         the config.h FCHDIR_REPLACEMENT.
71510         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
71511         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
71512         Manage fstat replacement.
71513         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
71514         REPLACE_FCHDIR.
71515         * modules/sys_stat (Files): Add m4/unistd_h.m4.
71516         (Makefile.am): Substitute REPLACE_FCHDIR.
71517         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
71518         FCHDIR_REPLACEMENT.
71519         * lib/dup-safer.c (dup_safer): Likewise.
71520         * lib/dup2.c (rpl_dup2): Likewise.
71521         * lib/dup3.c (rpl_dup3): Likewise.
71522         * lib/open.c (rpl_open): Likewise.
71524         fchdir: simplify error handling, and support dup3
71525         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
71526         stdbool, malloc-posix, realloc-posix.
71527         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
71528         (ensure_dirs_slot): Return false on allocation failure.
71529         (rpl_dup2): Delete.
71530         (_gl_register_dup): New function.
71531         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
71532         (_gl_register_fd): Close fd on allocation failure.
71533         * lib/fcntl.in.h (_gl_register_fd): Update signature.
71534         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
71535         prototype.
71536         (rpl_dup2_fchdir): Delete prototype.
71537         * lib/open.c (open): Update caller.
71538         * lib/dup2.c (dup2): Track fchdir metadata.
71539         * lib/dup3.c (dup3): Likewise.
71540         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
71541         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
71543 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71545         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
71546         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
71547         don't pass arguments to AC_OUTPUT.
71549 2009-09-02  Bruno Haible  <bruno@clisp.org>
71551         * modules/mkdtemp (License): Relicense under LGPLv2+.
71552         Reported by Paolo Bonzini.
71554 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71556         Replace uses of obsolete autoconf macros in Jim's modules.
71557         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
71558         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
71559         can evoke a warning from autoconf when run with -Wobsolete
71560         enabled.  They were declared obsolete for good reasons (see
71561         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
71562         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
71563         should not continue using the deprecated macros.
71564         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
71565         obsolete Autoconf macros with modern counterparts.
71566         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
71567         * m4/dos.m4 (gl_AC_DOS): Likewise.
71568         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
71569         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
71570         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
71571         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
71572         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
71573         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
71574         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
71575         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
71576         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71577         Likewise.
71578         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
71579         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71580         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
71581         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
71582         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
71583         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71585 2009-09-01  Eric Blake  <ebb9@byu.net>
71587         fchdir: fix off-by-one bug in previous patch
71588         * lib/fchdir.c (rpl_fstat): Use correct bounds.
71589         (_gl_unregister_fd): Delete useless if.
71591 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
71593         maint.mk: sort the list of syntax-check rules
71594         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
71595         easier to get a sense of progress when the rules are run sequentially
71596         and take a long time.
71598 2009-09-01  Simon Josefsson  <simon@josefsson.org>
71600         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
71601         * modules/netinet_in: Likewise.
71602         * modules/sys_file: Likewise.
71603         * modules/sys_ioctl: Likewise.
71604         * modules/sys_select: Likewise.
71605         * modules/sys_socket: Likewise.
71606         * modules/sys_stat: Likewise.
71607         * modules/sys_time: Likewise.
71608         * modules/sys_times: Likewise.
71609         * modules/sys_utsname: Likewise.
71610         * modules/sys_wait: Likewise.
71612 2009-09-01  Jim Meyering  <meyering@redhat.com>
71614         fts: help ensure that return values are not ignored
71615         * lib/fts_.h (__GNUC_PREREQ): Define.
71616         (__attribute_warn_unused_result__): Define.
71617         (fts_children, fts_close, fts_open, fts_read): Declare with
71618         __attribute_warn_unused_result__.
71620         fts: fts_close now fails also when closing a dir file descriptor fails
71621         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
71622         and propagate to caller, along with errno.
71624         announce-gen: correct formatting in --help output
71625         * build-aux/announce-gen (usage): Move the one-line description in
71626         --help output "up", to where it belongs, just after Usage:.
71628 2009-08-31  Eric Blake  <ebb9@byu.net>
71630         fchdir: port to mingw
71631         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
71632         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
71633         opened, then use a substitute.
71634         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
71635         replacement.
71636         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
71637         (_gl_register_fd): No need to check stat if open already filters
71638         all directories.
71639         (fchdir): Fix error condition to match POSIX.
71640         * modules/fchdir (Depends-on): Add sys_stat.
71641         * doc/posix-functions/open.texi (open): Document the limitation.
71642         * modules/fchdir-tests: New file.
71643         * tests/test-fchdir.c: Likewise.
71645         canonicalize: allow cross-testing from cygwin to mingw
71646         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
71647         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
71648         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
71649         Likewise.
71650         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
71651         target does not support symlinks.
71652         * tests/test-canonicalize-lgpl.sh: Likewise.
71654         chown: avoid compilation warning on mingw
71655         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
71656         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
71657         mingw.
71658         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
71659         * modules/chown (Depends-on): Add errno.
71661 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
71663         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
71664         command.
71666 2009-08-31  Jim Meyering  <meyering@redhat.com>
71668         canonicalize: remove useless initialization
71669         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
71670         initialization of local, "end".
71672 2009-08-30  Bruno Haible  <bruno@clisp.org>
71674         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
71675         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
71676         ENOSYS.
71678 2009-08-30  Bruno Haible  <bruno@clisp.org>
71680         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
71681         /usr/xpg4/bin/tr when it exists.
71682         * tests/test-pipe-filter-gi1.sh: Likewise.
71684 2009-08-30  Bruno Haible  <bruno@clisp.org>
71686         Work around deficient /usr/bin/id program on Solaris.
71687         * tests/test-file-has-acl.sh (ID): New variable.
71688         * tests/test-set-mode-acl.sh (ID): Likewise.
71689         * tests/test-copy-acl.sh (ID): Likewise.
71690         * tests/test-copy-file.sh (ID): Likewise.
71692 2009-08-30  Bruno Haible  <bruno@clisp.org>
71694         New module 'xstriconveh'.
71695         * lib/xstriconveh.h: New file.
71696         * lib/xstriconveh.c: New file.
71697         * modules/xstriconveh: New file.
71699 2009-08-30  Bruno Haible  <bruno@clisp.org>
71701         Make it easier to use mem_cd_iconveh.
71702         * lib/striconveh.h (iconveh_t): New type.
71703         (iconveh_open, iconveh_close): New declarations.
71704         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
71705         with a single 'const iconveh_t *' argument.
71706         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
71707         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
71708         with a single 'const iconveh_t *' argument.
71709         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
71710         * tests/test-striconveh.c (main): Update.
71711         * NEWS: Mention the change.
71713 2009-08-30  Bruno Haible  <bruno@clisp.org>
71715         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
71716         problem.
71718 2009-08-30  Bruno Haible  <bruno@clisp.org>
71720         Work around iconv_open problem on Solaris.
71721         * lib/iconv_open-solaris.gperf: New file.
71722         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
71723         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
71724         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
71725         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
71726         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
71727         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
71729 2009-08-29  Jim Meyering  <meyering@redhat.com>
71731         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
71732         * top/maint.mk (cvs-check): Remove target; it was just an alias
71733         to the better-named vc-diff-check.
71734         (maintainer-distcheck): Remove rule.  It was used only from
71735         the (alpha/beta/major) target, and all of its commands but one
71736         were coreutils-specific.
71737         (vc-dist): Remove rule.
71738         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
71739         Run vc-diff-check, not vc-dist.
71740         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
71742 2009-08-27  Bruno Haible  <bruno@clisp.org>
71744         * tests/test-bitrotate.c (main): Remove test that uses a shift count
71745         of 0.
71747 2009-08-27  Bruno Haible  <bruno@clisp.org>
71749         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
71750         compilers.
71751         * doc/func.texi: Document the SunPRO C bug.
71753 2009-08-27  Bruno Haible  <bruno@clisp.org>
71755         Fix link error on Solaris.
71756         * tests/test-parse-duration.c (xstrdup): Remove function.
71758 2009-08-26  Pádraig Brady  <P@draigbrady.com>
71760         ignore-value: handle pointer types, too
71761         * lib/ignore-value.h (__attribute__): Remove definition.
71762         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
71763         of a more concise and more-often effective "(void) i" statement.
71764         (ignore_ptr): New function to suppress warnings from functions that
71765         return pointers, and to make it explicit that one function doesn't
71766         handle all cases.
71768 2009-08-25  Bruno Haible  <bruno@clisp.org>
71770         dup2: work around a Linux bug.
71771         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
71772         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
71773         * doc/posix-functions/dup2.texi: Mention the Linux bug.
71774         Reported by Simon Josefsson.
71776 2009-08-25  Jim Meyering  <meyering@redhat.com>
71778         libguestfs uses gnulib
71779         * users.txt: Add libguestfs.
71781 2009-08-24  Eric Blake  <ebb9@byu.net>
71783         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
71784         * lib/pipe2.c (includes): Add binary-io.h.
71785         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
71787 2009-08-24  Bruno Haible  <bruno@clisp.org>
71789         Tolerate declared but missing accept4 syscall.
71790         * lib/accept4.c (accept4): Invoke original accept4 function first, if
71791         available.
71792         * lib/sys_socket.in.h (accept4): If the function is already present,
71793         override it.
71794         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
71795         * modules/accept4 (Makefile.am): Compile accept4.c always.
71796         Reported by Paolo Bonzini and Eric Blake.
71798 2009-08-23  Bruno Haible  <bruno@clisp.org>
71800         New module 'accept4'.
71801         * lib/sys_socket.in.h (accept4): New declaration.
71802         * lib/accept4.c: New file.
71803         * m4/accept4.m4: New file.
71804         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
71805         GNULIB_ACCEPT4, HAVE_ACCEPT4.
71806         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
71807         HAVE_ACCEPT4.
71808         * modules/accept4: New file.
71809         * doc/glibc-functions/accept4.texi: Mention the new module.
71811 2009-08-24  Jim Meyering  <meyering@redhat.com>
71813         progname: also set global program_invocation_name, when possible
71814         Before this change, a libtool-enabled program that calls glibc's
71815         error function would report the program name as
71816         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
71817         * modules/progname (configure.ac): Check for a declaration of
71818         program_invocation_name.
71819         * lib/progname.c:  Include <errno.h>.
71820         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
71821         Set program_invocation_name.
71823 2009-08-23  Bruno Haible  <bruno@clisp.org>
71825         * lib/dup3.c: Include <string.h>.
71827 2009-08-23  Bruno Haible  <bruno@clisp.org>
71829         * lib/dup3.c (dup3): Test only once whether the system actually exists.
71830         * lib/pipe2.c (pipe2): Likewise.
71831         Suggested by Eric Blake.
71833 2009-08-23  Bruno Haible  <bruno@clisp.org>
71835         Tolerate declared but missing dup3 syscall.
71836         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
71837         * lib/unistd.in.h (dup3): If the function is already present,
71838         override it.
71839         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
71840         * modules/dup3 (Makefile.am): Compile dup3.c always.
71841         Reported by Paolo Bonzini.
71843 2009-08-23  Bruno Haible  <bruno@clisp.org>
71845         Tolerate declared but missing pipe2 syscall.
71846         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
71847         available.
71848         * lib/unistd.in.h (pipe2): If the function is already present,
71849         override it.
71850         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
71851         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
71852         Reported by Paolo Bonzini.
71854 2009-08-23  Bruno Haible  <bruno@clisp.org>
71856         * lib/pipe2.c (pipe2): Move #ifs inside function.
71858 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
71860         quotearg: document limitations of quote_these_too
71861         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
71862         those limitations are created.
71863         * lib/quotearg.h (set_char_quoting): Document that digits and
71864         letters that are special after backslash are not permitted.
71865         (quotearg_char): Cross-reference set_char_quoting documentation.
71867 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
71869         quotearg: implement custom_quoting_style
71870         * lib/quotearg.c: (struct quoting_options): Add left_quote and
71871         right_quote fields.
71872         (set_custom_quoting): New public function.
71873         (quotearg_buffer_restyled): Add left_quote and right_quote
71874         arguments, handle them very much like locale quoting, and update
71875         all uses.
71876         (quotearg_n_custom): New public function.
71877         (quotearg_n_custom_mem): New public function.
71878         (quotearg_custom): New public function.
71879         (quotearg_custom_mem): New public function.
71880         * lib/quotearg.h: Prototype and document new public functions.
71881         (enum quoting_style): For escape_quoting_style and
71882         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
71883         ignored even though they're otherwise like c_quoting_style.
71884         Add custom_quoting_style member and document with comparison to
71885         clocale_quoting_style.
71886         * tests/test-quotearg.c (custom_quotes): New array.
71887         (custom_results): New array.
71888         (main): Extend to test custom quoting.
71890 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
71892         quotearg: fix right quote escaping when it's in quote_these_too
71893         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
71894         quote, be sure to prepend only one backslash.
71895         * tests/test-quotearg.c (use_quote_double_quotes): New function.
71896         (main): Test it.
71898 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
71900         quotearg-tests: test escaping of embedded locale quotes
71901         * tests/test-quotearg.c (struct result_strings): Add member for
71902         new input.
71903         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
71904         (inputs): Add new input.
71905         (results_g): Add expected results.
71906         (flag_results): Likewise.
71907         (locale_results): Likewise.
71908         (compare_strings): Check those.
71910 2009-08-23  Bruno Haible  <bruno@clisp.org>
71912         Tests for module 'dup3'.
71913         * modules/dup3-tests: New file.
71914         * tests/test-dup3.c: New file.
71916         New module 'dup3'.
71917         * lib/unistd.in.h (dup3): New declaration.
71918         * lib/dup3.c: New file.
71919         * m4/dup3.m4: New file.
71920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
71921         HAVE_DUP3.
71922         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
71923         * modules/dup3: New file.
71924         * doc/glibc-functions/dup3.texi: Mention the new module.
71926 2009-08-23  Bruno Haible  <bruno@clisp.org>
71928         Tweak the dup2 test.
71929         * tests/test-dup2.c (main): Create the test file empty. Verify that an
71930         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
71931         the test file is still empty. Fix argument order of lseek.
71933 2009-08-23  Bruno Haible  <bruno@clisp.org>
71935         Avoid test link errors when the modules getopt-gnu, gettext are used.
71936         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
71937         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
71939 2009-08-23  Bruno Haible  <bruno@clisp.org>
71941         Fix getdtablesize() on mingw.
71942         * lib/getdtablesize.c (getdtablesize): Implement differently.
71943         * lib/unistd.in.h (getdtablesize): Improve comment.
71945 2009-08-23  Bruno Haible  <bruno@clisp.org>
71947         New module 'mkostemp'.
71948         Based on Ulrich Drepper's 2007-08-10 change in glibc.
71949         * lib/stdlib.in.h (mksotemp): New declaration.
71950         * lib/mkostemp.c: New file, from glibc with modifications.
71951         * lib/tempname.h (GT_FILE): Remove outdated comment.
71952         (gen_tempname): Add flags argument.
71953         * lib/tempname.c (__GT_BIGFILE): Remove macro.
71954         (__GT_FILE): Map to 1.
71955         (small_open, large_open): Remove macros.
71956         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
71957         * lib/mkstemp.c (mkstemp): Update.
71958         * lib/mkdtemp.c (mkdtemp): Likewise.
71959         * m4/mkostemp.m4: New file.
71960         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
71961         HAVE_MKOSTEMP.
71962         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
71963         HAVE_MKOSTEMP.
71964         * modules/mkostemp: New file, based on modules/mkstemp.
71965         * doc/glibc-functions/mkostemp.texi: Mention the new module.
71966         * NEWS: Mention the change.
71968 2009-08-23  Bruno Haible  <bruno@clisp.org>
71970         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
71971         Reported by Eric Blake.
71973 2009-08-23  Bruno Haible  <bruno@clisp.org>
71975         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
71976         Reported by Eric Blake.
71978 2009-08-23  Bruno Haible  <bruno@clisp.org>
71980         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
71981         * modules/pipe2 (Depends-on): Likewise.
71983 2009-08-23  Eric Blake  <ebb9@byu.net>
71985         fcntl-h: add O_TTY_INIT support
71986         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
71987         * tests/test-fcntl-h.c (o): Test it.
71988         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
71990         fcntl-h: rename from fcntl, in preparation for fcntl(2)
71991         * modules/fcntl: Move <fcntl.h> header replacement...
71992         * modules/fcntl-h: ...to new name, so as not to collide with
71993         like-named function.
71994         * tests/test-fcntl.c: Rename...
71995         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
71996         * modules/fcntl-tests: Rename...
71997         * modules/fcntl-h-tests: ...to this.  Update test file name.
71998         * modules/chdir-long (Depends-on): Update clients.
71999         * modules/chdir-safer (Depends-on): Likewise.
72000         * modules/fcntl-safer (Depends-on): Likewise.
72001         * modules/fts (Depends-on): Likewise.
72002         * modules/mkancesdirs (Depends-on): Likewise.
72003         * modules/mkdir-p (Depends-on): Likewise.
72004         * modules/open (Depends-on): Likewise.
72005         * modules/savewd (Depends-on): Likewise.
72006         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
72007         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
72009 2009-08-22  Bruno Haible  <bruno@clisp.org>
72011         * modules/binary-io (License): Relicense under LGPL.
72012         * modules/pipe2 (License): Likewise.
72014 2009-08-22  Bruno Haible  <bruno@clisp.org>
72016         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
72017         return value.
72018         * lib/pipe-filter-gi.c (filter_init): Likewise.
72019         Reported by Eric Blake.
72021 2009-08-22  Bruno Haible  <bruno@clisp.org>
72023         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
72024         * modules/pipe (Depends-on): Add pipe2.
72026 2009-08-22  Bruno Haible  <bruno@clisp.org>
72028         Tests for module 'pipe2'.
72029         * modules/pipe2-tests: New file.
72030         * tests/test-pipe2.c: New file.
72032         New module 'pipe2'.
72033         * lib/unistd.in.h (pipe2): New declaration.
72034         * lib/pipe2.c: New file.
72035         * m4/pipe2.m4: New file.
72036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
72037         HAVE_PIPE2.
72038         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
72039         * modules/pipe2: New file.
72040         * doc/glibc-functions/pipe2.texi: Mention the new module.
72042 2009-08-22  Bruno Haible  <bruno@clisp.org>
72044         Reference some new glibc functions.
72045         * doc/glibc-functions/accept4.texi: New file.
72046         * doc/glibc-functions/dup3.texi: New file.
72047         * doc/glibc-functions/mkostemp.texi: New file.
72048         * doc/glibc-functions/pipe2.texi: New file.
72049         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
72050         (Glibc sys/socket.h): Refer to accept4.
72051         (Glibc unistd.h): Refer to dup3, pipe2.
72052         Reported by Eric Blake.
72054 2009-08-22  Jim Meyering  <meyering@redhat.com>
72055             Bruno Haible  <bruno@clisp.org>
72057         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
72058         This makes it so packages using automake-1.11's silent-rules option
72059         can print e.g., a single "GEN    configmake.h" line, rather than
72060         the 30+ statements that perform the job.  If you want to see the
72061         actual commands, you can still run "make V=1".
72062         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
72063         so that make output is abbreviated when those variables are defined
72064         appropriately.
72065         * modules/argz: Likewise.
72066         * modules/arpa_inet: Likewise.
72067         * modules/byteswap: Likewise.
72068         * modules/configmake: Likewise.
72069         * modules/dirent: Likewise.
72070         * modules/errno: Likewise.
72071         * modules/fcntl: Likewise.
72072         * modules/float: Likewise.
72073         * modules/fnmatch: Likewise.
72074         * modules/getopt-posix: Likewise.
72075         * modules/glob: Likewise.
72076         * modules/iconv_open: Likewise.
72077         * modules/inttypes: Likewise.
72078         * modules/localcharset: Likewise.
72079         * modules/locale: Likewise.
72080         * modules/math: Likewise.
72081         * modules/netdb: Likewise.
72082         * modules/netinet_in: Likewise.
72083         * modules/poll: Likewise.
72084         * modules/posix_spawnp-tests: Likewise.
72085         * modules/sched: Likewise.
72086         * modules/search: Likewise.
72087         * modules/selinux-h: Likewise.
72088         * modules/signal: Likewise.
72089         * modules/spawn: Likewise.
72090         * modules/stdarg: Likewise.
72091         * modules/stdbool: Likewise.
72092         * modules/stddef: Likewise.
72093         * modules/stdint: Likewise.
72094         * modules/stdio: Likewise.
72095         * modules/stdlib: Likewise.
72096         * modules/string: Likewise.
72097         * modules/strings: Likewise.
72098         * modules/sys_file: Likewise.
72099         * modules/sys_ioctl: Likewise.
72100         * modules/sys_select: Likewise.
72101         * modules/sys_socket: Likewise.
72102         * modules/sys_stat: Likewise.
72103         * modules/sys_time: Likewise.
72104         * modules/sys_times: Likewise.
72105         * modules/sys_utsname: Likewise.
72106         * modules/sys_wait: Likewise.
72107         * modules/sysexits: Likewise.
72108         * modules/time: Likewise.
72109         * modules/unistd: Likewise.
72110         * modules/wchar: Likewise.
72111         * modules/wctype: Likewise.
72113 2009-08-22  Jim Meyering  <meyering@redhat.com>
72115         announce-gen: detect write failure
72116         * build-aux/announce-gen: Add Coda at end.
72117         Remove equivalent-but-more-verbose block at top.
72119 2009-08-19  Akim Demaille  <demaille@gostai.com>
72121         bootstrap: --help to stdout.
72122         * bootstrap (usage): Don't send --help to stderr.
72123         Use a here doc instead of a long string.
72125 2009-08-21  Eric Blake  <ebb9@byu.net>
72127         test-popen-safer: split from test-popen
72128         * tests/test-popen.c (main): Move...
72129         * tests/test-popen.h: ...into new file.
72130         * tests/test-popen-safer2.c: New file.
72131         * modules/popen-tests (Files): Add test-popen.h.
72132         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
72133         Suggested by Bruno Haible.
72135         test-fcntl-safer: split from test-open
72136         * tests/test-open.c (main): Move...
72137         * tests/test-open.h: ...into new file.
72138         * tests/test-fcntl-safer.c: New file.
72139         * modules/open-tests (Files): Add test-open.h.
72140         * modules/fcntl-safer-tests: New file.
72141         Suggested by Bruno Haible.
72143         test-fopen-safer: split from test-fopen
72144         * tests/test-fopen.c (main): Move...
72145         * tests/test-fopen.h: ...into new file.
72146         * tests/test-fopen-safer.c: New file.
72147         * modules/fopen-tests (Files): Add test-fopen.h.
72148         * modules/fopen-safer-tests: New file.
72149         Suggested by Bruno Haible.
72151 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
72153         popen-safer: test O_CLOEXEC at run-time.
72154         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
72156 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
72158         fcntl: move more flags to the header
72159         * lib/cloexec.c: Do not define FD_CLOEXEC here.
72160         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
72161         * lib/fcntl.in.h: Do both things here.
72163 2009-08-21  Jim Meyering  <meyering@redhat.com>
72165         consistently remove $@-t before redirecting to it
72166         * modules/argz: Remove $@-t and $@ before redirecting to the former.
72167         * modules/alloca-opt: Likewise.
72168         * modules/byteswap: Likewise.
72169         * modules/fnmatch: Likewise.
72170         * modules/getopt-posix: Likewise.
72171         * modules/glob: Likewise.
72172         * modules/poll: Likewise.
72173         * modules/posix_spawnp-tests: Likewise.
72174         * modules/sys_socket: Likewise.
72175         * modules/sysexits: Likewise.
72177 2009-08-21  Eric Blake  <ebb9@byu.net>
72179         popen: simplify access to original popen
72180         * lib/popen.c (rpl_popen): No need to worry about popen being a
72181         macro.
72182         Reported by Bruno Haible.
72184 2009-08-20  Eric Blake  <ebb9@byu.net>
72186         build: avoid some compiler warnings
72187         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
72188         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
72189         type.
72190         (new_exclude_segment, excluded_file_pattern_p)
72191         (excluded_file_name_p): Reduce scope.
72192         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
72193         old-style declaration.
72195 2009-08-20  Simon Josefsson  <simon@josefsson.org>
72197         * tests/test-exclude1.sh: Handle Windows EOL.
72198         * tests/test-exclude2.sh: Likewise.
72199         * tests/test-exclude3.sh: Likewise.
72200         * tests/test-exclude4.sh: Likewise.
72201         * tests/test-exclude5.sh: Likewise.
72202         * tests/test-exclude6.sh: Likewise.
72203         * tests/test-exclude7.sh: Likewise.
72205 2009-08-19  Akim Demaille  <demaille@gostai.com>
72207         bootstrap: find sha1sum when named gsha1sum.
72208         * bootstrap (find_tool): New.
72209         ($SHA1SUM): New.
72210         Use it.
72212 2009-08-20  Jim Meyering  <meyering@redhat.com>
72214         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
72215         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
72216         expression that converts "." in a file name to "\." in the resulting
72217         regexp.  Start with a dummy statement, so that prior shell variable
72218         definitions are expanded portably.  Reported by Simon Josefsson.
72220 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
72222         Fix polling for writeability of a screen buffer.
72223         * lib/poll.c: Distinguish input and screen buffers for the
72224         Win32 implementation.
72225         * lib/select.c: Likewise.
72227 2009-08-19  Eric Blake  <ebb9@byu.net>
72229         popen-safer: prevent popen from clobbering std descriptors
72230         * modules/popen-safer: New file.
72231         * lib/popen-safer.c: Likewise.
72232         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
72233         * lib/stdio--.h (popen): Provide override.
72234         * lib/stdio-safer.h (popen_safer): Provide declaration.
72235         * tests/test-popen.c (includes): Partially test this.
72236         * modules/popen-safer-tests: New file, for more tests.
72237         * tests/test-popen-safer.c: Likewise.
72238         * MODULES.html.sh (file stream based Input/Output): Mention it.
72240         tests: test some of the *-safer modules
72241         * modules/fopen-safer (Depends-on): Add fopen.
72242         * modules/fcntl-safer (Depends-on): Add fcntl.
72243         * modules/stdlib-safer (Depends-on): Add stdlib.
72244         (configure.ac): Set indicator.
72245         * modules/unistd-safer (configure.ac): Likewise.
72246         * modules/tmpfile-safer (configure.ac): Likewise.
72247         (Depends-on): Add tmpfile.
72248         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
72249         active.
72250         * tests/test-fopen.c (includes): Test safer versions when they are
72251         in use.
72252         * tests/test-open.c (includes): Likewise.
72254         popen: fix cygwin 1.5 bug when stdin closed
72255         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
72256         * modules/popen: New file.
72257         * modules/popen-tests: Likewise.
72258         * tests/test-popen.c: Likewise.
72259         * m4/popen.m4: Likewise.
72260         * lib/popen.c: Likewise.
72261         * lib/stdio.in.h (popen): New declaration.
72262         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
72263         * modules/stdio (Makefile.am): Likewise.
72264         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
72266 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
72268         maint.mk: give full control over update-copyright exclusions
72269         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
72270         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
72271         (update-copyright): Don't force inclusion of top-level
72272         ChangeLog.  Don't force exclusion of all COPYING files, but make
72273         them the default exclusion instead.
72275 2009-08-16  Bruno Haible  <bruno@clisp.org>
72277         Fix test failures on Solaris 10.
72278         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
72279         tests when Solaris iconv() is used.
72280         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
72281         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
72282         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
72283         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
72284         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
72286 2009-08-16  Bruno Haible  <bruno@clisp.org>
72288         Fix test failures on Solaris 10.
72289         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
72290         'tr' program and pass it as first argument.
72291         * tests/test-pipe-filter-gi1.sh: Likewise.
72292         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
72293         program as first argument.
72294         * tests/test-pipe-filter-gi1.c (main): Likewise.
72296 2009-08-16  Eric Blake  <ebb9@byu.net>
72298         fpurge: fix previous commits
72299         * modules/fpurge (Makefile.am): Make replacement conditional,
72300         partially reverting 2007-04-29 change; missed in previous
72301         attempt.
72302         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
72303         is missing.
72305 2009-08-16  Bruno Haible  <bruno@clisp.org>
72307         Clarify fpurge's effect on the file position.
72308         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
72309         * tests/test-fpurge.c (main): Make a second pass for checking the file
72310         position.
72312 2009-08-16  Bruno Haible  <bruno@clisp.org>
72314         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
72315         declaration of fpurge is missing.
72316         * tests/test-fpurge.c (main): Check that the file has not more contents
72317         than expected. Close the file before removing it.
72319 2009-08-15  Eric Blake  <ebb9@byu.net>
72321         fpurge: don't wrap working cygwin implementation
72322         * lib/fpurge.c (fpurge): Fix comment typo.
72323         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
72324         1.7 to avoid replacement.
72325         * tests/test-fpurge.c (main): Enhance test.
72327 2009-08-15  Eric Blake  <ebb9@byu.net>
72328         and Jim Meyering  <meyering@redhat.com>
72330         test-update-copyright: skip if perl is insufficient
72331         * tests/test-update-copyright.sh: Failure to run maintainer tool
72332         should not cause testsuite failure on cygwin 1.5.
72334 2009-08-14  Eric Blake  <ebb9@byu.net>
72336         doc: mention more functions added in cygwin 1.7.0
72337         * doc/posix-headers/limits.texi (limits.h): Update for recent
72338         cygwin additions.
72339         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
72340         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
72341         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
72342         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
72343         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
72345 2009-08-14  Eric Blake  <ebb9@byu.net>
72347         maint.mk: simplify update-copyright rule
72348         * top/maint.mk (update-copyright-local): Delete, and document how
72349         to do it in cfg.mk instead.
72350         (update-copyright-exclude-regexp): Delete, and document how to do
72351         it in .x-update-copyright instead.
72352         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
72353         exclude ChangeLog.
72355 2009-08-14  Bruno Haible  <bruno@clisp.org>
72357         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
72359 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
72361         maint.mk: support update-copyright-env
72362         * top/maint.mk (update-copyright-env): Define place-holder.
72363         (update-copyright): Expand $(update-copyright-env) before
72364         invoking update-copyright.
72366 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
72368         update-copyright: implement forced reformatting
72369         * build-aux/update-copyright: Implement and document
72370         UPDATE_COPYRIGHT_FORCE.
72371         * tests/test-update-copyright.sh: Test it.
72373 2009-08-14  Eric Blake  <ebb9@byu.net>
72374         and Bruno Haible  <bruno@clisp.org>
72376         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
72377         * tests/test-locale.c: Revert previous patch related to NULL.
72378         * tests/test-stdio.c: Likewise.
72379         * tests/test-stdlib.c: Likewise.
72380         * tests/test-string.c: Likewise.
72381         * tests/test-unistd.c: Likewise.
72382         * modules/time-tests (Depends-on): Add verify.
72383         * modules/wchar-tests (Depends-on): Likewise.
72384         * tests/test-time.c: Test for NULL compliance.
72385         * tests/test-wchar.c: Likewise.
72386         * modules/locale (Depends-on): Add stddef.
72387         * modules/stdio (Depends-on): Likewise.
72388         * modules/stdlib (Depends-on): Likewise.
72389         * modules/string (Depends-on): Likewise.
72390         * modules/time (Depends-on): Likewise.
72391         * modules/unistd (Depends-on): Likewise.
72392         * modules/wchar (Depends-on): Likewise.
72393         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
72394         * lib/stdlib.in.h (includes): Likewise.
72395         * lib/string.in.h (includes): Likewise.
72396         * lib/time.in.h (includes): Likewise.
72397         * lib/unistd.in.h (includes): Likewise.
72398         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
72399         replaced.
72400         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
72401         * m4/stddef_h.m4: New file.
72402         * modules/stddef: Likewise.
72403         * lib/stddef.in.h: Likewise.
72404         * modules/stddef-tests: Likewise.
72405         * tests/test-stddef.c: Likewise.
72406         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
72407         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
72408         * doc/posix-headers/locale.texi (locale.h): Likewise.
72409         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
72410         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
72411         * doc/posix-headers/string.texi (string.h): Likewise.
72412         * doc/posix-headers/time.texi (time.h): Likewise.
72413         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
72414         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
72416 2009-08-14  Eric Blake  <ebb9@byu.net>
72418         doc: improve git diff of texinfo files
72419         * .gitattributes: Add rule for *.texi files, with hint on how to
72420         use it.
72421         Copied from m4, and based on a report by Bruno Haible.
72423 2009-08-14  Bruno Haible  <bruno@clisp.org>
72425         Disable multithread support by default on Cygwin 1.5.x for real.
72426         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
72428 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
72430         update-copyright: much ado about intervals
72431         * build-aux/update-copyright: Implement and document
72432         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
72433         of copyright year intervals.
72434         Also, document UPDATE_COPYRIGHT_YEAR.
72435         * tests/test-update-copyright.sh: Test it.
72437         update-copyright: convert 2-digit to 4-digit years
72438         * build-aux/update-copyright: Implement and document.
72439         * tests/test-update-copyright.sh: Update.
72441 2009-08-14  Jim Meyering  <meyering@redhat.com>
72443         test-exclude: avoid coreutils "make check" failure
72444         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
72445         just as in test-argmatch.c.
72447 2009-08-13  Eric Blake  <ebb9@byu.net>
72449         test-dup2: fix bad assumption
72450         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
72451         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
72453         test-version-etc: fix CRLF portability issue
72454         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
72455         recognize \r.
72456         * tests/test-argp-version-etc-1.sh: Likewise.
72458         getopt: update client modules
72459         * modules/argp (Depends-on): Use getopt-gnu.
72460         * modules/git-merge-changelog (Depends-on): Likewise.
72461         * modules/long-options (Depends-on): Likewise.
72462         * modules/xstrtol (Depends-on): Likewise.
72464 2009-08-13  Simon Josefsson  <simon@josefsson.org>
72466         * tests/test-version-etc.sh: Don't fail on different
72467         project/version.  Don't fail on CRLF differences.  Rewrite to use
72468         multiple -e instead of multiple sed forks, suggested by Eric Blake
72469         <ebb9@byu.net>.
72470         * tests/test-argp-version-etc-1.sh: Likewise.
72472 2009-08-13  Simon Josefsson  <simon@josefsson.org>
72474         * tests/test-version-etc.sh: Don't fail on different
72475         project/version.
72477 2009-08-12  Bruno Haible  <bruno@clisp.org>
72479         Tests for modules 'getopt-posix', 'getopt-gnu'.
72480         * modules/getopt-posix-tests: New file.
72481         * tests/test-getopt.c: New file.
72482         * tests/test-getopt.h: New file.
72483         * tests/test-getopt_long.h: New file.
72485         New modules 'getopt-posix', 'getopt-gnu'.
72486         * modules/getopt-gnu: New file, renamed from modules/getopt.
72487         * modules/getopt-posix: New file.
72488         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
72489         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
72490         (gl_GETOPT): Remove macro.
72491         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
72492         Disable the test against BSD systems that declare optreset. Test
72493         against mingw bug. Test against lack of support of optional arguments
72494         on many platforms.
72495         * doc/glibc-headers/getopt.texi: Update module name and list of
72496         relevant platforms.
72497         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
72498         'getopt-gnu' and more portability problems.
72499         * NEWS: Mention the changes.
72501 2009-08-12  Bruno Haible  <bruno@clisp.org>
72503         Ensure that optarg etc. get declared by <unistd.h>.
72504         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
72505         AC_USE_SYSTEM_EXTENSIONS.
72506         * modules/getopt (Depends-on): Add 'extensions'.
72508 2009-08-12  Bruno Haible  <bruno@clisp.org>
72510         Avoid test link errors.
72511         * modules/pipe-filter-ii-tests (Makefile.am): Define
72512         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
72513         * modules/pipe-filter-gi-tests (Makefile.am): Define
72514         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
72515         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
72517 2009-08-12  Bruno Haible  <bruno@clisp.org>
72519         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
72520         gl_GETOPT_SUBSTITUTE before.
72521         (gl_GETOPT): Use it.
72522         * m4/argp.m4 (gl_ARGP): Update.
72523         Reported by Sergey Poznyakoff.
72525         * m4/getopt.m4: Reorder macros.
72526         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
72527         (gl_GETOPT_SUBSTITUTE): Remove macro.
72529 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72531         Minor improvement in gitlog-to-changelog
72533         * build-aux/gitlog-to-changelog: New option `--format' makes
72534         output format string configurable.
72536 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72538         Optimize exclude: use hash tables for non-wildcard patterns.
72540         * lib/exclude.c: Include hash.h and mbuiter.h
72541         (struct exclude_pattern, exclude_segment): New data types.
72542         (struct exclude): Rewrite.
72543         (fnmatch_pattern_has_wildcards): New function.
72544         (new_exclude_segment, free_exclude_segment): New functions.
72545         (excluded_file_pattern_p, excluded_file_name_p): New functions.
72546         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
72547         * lib/exclude.h (is_fnmatch_pattern): New prototype.
72548         * modules/exclude: Depend on hash and mbuiter.
72550         * modules/exclude-tests: New file.
72551         * tests/test-exclude.c: New file.
72552         * tests/test-exclude1.sh: New file.
72553         * tests/test-exclude2.sh: New file.
72554         * tests/test-exclude3.sh: New file.
72555         * tests/test-exclude4.sh: New file.
72556         * tests/test-exclude5.sh: New file.
72557         * tests/test-exclude6.sh: New file.
72558         * tests/test-exclude7.sh: New file.
72560 2009-08-12  Bruno Haible  <bruno@clisp.org>
72562         Ensure that getopt() gets declared by <unistd.h>.
72563         * lib/unistd.in.h: Conditionally include getopt.h.
72564         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
72565         Set GNULIB_UNISTD_H_GETOPT.
72566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
72567         GNULIB_UNISTD_H_GETOPT.
72568         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
72570 2009-08-12  Bruno Haible  <bruno@clisp.org>
72572         Clarify logic.
72573         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
72574         gl_replace_getopt instead of GETOPT_H.
72576 2009-08-12  Bruno Haible  <bruno@clisp.org>
72578         * m4/getopt.m4: Add comments.
72580 2009-08-12  Bruno Haible  <bruno@clisp.org>
72582         Disable multithread support by default on Cygwin 1.5.x.
72583         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
72584         set gl_use_threads=no if not specified otherwise.
72586 2009-08-11  Bruno Haible  <bruno@clisp.org>
72588         Avoid compilation error on NetBSD 5.0.
72589         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
72590         * tests/test-stdio.c: Likewise.
72591         * tests/test-stdlib.c: Likewise.
72592         * tests/test-string.c: Likewise.
72593         * tests/test-unistd.c: Likewise.
72594         Reported by Greg Troxel <gdt@ir.bbn.com>
72595         at <https://savannah.gnu.org/support/?106973>.
72597 2009-08-11  Bruno Haible  <bruno@clisp.org>
72599         * modules/dup2-tests (Depends-on): Remove close.
72601         Undo 2009-07-19 commit.
72602         * modules/acl-tests (Depends-on): Remove close.
72603         * modules/binary-io-tests (Depends-on): Likewise.
72604         * modules/closein-tests (Depends-on): Likewise.
72605         * modules/flock-tests (Depends-on): Likewise.
72606         * modules/fsync-tests (Depends-on): Likewise.
72607         * modules/lseek-tests (Depends-on): Likewise.
72608         * modules/pipe-tests (Depends-on): Likewise.
72609         * modules/posix_spawn-tests (Depends-on): Likewise.
72610         * modules/posix_spawnp-tests (Depends-on): Likewise.
72611         * modules/stat-time-tests (Depends-on): Likewise.
72612         * modules/yesno-tests (Depends-on): Likewise.
72614 2009-08-10  Bruno Haible  <bruno@clisp.org>
72616         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
72618 2009-08-10  Bruno Haible  <bruno@clisp.org>
72620         Fix a gcc warning.
72621         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
72623 2009-08-10  Bruno Haible  <bruno@clisp.org>
72625         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
72626         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
72627         not only the first time.
72628         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
72629         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
72630         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
72631         is 1, not only the first time.
72633 2009-08-10  Bruno Haible  <bruno@clisp.org>
72635         Make it possible to use module 'gethostname' without module 'close'.
72636         * lib/unistd.in.h (close): Evoke a link error only if
72637         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
72638         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
72639         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
72640         * modules/unistd (Makefile.am): Substitute
72641         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
72642         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
72643         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
72644         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
72645         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
72646         * modules/sys_ioctl (Makefile.am): Substitute
72647         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
72648         * modules/socket (configure.ac): On native Windows, set
72649         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
72650         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
72651         Reported by Sam Steingold <sds@gnu.org>.
72653 2009-08-10  Bruno Haible  <bruno@clisp.org>
72655         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
72656         * modules/ioctl (configure.ac): Likewise.
72658 2009-08-10  Bruno Haible  <bruno@clisp.org>
72660         Avoid collision between gnulib wrapper and libintl wrapper.
72661         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
72662         already defined in intl/printf.c.
72663         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
72664         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
72666 2009-08-09  Bruno Haible  <bruno@clisp.org>
72668         Make <sys/select.h> really self-contained, also on Solaris 10.
72669         * lib/sys_select.in.h: Include <string.h>.
72670         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
72671         Solaris 10 problem.
72672         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
72673         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
72674         Reported by Jim Meyering.
72676 2009-08-09  Bruno Haible  <bruno@clisp.org>
72678         Avoid warnings from 'aclocal' that are due to a use of macro name
72679         AM_XGETTEXT_OPTION that is not defined in automake.
72680         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
72681         automake.
72682         * modules/error (configure.ac): Likewise.
72683         * modules/propername (configure.ac): Likewise.
72684         * modules/vasprintf (configure.ac): Likewise.
72685         * modules/verror (configure.ac): Likewise.
72686         * modules/xprintf (configure.ac): Likewise.
72687         * modules/xvasprintf (configure.ac): Likewise.
72689 2009-08-08  Bruno Haible  <bruno@clisp.org>
72691         Avoid compilation error in C++ mode.
72692         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
72693         Reported by Sam Steingold <sds@gnu.org>.
72695 2009-08-08  Bruno Haible  <bruno@clisp.org>
72697         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
72698         for the various Unix platforms.
72699         * doc/posix-headers/limits.texi: Update platforms list regarding
72700         HOST_NAME_MAX.
72701         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
72703 2009-08-07  Jim Meyering  <meyering@redhat.com>
72705         selinux-at: fix typo in a comment
72706         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
72707         Spotted by Paolo Bonzini.
72709         selinux-at: remove redundant m4 code, add documentation
72710         * modules/selinux-at (configure.ac): Remove redundant code.
72711         LIB_SELINUX is already set via the dependent module, selinux-h.
72712         (Include): Add quotes around selinux-at.h.
72713         * lib/selinux-at.h: Add documentation.
72714         Reported by Bruno Haible in
72715         http://marc.info/?l=gnulib-bug&m=124958988300749
72717 2009-08-07  Bruno Haible  <bruno@clisp.org>
72719         Avoid link error on MacOS X 10.3 and 10.4.
72720         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
72721         on non-ELF systems.
72722         * lib/argp-pv.c (argp_program_version): Likewise.
72723         Reported by Simon Josefsson.
72725 2009-08-07  Simon Josefsson  <simon@josefsson.org>
72727         * tests/test-version-etc.sh: Use $EXEEXT.
72729 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
72731         update-copyright: update documentation to point to maint.mk
72732         * build-aux/update-copyright: Here.
72734 2009-08-06  Jim Meyering  <meyering@redhat.com>
72736         maint.mk: support update-copyright-local
72737         * top/maint.mk (update-copyright-local): Define place-holder.
72738         (update-copyright): Depend on $(update-copyright-local).
72740 2009-08-06  Jim Meyering  <meyering@redhat.com>
72742         selinux-at: new module
72743         Initially written for coreutils, this module will soon be
72744         used by findutils, too.
72745         * MODULES.html.sh [Misc]: Add selinux-at.
72746         * lib/selinux-at.h: New file, from coreutils.
72747         * lib/selinux-at.c: Likewise.
72748         * modules/selinux-at: Likewise.
72749         (License): Change from LGPL to GPL, since it depends
72750         on the GPL'd openat module.
72752         doc: update README
72753         * README: Remove references to cogito.
72754         Remove cvs-repo-updating instructions from 2007.
72755         Don't imply that CVS is better if you have limited disk space.
72757 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
72759         update-copyright: support C-style comments
72760         * build-aux/update-copyright: Implement and document.
72761         * tests/test-update-copyright.sh: Test.
72763 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
72765         update-copyright: support omitted "(C)"
72766         * build-aux/update-copyright: Implement and document.  Also,
72767         allow variable whitespace before "(C)".
72768         * tests/test-update-copyright.sh: Test.
72770 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
72772         update-copyright: don't trip on non-FSF copyright statements
72773         * build-aux/update-copyright: Fix so that the first correctly
72774         formatted FSF copyright statement is recognized no matter what
72775         appears before it.  Update documentation.
72776         * tests/test-update-copyright.sh: Test that.
72778 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
72780         update-copyright: clean up code a little
72781         * build-aux/update-copyright: Append "_re" to the name of any
72782         variable holding a regular expression.
72783         Replace "old" and "new" with "stmt" in variable names.
72784         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
72785         handled correctly.
72786         Format code more consistently.
72788 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
72790         update-copyright-tests: improve portability
72791         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
72792         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
72794 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
72796         update-copyright: support @copyright{} and &copy;
72797         * build-aux/update-copyright: Implement and document.
72798         * tests/test-update-copyright.sh: Test.
72800 2009-08-04  Jim Meyering  <meyering@redhat.com>
72802         update-copyright-tests: correctly test EOL=\r\n handling
72803         * tests/test-update-copyright.sh: Put \r at the end of some lines
72804         for the dos-eol tests.  Based on a patch by Joel E. Denny.
72806         maint.mk: make update-copyright exclusion list more configurable
72807         * top/maint.mk (update-copyright): Default to excluding COPYING,
72808         but allow an override, in case someone does want to update that file.
72810         maint.mk: don't update copyright date in COPYING
72811         * top/maint.mk (update-copyright): Exclude COPYING.
72813         maint.mk: add a copyright-updating rule
72814         * top/maint.mk (update-copyright): New rule.
72815         Derived from coreutils/Makefile.am.
72817         update-copyright: rename some variables
72818         * build-aux/update-copyright: Rename a few variables for clarity.
72819         Tweak syntax.  List Joel E. Denny as coauthor.
72821 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
72823         update-copyright: fix bug for 2-digit last year and add tests
72824         * build-aux/update-copyright: Fix bug.
72825         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
72826         specified.
72827         * modules/update-copyright-tests: New
72828         * tests/test-update-copyright.sh: New.
72830 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
72832         update-copyright: handle leading tabs in line prefix
72833         * build-aux/update-copyright: Count leading tabs as 8 spaces
72834         when computing margin.  This helps with the formatting of
72835         ChangeLogs, for example.
72836         Fix documentation a little.
72838 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
72840         update-copyright: support EOL=\r\n
72841         * build-aux/update-copyright: Implement that.
72843 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
72845         update-copyright: automatically format copyright statements
72846         * build-aux/update-copyright: Implement that.
72847         Also, be a little more predictable and safer by always failing
72848         when the full copyright format is not perfectly recognized as an
72849         unbroken whole.  Discussed at
72850         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
72851         Rewrite documentation.
72853 2009-08-03  Bruno Haible  <bruno@clisp.org>
72855         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
72857 2009-08-02  Bruno Haible  <bruno@clisp.org>
72859         Tests for module 'uname'.
72860         * modules/uname-tests: New file.
72861         * tests/test-uname.c: New file.
72863         New module 'uname'.
72864         * lib/uname.c: New file.
72865         * m4/uname.m4: New file.
72866         * modules/uname: New file.
72867         * doc/posix-functions/uname.texi: Mention the new module.
72869 2009-08-02  Bruno Haible  <bruno@clisp.org>
72871         Tests for module 'sys_utsname'.
72872         * modules/sys_utsname-tests: New file.
72873         * tests/test-sys_utsname.c: New file.
72875         New module 'sys_utsname'.
72876         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
72877         * m4/sys_utsname_h.m4: New file.
72878         * modules/sys_utsname: New file.
72879         * doc/posix-headers/sys_utsname.texi: Mention the new module.
72881 2009-08-02  Bruno Haible  <bruno@clisp.org>
72883         Implicitly initialize the sockets library.
72884         * lib/gethostname.c: Include sockets.h.
72885         (rpl_gethostname): Invoke gl_sockets_startup.
72886         * lib/socket.c: Include sockets.h.
72887         (rpl_socket): Invoke gl_sockets_startup.
72888         * modules/gethostname (Depends-on): Add sockets.
72889         * modules/socket (Depends-on): Likewise.
72890         * tests/test-poll.c: Don't include sockets.h.
72891         (main): Don't invoke gl_sockets_startup.
72892         * tests/test-select.c: Don't include sockets.h.
72893         (main): Don't invoke gl_sockets_startup.
72895 2009-08-02  Bruno Haible  <bruno@clisp.org>
72897         Allow multiple calls to gl_sockets_startup.
72898         * lib/sockets.c (initialized_sockets_version): New variable.
72899         (gl_sockets_startup): Do nothing if already called for this or a higher
72900         version.
72901         (gl_sockets_cleanup): Reset initialized_sockets_version.
72903 2009-08-03  Simon Josefsson  <simon@josefsson.org>
72905         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
72906         different project/version.
72908 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
72909             Bruno Haible  <bruno@clisp.org>
72911         Tests for module 'pipe-filter-gi'.
72912         * modules/pipe-filter-gi-tests: New file.
72913         * tests/test-pipe-filter-gi1.sh: New file.
72914         * tests/test-pipe-filter-gi1.c: New file.
72915         * tests/test-pipe-filter-gi2.sh: New file.
72916         * tests/test-pipe-filter-gi2-main.c: New file.
72917         * tests/test-pipe-filter-gi2-child.c: New file.
72919         New module 'pipe-filter-gi'.
72920         * lib/pipe-filter-gi.c: New file.
72921         * modules/pipe-filter-gi: New file.
72923 2009-08-02  Bruno Haible  <bruno@clisp.org>
72924             Paolo Bonzini  <bonzini@gnu.org>
72926         Tests for module 'pipe-filter-ii'.
72927         * modules/pipe-filter-ii-tests: New file.
72928         * tests/test-pipe-filter-ii1.sh: New file.
72929         * tests/test-pipe-filter-ii1.c: New file.
72930         * tests/test-pipe-filter-ii2.sh: New file.
72931         * tests/test-pipe-filter-ii2-main.c: New file.
72932         * tests/test-pipe-filter-ii2-child.c: New file.
72934         New module 'pipe-filter-ii'.
72935         * lib/pipe-filter.h: New file.
72936         * lib/pipe-filter-ii.c: New file.
72937         * lib/pipe-filter-aux.h: New file.
72938         * modules/pipe-filter-ii: New file.
72940 2009-08-02  Simon Josefsson  <simon@josefsson.org>
72942         * lib/gc-libgcrypt.c: Change copyright to FSF.
72943         * lib/gc-gnulib.c: Likewise.
72945 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
72947         * lib/gethostname.c: Include limits.h.
72949 2009-08-02  Simon Josefsson  <simon@josefsson.org>
72950             Bruno Haible  <bruno@clisp.org>
72952         Ensure HOST_NAME_MAX as part of the gethostname module.
72953         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
72954         define also HOST_NAME_MAX.
72955         * tests/test-gethostname.c: Include <limits.h>.
72956         (main): Check also HOST_NAME_MAX.
72957         * doc/posix-headers/limits.texi: Document the mingw problem.
72959 2009-08-02  Bruno Haible  <bruno@clisp.org>
72961         * lib/gethostname.c (gethostname): Fix handling of large len argument.
72962         Add comments.
72964 2009-03-31  Simon Josefsson  <simon@josefsson.org>
72966         * lib/gethostname.c: Add Windows wrapper.
72967         * m4/gethostname.m4: Look for gethostname in -lws2_32.
72968         * modules/gethostname: Depend on sys_socket & errno, for also
72969         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
72970         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
72972 2009-07-31  Jim Meyering  <meyering@redhat.com>
72974         getloadavg: fix symbol name in comment
72975         * lib/getloadavg.c: Correct a typo I introduced when adding
72976         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
72977         Matt Kraai spotted the problem.
72979 2009-07-29  Matt Kraai  <mkraai@beckman.com>
72981         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
72982         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
72983         code also if ! defined N_NAME_POINTER.
72984         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
72985         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
72986         but the n_name member is a 12-byte array.
72988 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
72990         update-copyright: generalize comment handling
72991         * build-aux/update-copyright: Handle copyright statements
72992         within more comment styles.
72993         Document usage.
72994         Report any file with an external copyright holder or parse failure.
72996 2009-07-29  Jim Meyering  <meyering@redhat.com>
72998         mktime: correct setting of REPLACE_MKTIME
72999         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
73001         update-copyright: new module
73002         * modules/update-copyright: New file.
73003         * build-aux/update-copyright: New file.
73004         * MODULES.html.sh (maint+release support): Add update-copyright.
73006 2009-07-27  Bruno Haible  <bruno@clisp.org>
73008         Fix compilation error when <ctime> is used and mktime is replaced.
73009         * lib/time.in.h (mktime): New declaration.
73010         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
73011         REPLACE_MKTIME instead of defining mktime in config.h.
73012         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
73013         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
73014         Reported by Ross McFarland <rwmcfa1@neces.com>.
73016 2009-07-27  Bruno Haible  <bruno@clisp.org>
73018         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
73019         Reported by Matt Kraai <mkraai@beckman.com>.
73021 2009-07-25  Jim Meyering  <meyering@redhat.com>
73023         maint.mk: avoid warnings about missing files
73024         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
73025         diagnostic when .prev-version does not exist.
73026         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
73027         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
73028         nonexistent cfg.mk.
73029         Suggestions from Simon Josefsson.
73031 2009-07-25  Bruno Haible  <bruno@clisp.org>
73033         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
73034         defined as macros. Needed on QNX 6.4.1.
73035         Reported by Matt Kraai <mkraai@beckman.com>.
73037 2009-07-23  Jim Meyering  <meyering@redhat.com>
73039         maint.mk: invoke "make dist" with a working value of XZ_OPT
73040         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
73042 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
73044         Make fseeko.c compile on QNX.
73045         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
73047 2009-07-22  Peter Simons  <simons@cryp.to>
73049         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
73050         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
73051         * lib/md4.h: Likewise.
73052         * lib/md5.h: Likewise.
73053         * lib/sha1.h: Likewise.
73054         * lib/sha256.h: Likewise.
73055         * lib/sha512.h: Likewise.
73057         tests-sha1: don't assign literal string to 'char *' variable
73058         * tests/test-sha1.c (main): Declare locals with "const" to match
73059         attributes of the right hand side.
73061 2009-07-21  Eric Blake  <ebb9@byu.net>
73063         dup2: fix more mingw problems
73064         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
73065         fd to itself.
73066         * doc/posix-functions/dup2.texi (dup2): Document the bug.
73067         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
73068         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
73069         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
73070         care of mingw bugs.
73072 2009-07-21  Jim Meyering  <meyering@redhat.com>
73074         vc-list-files: avoid failure when /bin/sh is dash
73075         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
73076         On some Debian based systems, /bin/sh is a symlink to dash, and running
73077         this command would omit the "/" following each 'tests' prefix:
73078           dash -x build-aux/vc-list-files -C . tests
73079         That is because bash and dash work differently:
73080           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
73081           bash ok
73082           dash odd
73084 2009-07-21  Eric Blake  <ebb9@byu.net>
73086         dup2-tests: test previous patch
73087         * modules/dup2-tests: New file.
73088         * tests/test-dup2.c: Likewise.
73089         * tests/test-open.c (main): Avoid unspecified behavior.
73090         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
73091         test.
73093         dup2: work around mingw and cygwin 1.5 bug
73094         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
73095         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
73096         * modules/unistd (Makefile.am): Substitute it.
73097         * lib/unistd.in.h (dup2): Declare the replacement.
73098         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
73099         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
73100         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
73101         * modules/execute (Depends-on): Add dup2.
73102         * modules/fseterr (Depends-on): Likewise.
73103         * modules/pipe (Depends-on): Likewise.
73104         * modules/posix_spawn-internal (Depends-on): Likewise.
73106 2009-07-21  Bruno Haible  <bruno@clisp.org>
73108         * modules/.gitattributes: New file.
73110 2009-07-20  Bruno Haible  <bruno@clisp.org>
73112         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
73113         (main): Use it.
73115 2009-07-20  Eric Blake  <ebb9@byu.net>
73117         test-pipe: make a bit more robust.
73118         * tests/test-pipe.c (myerr): Allow error messages regardless of
73119         what we do to stderr.
73120         (test_pipe): Rearrange to avoid deadlock.
73121         (child_main): Try a larger read, to ensure we avoided deadlock.
73122         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
73123         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
73124         if misused.
73126 2009-07-19  Jim Meyering  <meyering@redhat.com>
73128         fts: avoid false-positive cycle-detection
73129         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
73130         for each new command line argument.
73132 2009-07-19  Bruno Haible  <bruno@clisp.org>
73134         Fix build error on mingw with the modules sys_select and unistd.
73135         * modules/acl-tests (Depends-on): Add close.
73136         * modules/binary-io-tests (Depends-on): Likewise.
73137         * modules/closein-tests (Depends-on): Likewise.
73138         * modules/flock-tests (Depends-on): Likewise.
73139         * modules/fsync-tests (Depends-on): Likewise.
73140         * modules/lseek-tests (Depends-on): Likewise.
73141         * modules/pipe-tests (Depends-on): Likewise.
73142         * modules/posix_spawn-tests (Depends-on): Likewise.
73143         * modules/posix_spawnp-tests (Depends-on): Likewise.
73144         * modules/stat-time-tests (Depends-on): Likewise.
73145         * modules/yesno-tests (Depends-on): Likewise.
73147 2009-07-19  Bruno Haible  <bruno@clisp.org>
73149         Unify conditionals.
73150         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
73151         macros, not at the compiler macros.
73152         * lib/pipe.c: Likewise.
73153         * lib/execute.c: Likewise.
73154         * lib/spawni.c: Likewise.
73156 2009-07-19  Bruno Haible  <bruno@clisp.org>
73158         Fix handling of closed stdin/stdout/stderr on mingw.
73159         * lib/w32spawn.h: Include unistd.h.
73160         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
73161         file descriptor with O_NOINHERIT flag.
73162         (fd_safer_noinherit): New function, based on fd-safer.c.
73163         (dup_safer_noinherit): New function, based on dup-safer.c.
73164         (undup_safer_noinherit): New function.
73165         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
73166         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
73167         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
73168         instead of fd_safer.
73169         * tests/test-pipe.c: Include <windows.h>.
73170         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
73171         result.
73173         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
73174         from main.
73175         (test_pipe): Pass an extra argument for disambiguation.
73176         (main): Invoke parent_main or child_main.
73178         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
73179         consistently.
73181 2009-07-18  Eric Blake  <ebb9@byu.net>
73183         test-pipe: fix mingw build
73184         * tests/test-pipe.c (main): Avoid fcntl on mingw.
73186 2009-07-18  Bruno Haible  <bruno@clisp.org>
73188         * modules/pipe-tests (Makefile.am): Fix typo.
73190 2009-07-18  Eric Blake  <ebb9@byu.net>
73192         error: fix mingw build
73193         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
73194         Reported by Bruno Haible.
73196         error: avoid undefined use of stdout
73197         * lib/error.c (error, error_at_line): Check that fd 1 is open
73198         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
73199         is handling faults and the close_stdout module wants to report the
73200         detection of closed stdout as an error.
73202 2009-07-17  Eric Blake  <ebb9@byu.net>
73204         pipe: be robust in face of closed fds
73205         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
73206         should cause child to misbehave.
73207         * modules/pipe-tests: New module.
73208         * tests/test-pipe.c: New file.
73209         * tests/test-pipe.sh: New file.
73210         Reported by Akim Demaille.
73212 2009-07-14  Bruno Haible  <bruno@clisp.org>
73214         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
73215         Reported by anonymous kc.
73217 2009-07-07  Jim Meyering  <meyering@redhat.com>
73219         maint.mk: don't look for translatable strings in *.m4 or *.mk
73220         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
73221         when searching for translatable strings.
73223 2009-07-05  Jim Meyering  <meyering@redhat.com>
73225         remove superfluous parentheses in STREQ definition
73226         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
73227         * lib/getugroups.c (STREQ): Likewise.
73228         * lib/fnmatch.c (STREQ): Likewise.
73229         Spotted by Bruno Haible.
73231 2009-07-04  Jim Meyering  <meyering@redhat.com>
73233         argv-iter: new module
73234         * MODULES.html.sh: Add argv-iter.
73235         * lib/argv-iter.c, lib/argv-iter.h: New files.
73236         * modules/argv-iter: New file.
73237         * modules/argv-iter-tests: New file.
73238         * tests/test-argv-iter.c: Test it.
73240 2009-07-04  Bruno Haible  <bruno@clisp.org>
73242         Fix assertion.
73243         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
73244         contains more exact copies of a given entry than file2, leave the extra
73245         copies unpaired rather than aborting.
73246         Reported by Eric Blake.
73248 2009-07-02  Bruno Haible  <bruno@clisp.org>
73250         Speedup git-merge-changelog for git cherry-pick.
73251         * lib/git-merge-changelog.c (struct entries_mapping): New type.
73252         (entries_mapping_get): New function, extracted from compute_mapping.
73253         (entries_mapping_reverse_get): New function.
73254         (compute_mapping): Add a 'full' argument. Return the result in a
73255         'struct entries_mapping'.
73256         (main): Update. Access the mappings through entries_mapping_get.
73257         Reported by Eric Blake.
73259 2009-07-02  Bruno Haible  <bruno@clisp.org>
73261         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
73262         best_i.
73264 2009-07-02  Bruno Haible  <bruno@clisp.org>
73266         Speed up approximate search for matching ChangeLog entries.
73267         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
73268         argument. Call fstrcmp_bounded instead of fstrcmp.
73269         (compute_mapping, try_split_merged_entry, main): Update callers.
73271 2009-07-02  Bruno Haible  <bruno@clisp.org>
73273         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
73275 2009-06-30  Bruno Haible  <bruno@clisp.org>
73277         Reduce the number of uc_is_cased calls.
73278         * lib/unicase.h (casing_suffix_context_t): Add
73279         'first_char_except_ignorable' field.
73280         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
73281         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
73282         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
73283         Update initializer.
73284         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
73285         case-ignorable characters.
73286         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
73287         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
73288         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
73289         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
73290         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
73292 2009-06-30  Bruno Haible  <bruno@clisp.org>
73294         Tests for module 'unicase/ignorable'.
73295         * modules/unicase/ignorable-tests: New file.
73296         * tests/unicase/test-ignorable.c: New file, generated by
73297         gen-uni-tables.
73299         Tests for module 'unicase/cased'.
73300         * modules/unicase/cased-tests: New file.
73301         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
73302         * tests/unicase/test-predicate-part1.h: New file, derived from
73303         tests/unictype/test-predicate-part1.h.
73304         * tests/unicase/test-predicate-part2.h: New file, same as
73305         tests/unictype/test-predicate-part2.h.
73307         Fix evaluation of "Before C" condition of FINAL_SIGMA.
73308         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
73309         (output_casing_properties): New function.
73310         (main): Call it.
73311         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
73312         * lib/unicase/cased.c: Include unictype/bitmap.h.
73313         (uc_is_cased): Define through a bitmap lookup.
73314         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
73315         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
73316         (uc_is_case_ignorable): Define through a bitmap lookup.
73317         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
73318         lib/unictype/bitmap.h.
73319         (Depends-on): Add inline. Clean up.
73320         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
73321         lib/unictype/bitmap.h.
73322         (Depends-on): Add inline. Clean up.
73323         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
73324         recognition.
73325         * tests/unicase/test-u16-tolower.c (main): Likewise.
73326         * tests/unicase/test-u32-tolower.c (main): Likewise.
73328 2009-06-30  Bruno Haible  <bruno@clisp.org>
73330         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
73331         * lib/unicase/u16-casemap.c: Likewise.
73332         * lib/unicase/u32-casemap.c: Likewise.
73334 2009-06-29  Bruno Haible  <bruno@clisp.org>
73336         Define u32_casefold as a wrapper around u32_ct_casefold.
73337         * lib/unicase/u32-casefold.c: Update.
73338         * modules/unicase/u32-casefold (Depends-on): Add
73339         unicase/u32-ct-casefold, unicase/empty-prefix-context,
73340         unicase/empty-suffix-context. Clean up.
73342         Define u16_casefold as a wrapper around u16_ct_casefold.
73343         * lib/unicase/u16-casefold.c: Update.
73344         * modules/unicase/u16-casefold (Depends-on): Add
73345         unicase/u16-ct-casefold, unicase/empty-prefix-context,
73346         unicase/empty-suffix-context. Clean up.
73348         Define u8_casefold as a wrapper around u8_ct_casefold.
73349         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
73350         * lib/unicase/u8-casefold.c: Update.
73351         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
73352         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
73354         Define u32_totitle as a wrapper around u32_ct_totitle.
73355         * lib/unicase/u32-totitle.c: Update.
73356         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
73357         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
73359         Define u16_totitle as a wrapper around u16_ct_totitle.
73360         * lib/unicase/u16-totitle.c: Update.
73361         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
73362         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
73364         Define u8_totitle as a wrapper around u8_ct_totitle.
73365         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
73366         functions.
73367         (FUNC): Delegate to U_CT_TOTITLE.
73368         * lib/unicase/u8-totitle.c: Update.
73369         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
73370         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
73372         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
73373         invocation.
73374         * modules/unicase/u32-tolower (Depends-on): Add
73375         unicase/empty-prefix-context, unicase/empty-suffix-context.
73377         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
73378         invocation.
73379         * modules/unicase/u16-tolower (Depends-on): Add
73380         unicase/empty-prefix-context, unicase/empty-suffix-context.
73382         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
73383         * modules/unicase/u8-tolower (Depends-on): Add
73384         unicase/empty-prefix-context, unicase/empty-suffix-context.
73386         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
73387         invocation.
73388         * modules/unicase/u32-toupper (Depends-on): Add
73389         unicase/empty-prefix-context, unicase/empty-suffix-context.
73391         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
73392         invocation.
73393         * modules/unicase/u16-toupper (Depends-on): Add
73394         unicase/empty-prefix-context, unicase/empty-suffix-context.
73396         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
73397         * modules/unicase/u8-toupper (Depends-on): Add
73398         unicase/empty-prefix-context, unicase/empty-suffix-context.
73400         New module 'unicase/u32-ct-casefold'.
73401         * lib/unicase/u32-ct-casefold.c: New file.
73402         * modules/unicase/u32-ct-casefold: New file.
73404         New module 'unicase/u16-ct-casefold'.
73405         * lib/unicase/u16-ct-casefold.c: New file.
73406         * modules/unicase/u16-ct-casefold: New file.
73408         New module 'unicase/u8-ct-casefold'.
73409         * lib/unicase/u8-ct-casefold.c: New file.
73410         * lib/unicase/u-ct-casefold.h: New file, derived from
73411         lib/unicase/u-casefold.h.
73412         * modules/unicase/u8-ct-casefold: New file.
73414         New module 'unicase/u32-ct-totitle'.
73415         * lib/unicase/u32-ct-totitle.c: New file.
73416         * modules/unicase/u32-ct-totitle: New file.
73418         New module 'unicase/u16-ct-totitle'.
73419         * lib/unicase/u16-ct-totitle.c: New file.
73420         * modules/unicase/u16-ct-totitle: New file.
73422         New module 'unicase/u8-ct-totitle'.
73423         * lib/unicase/u8-ct-totitle.c: New file.
73424         * lib/unicase/u-ct-totitle.h: New file, derived from
73425         lib/unicase/u-totitle.h.
73426         * modules/unicase/u8-ct-totitle: New file.
73428         New module 'unicase/u32-ct-tolower'.
73429         * lib/unicase/u32-ct-tolower.c: New file.
73430         * modules/unicase/u32-ct-tolower: New file.
73432         New module 'unicase/u16-ct-tolower'.
73433         * lib/unicase/u16-ct-tolower.c: New file.
73434         * modules/unicase/u16-ct-tolower: New file.
73436         New module 'unicase/u8-ct-tolower'.
73437         * lib/unicase/u8-ct-tolower.c: New file.
73438         * modules/unicase/u8-ct-tolower: New file.
73440         New module 'unicase/u32-ct-toupper'.
73441         * lib/unicase/u32-ct-toupper.c: New file.
73442         * modules/unicase/u32-ct-toupper: New file.
73444         New module 'unicase/u16-ct-toupper'.
73445         * lib/unicase/u16-ct-toupper.c: New file.
73446         * modules/unicase/u16-ct-toupper: New file.
73448         New module 'unicase/u8-ct-toupper'.
73449         * lib/unicase/u8-ct-toupper.c: New file.
73450         * modules/unicase/u8-ct-toupper: New file.
73452         Add context arguments to u*_casemap functions.
73453         * lib/unicase/unicasemap.h: Include unicase.h.
73454         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
73455         suffix_context arguments.
73456         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
73457         functions.
73458         (FUNC): Add prefix_context and suffix_context arguments. Use
73459         uc_is_cased and uc_is_case_ignorable.
73460         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
73461         * lib/unicase/u16-casemap.c: Likewise.
73462         * lib/unicase/u32-casemap.c: Likewise.
73463         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
73464         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
73465         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
73466         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
73467         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
73468         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
73470         New module 'unicase/u32-suffix-context'.
73471         * lib/unicase/u32-suffix-context.c: New file.
73472         * modules/unicase/u32-suffix-context: New file.
73474         New module 'unicase/u16-suffix-context'.
73475         * lib/unicase/u16-suffix-context.c: New file.
73476         * modules/unicase/u16-suffix-context: New file.
73478         New module 'unicase/u8-suffix-context'.
73479         * lib/unicase/u8-suffix-context.c: New file.
73480         * lib/unicase/u-suffix-context.h: New file.
73481         * modules/unicase/u8-suffix-context: New file.
73483         New module 'unicase/empty-suffix-context'.
73484         * lib/unicase/empty-suffix-context.c: New file.
73485         * modules/unicase/empty-suffix-context: New file.
73487         New module 'unicase/u32-prefix-context'.
73488         * lib/unicase/u32-prefix-context.c: New file.
73489         * modules/unicase/u32-prefix-context: New file.
73491         New module 'unicase/u16-prefix-context'.
73492         * lib/unicase/u16-prefix-context.c: New file.
73493         * modules/unicase/u16-prefix-context: New file.
73495         New module 'unicase/u8-prefix-context'.
73496         * lib/unicase/u8-prefix-context.c: New file.
73497         * lib/unicase/u-prefix-context.h: New file.
73498         * lib/unicase/context.h: New file.
73499         * modules/unicase/u8-prefix-context: New file.
73501         New module 'unicase/empty-prefix-context'.
73502         * lib/unicase/empty-prefix-context.c: New file.
73503         * modules/unicase/empty-prefix-context: New file.
73505         New module 'unicase/ignorable'.
73506         * lib/unicase/ignorable.c: New file.
73507         * modules/unicase/ignorable: New file.
73509         New module 'unicase/cased'.
73510         * lib/unicase/caseprop.h: New file.
73511         * lib/unicase/cased.c: New file.
73512         * modules/unicase/cased: New file.
73514         New functions for case mapping of substrings.
73515         * lib/unicase.h (casing_prefix_context_t): New type.
73516         (unicase_empty_prefix_context): New variable.
73517         (u8_casing_prefix_context, u16_casing_prefix_context,
73518         u32_casing_prefix_context, u8_casing_prefixes_context,
73519         u16_casing_prefixes_context, u32_casing_prefixes_context): New
73520         declarations.
73521         (casing_suffix_context_t): New type.
73522         (unicase_empty_suffix_context): New variable.
73523         (u8_casing_suffix_context, u16_casing_suffix_context,
73524         u32_casing_suffix_context, u8_casing_suffixes_context,
73525         u16_casing_suffixes_context, u32_casing_suffixes_context,
73526         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
73527         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
73528         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
73529         declarations.
73531 2009-06-28  Jim Meyering  <meyering@redhat.com>
73533         boostrap: indent only with spaces
73534         * build-aux/bootstrap: Indent only with spaces, never TABs.
73536         bootstrap: split long lines
73537         * build-aux/bootstrap: Keep line length < 80.
73539         bootstrap: sync from coreutils
73540         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
73541         just as autoreconf does.  Verify a list of prerequisite
73542         package-name,version-number pairs if defined in bootstrap.conf.
73543         Refer to README-prereq, if prerequisites are not satisfied.
73545 2009-06-27  Eric Blake  <ebb9@byu.net>
73547         tests: add test for bogus NULL definition
73548         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
73549         * tests/test-stdlib.c: Likewise.
73550         * tests/test-string.c: Likewise.
73551         * tests/test-locale.c: Likewise.
73552         * tests/test-unistd.c: Likewise.
73553         * modules/stdio-tests (Depends-on): Add verify.
73554         * modules/stdlib-tests (Depends-on): Likewise.
73555         * modules/string-tests (Depends-on): Likewise.
73556         * modules/locale-tests (Depends-on): Likewise.
73557         * modules/unistd-tests (Depends-on): Likewise.
73559 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
73561         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
73562         self-explaining comment.
73563         * m4/selinux-selinux-h: Update serial.
73564         (gl_LIBSELINUX): New macro, adding a warning for missing development
73565         packages to code extracted from...
73566         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
73567         Add warning for missing development packages here, too.
73569 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
73571         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
73573 2009-06-25  Eric Blake  <ebb9@byu.net>
73575         version-etc: fix regression
73576         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
73577         gcc.
73578         (version_etc): Use it, to catch bugs with trailing NULL.
73579         * lib/version-etc.c (version_etc_arn): Delete unused argument.
73580         (version_etc_va): Fix logic bug.
73581         * modules/version-etc-tests: Add test.
73582         * tests/test-version-etc.c: New file.
73583         * tests/test-version-etc.sh: Likewise.
73585 2009-06-25  Sam Steingold  <sds@gnu.org>
73587         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
73588         mbtowc declaration.
73590 2009-06-25  Eric Blake  <ebb9@byu.net>
73592         fpurge: migrate into <stdio.h>
73593         * lib/fpurge.h: Delete...
73594         * lib/stdio.in.h (fpurge): ...and declare here, instead.
73595         * lib/fpurge.c (fpurge): Change declaring header.
73596         * modules/fpurge (Files): Drop deleted file.
73597         (Depends-on): Add stdio.
73598         (configure.ac): Set witness.
73599         * modules/stdio (Makefile.am): Support fpurge macros.
73600         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
73601         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
73602         * lib/fflush.c: Update client.
73603         * tests/test-fpurge.c: Likewise.
73604         * NEWS: Mention the change.
73606 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
73608         * lib/argp-version-etc.c (program_authors): Add const
73609         qualifier.
73610         * lib/version-etc.c: Fix typos in the comments.
73611         * modules/argp-version-etc: Depends on version-etc.
73613 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
73615         argp-version-etc: new module.
73617         * lib/argp-version-etc.c: New file.
73618         * lib/argp-version-etc.h: New file.
73619         * modules/argp-version-etc: New file.
73620         * modules/argp-version-etc-tests: New file.
73621         * tests/test-argp-version-etc.c: New test.
73622         * tests/test-argp-version-etc-1.sh: New test.
73624 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
73626         Provide additional interfaces and documentation for version-etc
73627         module.
73629         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
73630         interfaces.
73631         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
73632         prototypes.
73634 2009-06-24  Bruno Haible  <bruno@clisp.org>
73636         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
73637         HAVE_LIB${NAME} macro.
73638         Reported by Sam Steingold <sds@gnu.org>.
73640 2009-06-23  Simon Josefsson  <simon@josefsson.org>
73642         * modules/hash-tests (test_hash_LDADD): Link to libintl when
73643         needed.
73645 2009-06-21  Bruno Haible  <bruno@clisp.org>
73647         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
73648         work.
73649         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
73650         together with LIB${NAME}, LTLIB${NAME}.
73651         Reported by Sam Steingold <sds@gnu.org>.
73653 2009-06-20  Jim Meyering  <meyering@redhat.com>
73655         tests: make sc_require_test_exit_idiom more generic
73656         * top/maint.mk (Exit_witness_file): New overridable variable.
73657         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
73658         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
73660 2009-06-19  Jim Meyering  <meyering@redhat.com>
73662         hash: reverse order of src/dst parameters in an internal interface
73663         * lib/hash.c (transfer_entries): Reverse order of parameters to
73664         put DST before SRC.  Adjust callers.
73666         tests: test-hash: avoid wholesale duplication
73667         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
73668         Instead, use a loop and add a single conditional.
73670         tests: test-hash: allow seed selection via a command line argument
73671         * tests/test-hash.c (get_seed): New function.
73672         (main): Use it.
73674 2009-06-19  Eric Blake  <ebb9@byu.net>
73676         hash: avoid memory leak on allocation failure
73677         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
73678         failure.  Factor repeated algorithm...
73679         (transfer_entries): ...into new helper routine.
73680         (hash_delete): React to hash_rehash return value.
73682         hash: reduce memory pressure in hash_rehash no-op case
73683         * lib/hash.c (next_prime): Avoid overflow.
73684         (hash_initialize): Factor bucket size computation...
73685         (compute_bucket_size): ...into new helper function.
73686         (hash_rehash): Use new function and open coding to reduce memory
73687         pressure, and avoid a memory leak in USE_OBSTACK code.
73688         Reported by Jim Meyering.
73690 2009-06-18  Eric Blake  <ebb9@byu.net>
73692         hash: make rotation more obvious
73693         * modules/hash (Depends-on): Add bitrotate and stdint.
73694         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
73695         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
73696         (SIZE_MAX): Rely on headers for definition.
73697         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
73698         (raw_hasher): Use rotr_sz.
73699         Suggested by Jim Meyering.
73701         hash: fix memory leak in last patch
73702         * lib/hash.c (hash_rehash): Avoid memory leak.
73704         hash: avoid no-op rehashing
73705         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
73707         hash: provide default callback functions
73708         * lib/hash.c (raw_hasher, raw_comparator): New functions.
73709         (hash_initialize): Use them as defaults.
73710         * tests/test-hash.c (main): Test this.
73712         hash: minor optimization
73713         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
73714         when possible.
73715         (hash_initialize): Document this promise.
73716         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
73717         * tests/test-hash.c (hash_compare_strings): Test this.
73719 2009-06-18  Bruno Haible  <bruno@clisp.org>
73721         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
73722         going to be replaced anyway.
73724 2009-06-18  Bruno Haible  <bruno@clisp.org>
73726         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
73727         in one place.
73728         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
73729         be replaced anyway.
73731 2009-06-18  Eric Blake  <ebb9@byu.net>
73733         hash: check for resize before insertion
73734         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
73735         threshold before insertion, so that a pathological hash_rehash
73736         that fills every bucket can still trigger another rehash.
73738 2009-06-18  Jim Meyering  <meyering@redhat.com>
73740         hash-tests: add a loop around the small tests
73741         * tests/test-hash.c (main): Repeat small tests with selected
73742         small initial table sizes.
73744 2009-06-17  Eric Blake  <ebb9@byu.net>
73746         hash: minor cleanups
73747         * lib/hash.h (hash_entry): Make opaque, by moving...
73748         * lib/hash.c (hash_entry): ...here.
73749         (hash_insert): Clarify restrictions on what can be inserted.
73750         (hash_get_next): Clarify when it is safe to remove an element
73751         during traversal.
73752         (check_tuning): Skip verification when tuning is known safe.
73753         (hash_initialize): Clarify restrictions on tuning.
73755 2009-06-17  Jim Meyering  <jim@meyering.net>
73756         and Eric Blake  <ebb9@byu.net>
73758         hash-tests: new module
73759         * modules/hash-tests: New file.
73760         * tests/test-hash.c: New file.
73762 2009-06-17  Eric Blake  <ebb9@byu.net>
73764         strstr-simple: document new module
73765         * MODULES.html.sh: Document new module.
73767         strstr, strcasestr: replace on platforms with broken memchr
73768         * modules/strstr: Split into...
73769         * modules/strstr-simple: ...new module that does not care about
73770         performance, but does care about glibc bug.
73771         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
73772         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
73773         if platform memchr is broken, per Debian bug 521737.
73774         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
73775         memchr.
73776         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
73777         * doc/posix-functions/strstr.texi (strstr): Document the fix.
73778         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
73779         * modules/mountlist (Depends-on): Add strstr-simple.
73780         * modules/gen-uni-tables (Depends-on): Likewise.
73781         * modules/argz (Depends-on): Add strstr.
73783 2009-06-17  Bruno Haible  <bruno@clisp.org>
73785         * modules/posix_spawn-internal (Depends-on): Add errno.
73787 2009-06-17  Bruno Haible  <bruno@clisp.org>
73789         Define missing ESTALE on Interix 3.5.
73790         * lib/errno.in.h (ESTALE): Assign a value if missing.
73791         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
73792         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
73793         missing.
73794         * doc/posix-headers/errno.texi: Mention the Interix bug.
73795         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
73797 2009-06-15  Eric Blake  <ebb9@byu.net>
73799         memchr, memchr2: add valgrind exception
73800         * lib/memchr.valgrind: New file.
73801         * lib/memchr2.valgrind: New file.
73802         * modules/memchr (Files): Distribute valgrind file.
73803         * modules/memchr2 (Files): Likewise.
73805         docs: memchr is no longer obsolete
73806         * MODULES.html.sh: Move memchr from obsolete to string.h section.
73807         * lib/string.in.h (memchr): Simplify logic.
73809 2009-06-14  Jim Meyering  <meyering@redhat.com>
73811         link-follow: fix the "checking..." message to not mention trailing slash
73812         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
73813         never considered trailing slashes.
73815 2009-06-14  Bruno Haible  <bruno@clisp.org>
73817         * m4/memchr.m4: Mention also the bug on IA-64.
73818         * doc/posix-functions/memchr.texi: Likewise.
73820 2009-06-12  Eric Blake  <ebb9@byu.net>
73822         memchr: detect broken x86_64 and alpha implementations
73823         * modules/memchr-tests (Depends-on): Move mmap detection...
73824         * modules/memchr (Depends-on): ...here.
73825         (configure.ac): Set indicator.
73826         * lib/string.in.h (memchr): Declare replacement.
73827         * modules/string (Makefile.am): Trigger replacement.
73828         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
73829         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
73830         bugs.
73831         * doc/posix-functions/memchr.texi (memchr): Document the bug.
73832         * modules/getpagesize (License): Relax license.
73834 2009-06-11  Bruno Haible  <bruno@clisp.org>
73836         * lib/idpriv.h: Add more references.
73838 2009-06-08  Bruno Haible  <bruno@clisp.org>
73840         Tests for module 'idpriv-droptemp'.
73841         * modules/idpriv-droptemp-tests: New file.
73842         * tests/test-idpriv-droptemp.sh: New file.
73843         * tests/test-idpriv-droptemp.su.sh: New file.
73844         * tests/test-idpriv-droptemp.c: New file.
73846         New module 'idpriv-droptemp'.
73847         * lib/idpriv-droptemp.c: New file.
73848         * modules/idpriv-droptemp: New file.
73850 2009-06-08  Bruno Haible  <bruno@clisp.org>
73852         Tests for module 'idpriv-drop'.
73853         * modules/idpriv-drop-tests: New file.
73854         * tests/test-idpriv-drop.sh: New file.
73855         * tests/test-idpriv-drop.su.sh: New file.
73856         * tests/test-idpriv-drop.c: New file.
73858         New module 'idpriv-drop'.
73859         * lib/idpriv.h: New file.
73860         * lib-idpriv-drop.c: New file.
73861         * m4/idpriv.m4: New file.
73862         * modules/idpriv-drop: New file.
73864 2009-06-08  Bruno Haible  <bruno@clisp.org>
73866         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
73867         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
73868         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
73869         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
73870         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
73871         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
73872         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
73874 2009-06-08  Eric Blake  <ebb9@byu.net>
73876         test-strstr: use memory fence, when possible
73877         * tests/test-strstr.c (main): Use memory fence, in order to be
73878         more likely to trigger Debian bug 521737.
73879         * modules/strstr-tests (Files): Pull in additional files.
73881         memchr: no longer obsolete, for wider field testing
73882         * modules/memchr (Status, Notice): Delete, this module is no
73883         longer obsolete.
73884         * modules/vasnprintf (Depends-on): Add memchr.
73886 2009-06-07  Jim Meyering  <meyering@redhat.com>
73888         hash: declare some functions with the warn_unused_result attribute
73889         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
73891 2009-06-07  Bruno Haible  <bruno@clisp.org>
73893         * tests/test-alignof.c: Don't test int64_t if it does not exist.
73894         Reported by Eric Blake.
73896 2009-06-06  Eric Blake  <ebb9@byu.net>
73898         test-alignof: fix typo with long double
73899         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
73900         compiler error.
73902 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
73904         Escape non-texinfo { and }s.
73905         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
73906         markup error.
73908 2009-06-04  Jim Meyering  <meyering@redhat.com>
73910         gitlog-to-changelog: don't infloop on an empty commit log
73911         * build-aux/gitlog-to-changelog: Warn about an empty log message.
73912         Reported by Boris Petersen <transacid@centerim.org>.
73914 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
73916         version-etc: extend for packagers
73917         Add three new configure options, intended for packagers:
73918           --with-packager="packager name"
73919           --with-packager-version="packager-specific version"
73920           --with-packager-bug-reports="packager bug reporting"
73921         An example with coreutils:
73922           $ ./configure \
73923             --with-packager=Gentoo \
73924             --with-packager-bug-report=http://bugs.gentoo.org/ \
73925             --with-packager-version="patchset 1.6"
73926           $ ./src/ls --version | head -n2
73927           ls (GNU coreutils) 7.1-dirty
73928           Packaged by Gentoo (patchset 1.6)
73929         Note that the bug reporting info via --help doesn't show up because
73930         coreutils uses its own custom emit_bug_reporting_address() implementation
73931         in src/system.h.  If it didn't, it'd look like:
73932           $ ./src/ls --help | tail -n4
73933           Report bugs to <bug-coreutils@gnu.org>.
73934           Report Gentoo bugs to <http://bugs.gentoo.org/>.
73935           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
73936           General help using GNU software: <http://www.gnu.org/gethelp/>.
73937         * lib/version-etc.c: Print new information, if provided.
73938         * m4/version-etc.m4: New file.
73939         * modules/version-etc (Files): Add m4/version-etc.m4.
73940         (configure.ac): Add gl_VERSION_ETC.
73942 2009-05-31  Bruno Haible  <bruno@clisp.org>
73944         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
73945         and 'int64_t'.
73946         * modules/alignof-tests (Dependencies): Add stdint.
73947         Reported by Eric Blake.
73949 2009-05-31  Bruno Haible  <bruno@clisp.org>
73951         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
73952         restriction due to compiler bugs.
73953         Reported by Eric Blake.
73955 2009-05-31  Simon Josefsson  <simon@josefsson.org>
73956             Bruno Haible  <bruno@clisp.org>
73958         Fix test-alignof failure.
73959         * lib/alignof.h (alignof_slot): New macro.
73960         (alignof_type): New macro, with the same semantics as the previous
73961         'alignof'.
73962         (alignof): Alias to alignof_slot.
73963         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
73964         check that the results are usable as constant expressions.
73966 2009-05-31  Bruno Haible  <bruno@clisp.org>
73968         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
73969         * tests/test-memchr.c (main): Check that memchr does not read past the
73970         first occurrence of the byte.
73971         * tests/test-strstr.c (main): Update comment.
73972         Suggested by Eric Blake.
73974 2009-05-30  Bruno Haible  <bruno@clisp.org>
73976         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
73977         detail how to use dumpbin.
73978         Reported by David Byron <dbyron@dbyron.com>.
73980 2009-06-02  Simon Josefsson  <simon@josefsson.org>
73982         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
73984 2009-06-02  Simon Josefsson  <simon@josefsson.org>
73986         * m4/manywarnings.m4: Add GCC 4.4 warnings.
73988 2009-05-28  Bruno Haible  <bruno@clisp.org>
73990         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
73991         build-aux/ files.
73993 2009-05-28  Simon Josefsson  <simon@josefsson.org>
73995         * gnulib-tool (func_import): Transform license on build-aux/ files too.
73997 2009-05-27  Simon Josefsson  <simon@josefsson.org>
73999         * gnulib-tool (sed_transform_main_lib_file)
74000         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
74001         regexps.
74003 2009-05-26  Simon Josefsson  <simon@josefsson.org>
74005         * tests/test-strstr.c: Add another self-test.
74006         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
74007         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
74009 2009-05-23  Bruno Haible  <bruno@clisp.org>
74011         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
74012         change.
74014 2009-05-21  Bruno Haible  <bruno@clisp.org>
74016         Simplify use of mode_t varargs.
74017         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
74018         uses 'mode_t' or 'int'.
74019         * lib/openat.c (openat): Likewise.
74020         * lib/open-safer.c (open_safer): Likewise.
74021         * m4/mode_t.m4: New file.
74022         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
74023         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
74024         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
74025         * modules/open (Files): Add m4/mode_t.m4.
74026         * modules/openat (Files): Likewise.
74027         * modules/fcntl-safer (Files): Likewise.
74028         Suggested by Eric Blake.
74030 2009-05-21  Pádraig Brady  <P@draigbrady.com>
74032         * doc/glibc-functions/fallocate.texi: New file.
74033         * doc/gnulib.texi: Include it.
74035 2009-05-21  Eric Blake  <ebb9@byu.net>
74036             Bruno Haible  <bruno@clisp.org>
74038         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
74039         invocations.
74040         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
74042 2009-05-21  Eric Blake  <ebb9@byu.net>
74043             Bruno Haible  <bruno@clisp.org>
74045         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
74046         include_next. Fix of 2008-11-20 commit.
74047         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
74048         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
74049         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
74050         NEXT_MATH_H.
74051         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
74052         instead of NEXT_MATH_H.
74054 2009-05-21  Bruno Haible  <bruno@clisp.org>
74056         Avoid redefinition warnings for SIZE_MAX.
74057         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
74058         Reported by Simon Josefsson.
74060 2009-05-21  Bruno Haible  <bruno@clisp.org>
74062         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
74063         AC_CACHE_VAL.
74065 2009-05-20  Bruno Haible  <bruno@clisp.org>
74067         Make zeroptr.h work on mingw.
74068         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
74069         mprotect.
74070         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
74071         * modules/memchr2-tests (configure.ac): Likewise.
74072         * modules/memcmp-tests (configure.ac): Likewise.
74073         * modules/memmem-tests (configure.ac): Likewise.
74074         * modules/memrchr-tests (configure.ac): Likewise.
74075         Reported by Simon Josefsson.
74077 2009-05-20  Simon Josefsson  <simon@josefsson.org>
74079         * tests/test-glob.c: Include string.h for strcmp prototype.
74081 2009-05-20  Simon Josefsson  <simon@josefsson.org>
74083         * modules/getdelim (Depends-on): Add explicit stdint, although it
74084         was implicitly already pulled in via realloc-posix.
74085         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
74087 2009-05-20  Simon Josefsson  <simon@josefsson.org>
74089         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
74090         G. Christensen" <tgc@jupiterrise.com>.
74091         * m4/sys_socket_h.m4: Check for sa_family_t.
74092         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
74093         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
74094         * tests/test-sys_socket.c: Check that sa_family_t works.
74096 2009-05-18  Eric Blake  <ebb9@byu.net>
74098         maint.mk: allow gnulib_dir in VPATH build
74099         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
74101 2009-05-15  Jim Meyering  <meyering@redhat.com>
74103         maint.mk: Give gnulib_dir a default definition.
74104         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
74105         Thus, most packages no longer need to specify this variable in cfg.mk
74107 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
74109         rename.m4: fix typos that would make non-mingw cross-configure fail
74110         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
74112 2009-05-13  Eric Blake  <ebb9@byu.net>
74114         mmap-anon: avoid out-of-order autoconf expansion
74115         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
74116         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
74117         * modules/memchr-tests (Depends-on): Add extensions.
74118         * modules/memchr2-tests (Depends-on): Add extensions.
74119         * modules/memcmp-tests (Depends-on): Add extensions.
74120         * modules/memmem-tests (Depends-on): Add extensions.
74121         * modules/memrchr-tests (Depends-on): Add extensions.
74123 2009-05-13  Bruno Haible  <bruno@clisp.org>
74125         Make some tests ISO C 99 compliant.
74126         * tests/zerosize-ptr.h: New file.
74127         * tests/test-memchr.c: Include zerosize-ptr.h.
74128         (main): Use a zero-size object pointer instead of NULL.
74129         * tests/test-memchr2.c: Include zerosize-ptr.h.
74130         (main): Use a zero-size object pointer instead of NULL.
74131         * tests/test-memcmp.c: Include zerosize-ptr.h.
74132         (main): Use a zero-size object pointer instead of NULL.
74133         * tests/test-memmem.c: Include zerosize-ptr.h.
74134         (main): Use a zero-size object pointer instead of NULL.
74135         * tests/test-memrchr.c: Include zerosize-ptr.h.
74136         (main): Use a zero-size object pointer instead of NULL.
74137         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
74138         m4/mmap-anon.m4.
74139         (Depends-on): Add getpagesize.
74140         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
74141         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
74142         m4/mmap-anon.m4.
74143         (Depends-on): Add getpagesize.
74144         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
74145         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
74146         m4/mmap-anon.m4.
74147         (Depends-on): Add getpagesize.
74148         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
74149         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
74150         m4/mmap-anon.m4.
74151         (Depends-on): Add getpagesize.
74152         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
74153         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
74154         m4/mmap-anon.m4.
74155         (Depends-on): Add getpagesize.
74156         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
74158 2009-05-12  Bruno Haible  <bruno@clisp.org>
74160         Tests for module 'alignof'.
74161         * modules/alignof-tests: New file.
74162         * tests/test-alignof.c: New file.
74164 2009-05-12  Bruno Haible  <bruno@clisp.org>
74166         Fix alignof macro.
74167         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
74168         vendor compilers that are always correct.
74170 2009-05-12  Bruno Haible  <bruno@clisp.org>
74172         Make the MAP_ANONYMOUS detection work on HP-UX 11.
74173         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
74174         not whether its fully works.
74176 2009-05-12  Bruno Haible  <bruno@clisp.org>
74178         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
74180 2009-05-12  Jim Meyering  <meyering@redhat.com>
74182         * top/maint.mk: Adjust backslash alignment.
74184 2009-05-11  Simon Josefsson  <simon@josefsson.org>
74186         * top/maint.mk: Make $(srcdir)/build-aux configurable.
74188 2009-05-11  Eric Blake  <ebb9@byu.net>
74190         argp: avoid undefined behavior
74191         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
74192         macros.
74194 2009-05-08  Simon Josefsson  <simon@josefsson.org>
74196         * tests/test-vc-list-files-git.sh: Do git config of user.email and
74197         user.name to prevent git commit from complaining.
74199 2009-05-10  Bruno Haible  <bruno@clisp.org>
74201         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
74202         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
74203         it rewrites every file name only once.
74204         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
74206 2009-05-08  Bruno Haible  <bruno@clisp.org>
74208         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
74209         instead of 'max'.
74211 2009-05-08  Simon Josefsson  <simon@josefsson.org>
74213         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
74214         sockaddr_storage test.
74216 2009-05-07  Simon Josefsson  <simon@josefsson.org>
74218         * modules/sys_socket (Makefile.am): Substitute
74219         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
74220         * m4/sys_socket_h.m4: Check for sockaddr_storage.
74221         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
74222         * tests/test-sys_socket.c: Check sockaddr_storage.
74224 2009-05-08  Bruno Haible  <bruno@clisp.org>
74226         New module 'alignof'.
74227         * lib/alignof.h: New file.
74228         * modules/alignof: New file.
74230 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
74231             Bruno Haible  <bruno@clisp.org>
74233         Fix test-file-has-acl on FreeBSD.
74234         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
74235         mask is implicitly added.
74236         * tests/test-file-has-acl.c: Include <signal.h>.
74237         (main): Terminate the test after 5 seconds.
74238         * modules/acl-tests (configure.ac): Check for alarm function.
74240 2009-05-04  Bruno Haible  <bruno@clisp.org>
74242         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
74243         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
74244         * modules/errno (configure.ac): Drop AC_REQUIRE.
74245         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
74246         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
74248 2009-05-04  Simon Josefsson  <simon@josefsson.org>
74250         * modules/glob-tests: New module.
74251         * tests/test-glob.c: Add.
74253 2009-05-04  Simon Josefsson  <simon@josefsson.org>
74255         * modules/fnmatch-tests: New module.
74256         * tests/test-fnmatch.c: Add.
74258 2009-05-04  Eric Blake  <ebb9@byu.net>
74260         maint: make the new no-submodule-changes rule VPATH-safe
74261         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
74263 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
74264             Bruno Haible  <bruno@clisp.org>
74266         acl: Fix infinite loop on FreeBSD.
74267         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
74268         of return value from acl_get_entry.
74269         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
74270         Likewise.
74272 2009-05-03  Bruno Haible  <bruno@clisp.org>
74274         * lib/acl-internal.h (acl_entries): Clarify return value.
74275         * lib/acl_entries.c (acl_entries): Likewise.
74277 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
74279         Bug fix in acl module.
74280         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
74282 2009-05-03  Bruno Haible  <bruno@clisp.org>
74284         Create gperf-generated file in the source dir, not in the build dir.
74285         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
74286         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
74287         * modules/unicase/locale-language (unicase/locale-languages.h):
74288         Likewise.
74289         * modules/unicase/special-casing (unicase/special-casing-table.h):
74290         Likewise.
74291         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
74292         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
74293         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
74294         Reported by Ralf Wildenhues.
74296 2009-05-03  Bruno Haible  <bruno@clisp.org>
74298         * modules/fnmatch (Description, configure.ac): Taken from
74299         fnmatch-posix.
74300         * modules/fnmatch-posix: Turn into a symbolic reference to the
74301         'fnmatch' module, and deprecate.
74302         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
74304 2009-05-03  Bruno Haible  <bruno@clisp.org>
74306         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
74307         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
74308         Reported by Ralf Wildenhues.
74310 2009-05-04  Simon Josefsson  <simon@josefsson.org>
74312         * m4/fnmatch.m4: Fix fnmatch re-define.
74314 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
74316         priv-set: new module and tests; adapt write-any-file
74317         * lib/priv-set.c: New file.
74318         * lib/priv-set.h: New file.
74319         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
74320         * lib/write-any-file.c: Simplify by using priv-set module.
74321         * m4/priv-set.m4: New file.
74322         * modules/priv-set: New file.
74323         * modules/unlinkdir: Add dependency on priv-set module.
74324         * modules/write-any-file: Likewise.
74326         Tests for module 'priv-set'.
74327         * modules/priv-set-tests: New file.
74328         * tests/test-priv-set.c: New file.
74330 2009-05-03  Jim Meyering  <meyering@redhat.com>
74331             Bruno Haible  <bruno@clisp.org>
74333         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
74334         use the converted UTF-8 variant of the name instead.
74336 2009-05-03  Jim Meyering  <meyering@redhat.com>
74338         tests: tighten some getdate tests
74339         * tests/test-getdate.c (main): Tighten tests: require equality,
74340         not just greater than.  Set TZ envvar to UTC0.
74342 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
74344         getdate: correctly interpret "next monday" when run on a Monday
74345         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
74346         that e.g., "next tues" (when run on a tuesday) results in a date
74347         that is one week in the future, and not today's date.
74348         I.e., add a week when the wday is the same as the current one.
74349         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
74350         and earlier by Martin Bernreuther and Jan Minář.
74351         * tests/test-getdate.c (main): Check that "next DAY" is always in
74352         the future and that "last DAY" is always in the past.
74354 2009-05-02  Jim Meyering  <meyering@redhat.com>
74356         build: ensure that a release build fails when a submodule is unclean
74357         * top/maint.mk (no-submodule-changes): New rule.
74358         (alpha beta major): Depend on it.
74360 2009-05-02  Bruno Haible  <bruno@clisp.org>
74362         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
74363         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
74364         shell variable gl_fnmatch_required to detect which variant is
74365         requested.
74366         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
74367         gl_FUNC_FNMATCH_POSIX.
74368         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
74369         exclude fnmatch-posix.
74371 2009-05-02  Bruno Haible  <bruno@clisp.org>
74373         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
74374         * modules/mbsrtowcs (License): Change to LGPLv2+.
74375         * modules/strnlen1 (License): Likewise.
74376         Reported by Simon Josefsson.
74378 2009-05-02  Bruno Haible  <bruno@clisp.org>
74380         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
74381         "cross".
74382         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
74383         gnulib-tool was called with option --source-base=lib.
74385 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74387         Use automake *-local hooks without commands, for extensibility.
74388         * modules/localcharset (Makefile.am): Rename install-exec-local
74389         rule to install-exec-localcharset, and make it a prerequisite of
74390         install-exec-local.  Likewise, rename the uninstall-local rule to
74391         uninstall-localcharset, and make it a prerequisite of the former.
74393 2009-05-01  Bruno Haible  <bruno@clisp.org>
74395         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
74396         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
74397         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
74398         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
74399         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
74400         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
74401         m4/locale-zh.m4, m4/codeset.m4.
74403         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
74404         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
74405         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
74406         m4/locale-zh.m4.
74408         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
74409         REPLACE_WCRTOMB if mbstate_t must be replaced.
74410         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
74411         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
74413 2009-05-01  Bruno Haible  <bruno@clisp.org>
74415         Avoid compiler warnings when redefining macros defined by <libintl.h>.
74416         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
74417         dngettext, dcngettext, textdomain, bindtextdomain,
74418         bind_textdomain_codeset): Undefine before redefining.
74420 2009-04-30  Bruno Haible  <bruno@clisp.org>
74422         Fix bug introduced on 2009-04-25.
74423         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
74424         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
74425         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
74426         is defined.
74427         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
74428         is defined.
74429         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
74430         is defined.
74431         Reported by Elbert_Pol <elbert.pol@gmail.com>.
74433 2009-04-28  Bruno Haible  <bruno@clisp.org>
74435         Comment tweaks.
74436         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
74437         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
74438         * lib/unicase.h (u*_casexfrm): Likewise.
74439         Reported by Paolo Bonzini.
74441 2009-04-28  Bruno Haible  <bruno@clisp.org>
74443         Fix a compilation error.
74444         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
74445         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
74446         Reported by Jim Meyering.
74448 2009-04-27  Bruno Haible  <bruno@clisp.org>
74450         New module 'libunistring'.
74451         * modules/libunistring: New file.
74452         * m4/libunistring.m4: New file.
74453         * MODULES.html.sh (Unicode string functions): Add it.
74455 2009-04-27  Eric Blake  <ebb9@byu.net>
74457         maint.mk: allow package-specific header to provide <config.h>
74458         * top/maint.mk (sc_require_config_h): New variable.
74459         (sc_require_config_h, sc_require_config_h_first): Use it.
74461 2009-04-27  Simon Josefsson  <simon@josefsson.org>
74463         * top/maint.mk (sc_avoid_if_before_free): Except
74464         useless-if-before-free script.
74466 2009-04-27  Eric Blake  <ebb9@byu.net>
74468         maintainer-makefile: depend on all required helper scripts
74469         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
74470         useless-if-before-free.
74471         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
74472         version, rather than assuming gnulib checkout is available.
74473         Reported by Simen Josefsson.
74475 2009-04-26  Bruno Haible  <bruno@clisp.org>
74477         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
74478         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
74479         "../" or "..".
74481 2009-04-26  Bruno Haible  <bruno@clisp.org>
74483         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
74484         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
74485         AC_LIB_HAVE_LINKFLAGS.
74487 2009-04-26  Bruno Haible  <bruno@clisp.org>
74489         Simplify calling convention of u*_conv_from_encoding.
74490         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
74491         u32_conv_from_encoding): Expect a resultbuf argument and return the
74492         result directly as a pointer.
74493         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
74494         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
74495         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
74496         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
74497         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
74498         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
74499         Update.
74500         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
74501         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
74502         * lib/vasnprintf.c (VASNPRINTF): Update.
74503         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
74504         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
74505         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
74506         * NEWS: Mention the change.
74508 2009-04-26  Bruno Haible  <bruno@clisp.org>
74510         Simplify calling convention of u*_conv_to_encoding.
74511         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
74512         u32_conv_to_encoding): Expect a resultbuf argument and return the
74513         result directly as a pointer.
74514         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
74515         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
74516         freeing scaled_offsets if mem_iconveha failed.
74517         * lib/unicase/u-casexfrm.h (FUNC): Update.
74518         * lib/uninorm/u-normxfrm.h (FUNC): Update.
74519         * lib/vasnprintf.c (VASNPRINTF): Update.
74520         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
74521         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
74522         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
74523         * NEWS: Mention the change.
74525 2009-04-26  Bruno Haible  <bruno@clisp.org>
74527         Avoid test failures on AIX and OSF/1.
74528         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
74529         malloc(0).
74530         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
74531         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
74532         Likewise.
74533         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
74534         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
74535         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
74536         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
74537         * doc/posix-functions/malloc.texi: Document the portability problem
74538         related to malloc(0).
74540 2009-04-26  Bruno Haible  <bruno@clisp.org>
74542         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
74543         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
74544         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
74546 2009-04-25  Bruno Haible  <bruno@clisp.org>
74548         Avoid link error when creating a namespace clean library.
74549         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
74550         as macro with arguments if already defined as an alias.
74551         * lib/signbitf.c (gl_signbitf): Don't undefine.
74552         * lib/signbitd.c (gl_signbitd): Don't undefine.
74553         * lib/signbitl.c (gl_signbitl): Don't undefine.
74555 2009-04-25  Jim Meyering  <meyering@redhat.com>
74557         vc-list-files: fix another quoting bug
74558         * build-aux/vc-list-files: Avoid sed backslash expansion
74559         of pathological directory names.
74561 2009-04-25  Eric Blake  <ebb9@byu.net>
74563         vc-list-files: fix shell quoting error
74564         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
74565         timestamp.
74567 2009-04-25  Jim Meyering  <meyering@redhat.com>
74569         vc-list-files: restore lost functionality with subdir argument
74570         * build-aux/vc-list-files: When given a non-"." sub-directory
74571         argument, substitute the $dir/ prefix back onto each resulting name.
74572         Otherwise, coreutils' root_tests check would fail.
74574 2009-04-24  Eric Blake  <ebb9@byu.net>
74576         vc-list-files: ignore git symlinks
74577         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
74578         than ls-files, to ignore git symlinks.
74580         maint.mk: import improvements from m4
74581         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
74582         (move_if_change): Delete unused macro.
74583         (news-date-check, vc-diff-check): Support VPATH builds.
74584         (announcement): Likewise.  Split --bootstrap-tools list...
74585         (boostrap-tools): ...into separate list, which can be overridden
74586         in cfg.mk.
74587         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
74588         requiring dependency on useless-if-before-free module.
74589         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
74590         Support VPATH builds.
74592 2009-04-24  Jim Meyering  <meyering@redhat.com>
74594         maint.mk: remove coreutils-specific rules and variables
74595         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
74596         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
74597         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
74599         maint.mk: remove obsolete rule
74600         * top/maint.mk (rel-check): Remove rule.
74601         (WGET, WGETFLAGS): Remove now-unused variables.
74603 2009-04-24  Simon Josefsson  <simon@josefsson.org>
74605         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
74606         consistency.
74608         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
74609         '$(PATH_SEPARATOR)' instead of ':'.
74611 2009-04-24  Simon Josefsson  <simon@josefsson.org>
74613         * lib/getopt1.c (main): Use 'const' for static array.
74615 2009-04-24  Simon Josefsson  <simon@josefsson.org>
74617         * top/maint.mk: Sync with coreutils.
74618         * NEWS: Explain incompatibilities.
74620 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74621             Bruno Haible  <bruno@clisp.org>
74623         Fix cross-compilation results.
74624         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
74625         statement, as third argument of AC_TRY_RUN.
74626         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
74627         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
74628         Likewise.
74629         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
74630         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
74631         Likewise.
74632         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
74633         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
74634         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
74636 2009-04-20  Bruno Haible  <bruno@clisp.org>
74638         Avoid test failure on mingw.
74639         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
74641 2009-04-20  Bruno Haible  <bruno@clisp.org>
74643         Avoid compilation error on mingw.
74644         * modules/localename-tests (Depends-on): Add locale.
74646 2009-04-19  Bruno Haible  <bruno@clisp.org>
74648         Support for building a shared library on Windows platforms.
74649         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
74650         (main): Test the presence of UNINORM_NFC here.
74651         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
74652         (main): Test the presence of UNINORM_NFD here.
74653         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
74654         (main): Test the presence of UNINORM_NFKC here.
74655         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
74656         (main): Test the presence of UNINORM_NFKD here.
74658 2009-04-19  Bruno Haible  <bruno@clisp.org>
74660         Avoid a compiler warning.
74661         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
74662         Change type of variable 'sequence'.
74664 2009-04-19  Bruno Haible  <bruno@clisp.org>
74666         * modules/configmake (Makefile.am): When the contents of configmake.h
74667         does not change, arrange to preserve its modification time.
74669 2009-04-17  Simon Josefsson  <simon@josefsson.org>
74671         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
74672         gettext domain.
74674 2009-04-16  Jim Meyering  <meyering@redhat.com>
74676         useless-if-before-free: improve conversion code
74677         * build-aux/useless-if-before-free: Adjust code-in-comment to match
74678         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
74680 2009-04-14  Bruno Haible  <bruno@clisp.org>
74682         * modules/fcntl (Depends-on): Add extensions.
74683         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
74685 2009-04-12  Ben Pfaff  <blp@gnu.org>
74687         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
74688         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
74690 2009-03-20  Ben Pfaff  <blp@gnu.org>
74692         Make rename replace existing destinations on Windows.
74693         * m4/rename.m4: Add test for Mingw.
74694         * lib/rename.c: Add rename replacement that uses MoveFileEx with
74695         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
74696         * doc/posix-functions/rename.texi: Document.
74698 2009-04-10  Bruno Haible  <bruno@clisp.org>
74700         New include file "iconveh.h".
74701         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
74702         * lib/striconveh.h: Include it.
74703         (enum iconv_ilseq_handler): Remove definition.
74704         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
74705         striconveh.h.
74706         * lib/striconveha.c: Include striconveh.h.
74707         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
74708         * modules/striconveh (Files): Add lib/iconveh.h.
74709         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
74710         lib/striconveh.h.
74712 2009-04-10  Bruno Haible  <bruno@clisp.org>
74714         * lib/uniconv.h: Update comment.
74716 2009-04-10  Bruno Haible  <bruno@clisp.org>
74718         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
74719         always.
74720         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
74721         * lib/unistr/u16-mbtouc-aux.c: Likewise.
74722         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
74723         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
74724         "unistring-notinline.h", so that the function gets defined always.
74725         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
74726         * lib/unistr/u8-uctomb.c: Likewise.
74727         * lib/unistr/u16-mbtouc.c: Likewise.
74728         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
74729         * lib/unistr/u16-uctomb.c: Likewise.
74730         * lib/unistr/u32-mbtouc.c: Likewise.
74731         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
74732         * lib/unistr/u32-uctomb.c: Likewise.
74734 2009-04-10  Bruno Haible  <bruno@clisp.org>
74736         Mark 'utime' obsolete.
74737         * modules/utime (Status, Notice): New sections.
74738         Suggested by Jim Meyering.
74740         Fix cross-compile guess for utime test.
74741         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
74742         autoconf.
74743         * doc/posix-functions/utime.texi: Give more precisions.
74744         Reported by Jan <ipif@ymail.com>.
74746 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
74748         filevercmp: correct today's change
74749         * lib/filevercmp.c: Also handle coreutils' test inputs.
74750         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
74752         Fix regression in 'filevercmp' module. Thanks Sven Joachim
74753         for reporting it.
74754         * lib/filevercmp.c: Special handle for "", "." and "..".
74755         * tests/test-filevercmp.c: Enlarge the set suite.
74757 2009-04-07  Jim Meyering  <meyering@redhat.com>
74759         useless-if-before-free: show how to remove braced useless free, too
74760         * build-aux/useless-if-before-free: still only in a comment, though.
74762 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
74764         maint.mk: import changes to syntax-check macros from coreutils
74765         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
74766         Use them in the relevant macros.
74768 2009-04-06  Bruno Haible  <bruno@clisp.org>
74770         Fix unportable use of bit-fields.
74771         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
74772         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
74773         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
74775 2009-04-06  Bruno Haible  <bruno@clisp.org>
74777         Avoid test failures on AIX and OSF/1.
74778         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
74779         that malloc(0) = NULL.
74780         * tests/unicase/test-u8-tolower.c (check): Likewise.
74781         * tests/unicase/test-u8-totitle.c (check): Likewise.
74782         * tests/unicase/test-u8-toupper.c (check): Likewise.
74783         * tests/unicase/test-u16-casefold.c (check): Likewise.
74784         * tests/unicase/test-u16-tolower.c (check): Likewise.
74785         * tests/unicase/test-u16-totitle.c (check): Likewise.
74786         * tests/unicase/test-u16-toupper.c (check): Likewise.
74787         * tests/unicase/test-u32-casefold.c (check): Likewise.
74788         * tests/unicase/test-u32-tolower.c (check): Likewise.
74789         * tests/unicase/test-u32-totitle.c (check): Likewise.
74790         * tests/unicase/test-u32-toupper.c (check): Likewise.
74791         * tests/uninorm/test-u8-nfc.c (check): Likewise.
74792         * tests/uninorm/test-u8-nfd.c (check): Likewise.
74793         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
74794         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
74795         * tests/uninorm/test-u16-nfc.c (check): Likewise.
74796         * tests/uninorm/test-u16-nfd.c (check): Likewise.
74797         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
74798         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
74799         * tests/uninorm/test-u32-nfc.c (check): Likewise.
74800         * tests/uninorm/test-u32-nfd.c (check): Likewise.
74801         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
74802         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
74804 2009-04-05  Bruno Haible  <bruno@clisp.org>
74806         Work around an autoconf limitation.
74807         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
74808         comment line if it would be longer than 3 KB.
74810 2009-04-05  Bruno Haible  <bruno@clisp.org>
74812         Avoid test failure with libiconv-1.13.
74813         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
74814         of the expected test results.
74816 2009-04-05  Bruno Haible  <bruno@clisp.org>
74818         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
74819         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
74820         that it should be installed.
74822 2009-04-05  Bruno Haible  <bruno@clisp.org>
74824         * gnulib-tool: New option --copy-file.
74825         (func_usage): Document it.
74826         (func_dest_tmpfilename): Moved out of func_import.
74827         (func_add_file, func_update_file): New functions, extracted from
74828         func_import.
74829         (func_import): Update.
74831 2009-04-05  Karl Berry  <karl@gnu.org>
74833         * README: prominently mention gnulib-tool.
74834         Rearrange sections so getting the code is near the top.
74836 2009-04-05  Bruno Haible  <bruno@clisp.org>
74838         * lib/unicase.h: Mention u*_cmp2.
74839         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
74840         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
74841         * lib/unicase/ulc-casecmp.c: Likewise.
74842         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
74843         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
74844         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
74845         unistr/u8-cmp.
74846         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
74847         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
74848         unistr/u16-cmp.
74849         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
74850         unistr/u32-cmp.
74852         * lib/uninorm.h: Mention u*_cmp2.
74853         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
74854         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
74855         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
74856         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
74857         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
74858         unistr/u8-cmp.
74859         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
74860         unistr/u16-cmp.
74861         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
74862         unistr/u32-cmp.
74864         New module 'unistr/u32-cmp2'.
74865         * lib/unistr/u32-cmp2.c: New file.
74866         * modules/unistr/u32-cmp2: New file.
74868         New module 'unistr/u16-cmp2'.
74869         * lib/unistr/u16-cmp2.c: New file.
74870         * modules/unistr/u16-cmp2: New file.
74872         New module 'unistr/u8-cmp2'.
74873         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
74874         * lib/unistr/u8-cmp2.c: New file.
74875         * lib/unistr/u-cmp2.h: New file.
74876         * modules/unistr/u8-cmp2: New file.
74878 2009-04-05  Bruno Haible  <bruno@clisp.org>
74880         * lib/unictype.h (uc_property_is_valid): New macro.
74881         * tests/unictype/test-pr_byname.c (main): Use it.
74883         * lib/unistr.h: Doc fixes.
74884         * lib/uniconv.h: Doc fixes.
74885         * lib/unictype.h: Doc fixes.
74887 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
74889         Port coreutils 7.2 to Solaris 8.
74891         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
74892         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
74893         for Solaris 8.  This is a bit of a hack, as it means it's the
74894         caller's responsibility to add -lnsl if needed, but most likely it
74895         won't be needed since only getaddrinfo uses this and getaddrinfo
74896         isn't needed on Solaris 8.
74898         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
74899         problem to Solaris 8 encountered with coreutils 7.2, which
74900         resulted in a message "fnmatch.c:292: warning: passing argument 4
74901         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
74902         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
74904 2009-04-03  Simon Josefsson  <simon@josefsson.org>
74906         * m4/ld-version-script.m4: Add FIXME comment.
74908 2009-04-02  Simon Josefsson  <simon@josefsson.org>
74910         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
74911         SOVERSION variable.
74913 2009-04-02  Bruno Haible  <bruno@clisp.org>
74915         * Makefile (info, html, dvi, pdf): Combine the rules.
74916         Suggested by Jim Meyering.
74918 2009-04-01  Bruno Haible  <bruno@clisp.org>
74920         * Makefile (info, html, dvi, pdf): New targets.
74921         Reported by Reuben Thomas <rrt@sc3d.org>.
74923 2009-04-01  Bruno Haible  <bruno@clisp.org>
74925         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
74926         can be put into PATH.
74927         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
74929 2009-04-01  Bruno Haible  <bruno@clisp.org>
74931         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
74933 2009-04-01  Bruno Haible  <bruno@clisp.org>
74935         Rename module 'visibility'.
74936         * modules/lib-symbol-visibility: Renamed from modules/visibility.
74937         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
74938         * doc/gnulib.texi: Update.
74939         * MODULES.html.sh (Misc): Update.
74940         * NEWS: Mention the change.
74942 2009-04-01  Simon Josefsson  <simon@josefsson.org>
74944         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
74945         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
74946         Eric Blake <ebb9@byu.net> for review.
74947         * MODULES.html.sh: Add lib-msvc-compat.
74948         * doc/gnulib.texi: Link to new section.
74949         * m4/ld-output-def.m4: New file.
74950         * doc/ld-output-def.texi: New file.
74952 2009-04-01  Simon Josefsson  <simon@josefsson.org>
74954         Rename ld-version-script to lib-symbol-versions.  Suggested by
74955         Bruno Haible <bruno@clisp.org>.
74956         * modules/ld-version-script: Renamed to lib-symbol-versions.
74957         * doc/ld-version-script.texi: Fix module name.
74958         * MODULES.html.sh: Add lib-symbol-versions.
74960 2009-03-31  Simon Josefsson  <simon@josefsson.org>
74962         * modules/u64-tests: New file.
74963         * tests/test-u64.c: New file.
74965 2009-03-04  Simon Josefsson  <simon@josefsson.org>
74967         * MODULES.html.sh: Mention u64.
74968         * modules/u64: New module.
74969         * modules/crypto/sha512: Depend on u64 module instead of providing
74970         u64.h.
74972 2009-03-27  Eric Blake  <ebb9@byu.net>
74974         test-strerror: make debugging EAI_SYSTEM easier
74975         * modules/getaddrinfo-tests (Depends-on): Add strerror.
74976         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
74977         failure was EAI_SYSTEM.
74979 2009-03-25  Bruno Haible  <bruno@clisp.org>
74981         Fix a problem with --enable-relocatable on Solaris 7.
74982         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
74983         since 2008-02-24.
74985 2009-03-25  Eric Blake  <ebb9@byu.net>
74987         test-sockets: avoid gcc warning
74988         * tests/test-sockets.c (main): Silence compiler warning.
74990 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
74992         New modules nproc, pthread, contributed by Glen Lenker.
74994         * MODULES.html.sh: Add pthread, nproc.
74995         * lib/nproc.c: New file.
74996         * lib/nproc.h: New file.
74997         * lib/pthread.in.h: New file.
74998         * m4/pthread.m4: New file.
74999         * modules/nproc: New file.
75000         * modules/pthread: New file.
75002 2009-03-24  Simon Josefsson  <simon@josefsson.org>
75004         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
75005         New variable.
75007 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
75009         filevercmp: handle simple~ and numbered.~3~ backup suffixes
75010         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
75011         * tests/test-filevercmp.c: Add tests for backup suffixes.
75013 2009-03-24  Simon Josefsson  <simon@josefsson.org>
75015         * modules/stdlib (Depends-on): Add stdint, needed when defining
75016         struct random_data on, for example, HP-UX 10.20.  Reported by
75017         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
75019 2009-03-24  Simon Josefsson  <simon@josefsson.org>
75021         * lib/readline.c (readline): Call fflush on stdout after printing
75022         prompt.
75024 2009-03-20  Bruno Haible  <bruno@clisp.org>
75026         Remove dependency from 'close' module to -lws2_32 on native Windows.
75027         * lib/close-hook.h: New file.
75028         * lib/close-hook.c: New file.
75029         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
75030         w32sock.h.
75031         (_gl_close_fd_maybe_socket): Remove function.
75032         (rpl_close): Invoke execute_all_close_hooks instead of
75033         _gl_close_fd_maybe_socket.
75034         * lib/sockets.c: Include close-hook.h, w32sock.h.
75035         (close_fd_maybe_socket): New function, essentially from lib/close.c.
75036         (close_sockets_hook): New variable.
75037         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
75038         (gl_sockets_cleanup): Unregister it.
75039         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
75040         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
75041         * modules/close-hook: New file.
75042         * modules/close (Files): Remove lib/w32sock.h.
75043         (Depends-on): Add close-hook.
75044         (Link): Remove section.
75045         * modules/sockets (Files): Add lib/w32sock.h.
75046         (Depends-on): Add close-hook.
75047         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
75048         invocation.
75049         * NEWS: Mention that LIB_CLOSE is gone.
75051 2009-03-23  Eric Blake  <ebb9@byu.net>
75053         signal-tests: test previous patch
75054         * tests/test-signal.c: New file.
75055         * modules/signal-tests: Likewise.
75057         signal.h: always support 'volatile sig_atomic_t'
75058         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
75059         (gl_SIGNAL_H_DEFAULTS): Add a default.
75060         * modules/signal (Makefile.am): Substitute if needed.
75061         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
75062         users can blindly add volatile.
75063         * doc/posix-headers/signal.texi (signal.h): Document it.
75064         Reported by Matthew Woehlke.
75066 2009-03-23  Jim Meyering  <meyering@redhat.com>
75068         pathmax: PATH_MAX: use pathconf only when available
75069         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
75070         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
75071         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
75072         This avoids a link failure in a PSP cross-compilation environment
75073         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
75075         * lib/vasnprintf.c (divide): Fix typo in comment.
75077 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75079         * gnulib-tool (func_filter_filelist): Fix comment.
75081 2009-03-20  Bruno Haible  <bruno@clisp.org>
75083         Make sockets.h self-contained.
75084         * lib/sockets.c: Include sockets.h first.
75085         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
75087 2009-03-19  Eric Blake  <ebb9@byu.net>
75089         doc: mention more functions added in cygwin 1.7.0
75090         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
75091         addition.
75092         * doc/posix-functions/log2f.texi: Likewise.
75094 2009-03-19  Jim Meyering  <meyering@redhat.com>
75096         fsusage: avoid syntax error due to statement-before-declaration
75097         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
75098         after all declarations.  Reported by Matthew Woehlke in
75099         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
75101 2009-03-18  Eric Blake  <ebb9@byu.net>
75103         build-aux/compile: sync from automake
75104         * build-aux/compile: New file, from automake.
75105         * config/srclist.txt: Mention build-aux/compile.
75107 2009-03-17  Bruno Haible  <bruno@clisp.org>
75109         * lib/git-merge-changelog.c: Fix typo in comment.
75110         Reported by Reuben Thomas <rrt@sc3d.org>.
75112 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
75114         * m4/regex.m4: update and improve help for
75115         --without-included-regex.
75117 2009-03-17  Simon Josefsson  <simon@josefsson.org>
75119         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
75120         failure on missing include files.
75122 2009-03-17  Eric Blake  <ebb9@byu.net>
75124         doc: mention more functions added in cygwin 1.7.0
75125         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
75126         addition.
75127         * doc/posix-functions/fwscanf.texi: Likewise.
75128         * doc/posix-functions/swprintf.texi: Likewise.
75129         * doc/posix-functions/swscanf.texi: Likewise.
75130         * doc/posix-functions/vfwprintf.texi: Likewise.
75131         * doc/posix-functions/vfwscanf.texi: Likewise.
75132         * doc/posix-functions/vswprintf.texi: Likewise.
75133         * doc/posix-functions/vswscanf.texi: Likewise.
75134         * doc/posix-functions/vwprintf.texi: Likewise.
75135         * doc/posix-functions/vwscanf.texi: Likewise.
75136         * doc/posix-functions/wcscasecmp.texi: Likewise.
75137         * doc/posix-functions/wcsdup.texi: Likewise.
75138         * doc/posix-functions/wcsftime.texi: Likewise.
75139         * doc/posix-functions/wcsncasecmp.texi: Likewise.
75140         * doc/posix-functions/wprintf.texi: Likewise.
75141         * doc/posix-functions/wscanf.texi: Likewise.
75142         * doc/glibc-functions/gethostbyname2.texi: Likewise.
75144 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75146         maint.mk: really add $(AM_MAKEFLAGS)
75147         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
75148         was inadvertently omitted in the last commit.
75149         Spotted by Bruno Haible.
75151         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
75152         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
75153         $(AM_MAKEFLAGS)' rather than plain `make'.
75155         gnulib-tool: execute $MAKE not make
75156         * gnulib-tool: Default $MAKE to 'make'.
75157         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
75158         than make.  Initialize $MAKE in the do-autobuild script.
75160         gnulib-tool: use $MAKE not make in generated files
75161         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
75162         make, in generated files.  Initialize $MAKE in the do-autobuild
75163         script.
75165         * top/GNUmakefile (_have-git-version-gen): Fix typo.
75167         GNUmakefile: disable parallelism only for multiple, recursive targets
75168         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
75169         additions in the Makefile.
75170         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
75171         by Automake.
75172         (.NOTPARALLEL): Only disable parallel builds if multiple targets
75173         are listed on the command line and at least one of them is
75174         listed in $(ALL_RECURSIVE_TARGETS).
75176 2009-03-14  Bruno Haible  <bruno@clisp.org>
75178         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
75179         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
75180         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
75181         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
75182         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
75183         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
75184         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
75185         unistr/u8-uctomb.
75186         * modules/unistr/u8-strchr (Depends-on): Likewise.
75187         * modules/unistr/u8-strrchr (Depends-on): Likewise.
75188         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
75189         unistr/u16-uctomb.
75190         * modules/unistr/u16-strchr (Depends-on): Likewise.
75191         * modules/unistr/u16-strrchr (Depends-on): Likewise.
75193 2009-03-12  Bruno Haible  <bruno@clisp.org>
75195         Work around select() bug on Interix 3.5.
75196         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
75197         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
75198         * m4/select.m4: New file.
75199         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
75200         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
75201         * modules/select (Files): Add m4/select.m4.
75202         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
75203         * modules/nanosleep (Depends-on): Add select.
75204         * modules/poll (Depends-on): Likewise.
75205         * doc/posix-functions/select.texi: Mention the Interix bug.
75206         Reported by Markus Duft <mduft@gentoo.org>.
75208         * lib/select.c: Renamed from lib/winsock-select.c.
75209         * modules/select (Files): Add lib/select.c, remove
75210         lib/winsock-select.c.
75211         (configure.ac): Update.
75213 2009-03-12  Jim Meyering  <meyering@redhat.com>
75215         avoid gcc warnings about unused macro definitions
75216         * lib/readtokens.c (STREQ): Remove unused definition.
75217         * lib/xmalloc.c (SIZE_MAX): Likewise.
75218         * lib/openat-die.c (N_): Likewise.
75219         * lib/mountlist.c (SIZE_MAX): Remove definition.
75220         Instead, include <stdint.h>.
75221         * lib/readutmp.c: Likewise.
75222         * modules/readutmp (Depends-on): Add stdint.
75223         * modules/mountlist (Depends-on): Add stdint.
75224         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
75226 2009-03-10  Bruno Haible  <bruno@clisp.org>
75228         Tests for module 'mbmemcasecoll'.
75229         * modules/mbmemcasecoll-tests: New file.
75230         * tests/test-mbmemcasecoll1.sh: New file.
75231         * tests/test-mbmemcasecoll2.sh: New file.
75232         * tests/test-mbmemcasecoll3.sh: New file.
75233         * tests/test-mbmemcasecoll.c: New file.
75235         New module 'mbmemcasecoll'.
75236         * lib/mbmemcasecoll.h: New file.
75237         * lib/mbmemcasecoll.c: New file.
75238         * modules/mbmemcasecoll: New file.
75240         * tests/test-mbmemcasecmp.h: New file, extracted from
75241         tests/test-mbmemcasecmp.c.
75242         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
75243         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
75244         (main): Update.
75245         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
75247 2009-03-09  Bruno Haible  <bruno@clisp.org>
75249         Tests for module 'mbmemcasecmp'.
75250         * modules/mbmemcasecmp-tests: New file.
75251         * tests/test-mbmemcasecmp1.sh: New file.
75252         * tests/test-mbmemcasecmp2.sh: New file.
75253         * tests/test-mbmemcasecmp3.sh: New file.
75254         * tests/test-mbmemcasecmp.c: New file.
75256         New module 'mbmemcasecmp'.
75257         * lib/mbmemcasecmp.h: New file.
75258         * lib/mbmemcasecmp.c: New file.
75259         * modules/mbmemcasecmp: New file.
75261 2009-03-09  Bruno Haible  <bruno@clisp.org>
75263         Tests for module 'unicase/ulc-casecoll'.
75264         * modules/unicase/ulc-casecoll-tests: New file.
75265         * tests/unicase/test-ulc-casecoll1.sh: New file.
75266         * tests/unicase/test-ulc-casecoll2.sh: New file.
75267         * tests/unicase/test-ulc-casecoll.c: New file.
75269         New module 'unicase/ulc-casecoll'.
75270         * lib/unicase.h (ulc_casecoll): New declaration.
75271         * lib/unicase/ulc-casecoll.c: New file.
75272         * modules/unicase/ulc-casecoll: New file.
75274         New module 'unicase/ulc-casexfrm'.
75275         * lib/unicase.h (ulc_casexfrm): New declaration.
75276         * lib/unicase/ulc-casexfrm.c: New file.
75277         * modules/unicase/ulc-casexfrm: New file.
75279 2009-03-09  Bruno Haible  <bruno@clisp.org>
75281         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
75282         invocations.
75284         * m4/mbscasecmp.m4: Remove file.
75285         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
75286         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
75288         * m4/mbscasestr.m4: Remove file.
75289         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
75290         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
75292         * m4/mbschr.m4: Remove file.
75293         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
75294         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
75296         * m4/mbscspn.m4: Remove file.
75297         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
75298         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
75300         * m4/mbslen.m4: Remove file.
75301         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
75302         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
75304         * m4/mbsncasecmp.m4: Remove file.
75305         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
75306         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
75308         * m4/mbsnlen.m4: Remove file.
75309         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
75310         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
75312         * m4/mbspbrk.m4: Remove file.
75313         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
75314         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
75316         * m4/mbspcasecmp.m4: Remove file.
75317         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
75318         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
75320         * m4/mbsrchr.m4: Remove file.
75321         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
75322         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
75324         * m4/mbssep.m4: Remove file.
75325         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
75326         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
75328         * m4/mbsspn.m4: Remove file.
75329         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
75330         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
75332         * m4/mbsstr.m4: Remove file.
75333         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
75334         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
75336         * m4/mbstok_r.m4: Remove file.
75337         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
75338         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
75340         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
75342         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
75343         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
75345         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
75347 2009-03-08  Bruno Haible  <bruno@clisp.org>
75349         Tests for module 'unicase/ulc-casecmp'.
75350         * modules/unicase/ulc-casecmp-tests: New file.
75351         * tests/unicase/test-ulc-casecmp1.sh: New file.
75352         * tests/unicase/test-ulc-casecmp2.sh: New file.
75353         * tests/unicase/test-ulc-casecmp.c: New file.
75355         New module 'unicase/ulc-casecmp'.
75356         * lib/unicase.h (ulc_casecmp): New declaration.
75357         * lib/unicase/ulc-casecmp.c: New file.
75358         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
75359         'const SRC_UNIT *'.
75360         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
75361         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
75362         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
75363         * modules/unicase/ulc-casecmp: New file.
75365         Tests for module 'unicase/u32-is-cased'.
75366         * modules/unicase/u32-is-cased-tests: New file.
75367         * tests/unicase/test-u32-is-cased.c: New file.
75369         Tests for module 'unicase/u16-is-cased'.
75370         * modules/unicase/u16-is-cased-tests: New file.
75371         * tests/unicase/test-u16-is-cased.c: New file.
75373         Tests for module 'unicase/u8-is-cased'.
75374         * modules/unicase/u8-is-cased-tests: New file.
75375         * tests/unicase/test-u8-is-cased.c: New file.
75376         * tests/unicase/test-is-cased.h: New file.
75378         New module 'unicase/u32-is-cased'.
75379         * lib/unicase/u32-is-cased.c: New file.
75380         * modules/unicase/u32-is-cased: New file.
75382         New module 'unicase/u16-is-cased'.
75383         * lib/unicase/u16-is-cased.c: New file.
75384         * modules/unicase/u16-is-cased: New file.
75386         New module 'unicase/u8-is-cased'.
75387         * lib/unicase/u8-is-cased.c: New file.
75388         * lib/unicase/u-is-cased.h: New file.
75389         * modules/unicase/u8-is-cased: New file.
75391         Tests for module 'unicase/u32-is-casefolded'.
75392         * modules/unicase/u32-is-casefolded-tests: New file.
75393         * tests/unicase/test-u32-is-casefolded.c: New file.
75395         Tests for module 'unicase/u16-is-casefolded'.
75396         * modules/unicase/u16-is-casefolded-tests: New file.
75397         * tests/unicase/test-u16-is-casefolded.c: New file.
75399         Tests for module 'unicase/u8-is-casefolded'.
75400         * modules/unicase/u8-is-casefolded-tests: New file.
75401         * tests/unicase/test-u8-is-casefolded.c: New file.
75402         * tests/unicase/test-is-casefolded.h: New file.
75404         New module 'unicase/u32-is-casefolded'.
75405         * lib/unicase/u32-is-casefolded.c: New file.
75406         * modules/unicase/u32-is-casefolded: New file.
75408         New module 'unicase/u16-is-casefolded'.
75409         * lib/unicase/u16-is-casefolded.c: New file.
75410         * modules/unicase/u16-is-casefolded: New file.
75412         New module 'unicase/u8-is-casefolded'.
75413         * lib/unicase/u8-is-casefolded.c: New file.
75414         * modules/unicase/u8-is-casefolded: New file.
75416         Tests for module 'unicase/u32-is-titlecase'.
75417         * modules/unicase/u32-is-titlecase-tests: New file.
75418         * tests/unicase/test-u32-is-titlecase.c: New file.
75420         Tests for module 'unicase/u16-is-titlecase'.
75421         * modules/unicase/u16-is-titlecase-tests: New file.
75422         * tests/unicase/test-u16-is-titlecase.c: New file.
75424         Tests for module 'unicase/u8-is-titlecase'.
75425         * modules/unicase/u8-is-titlecase-tests: New file.
75426         * tests/unicase/test-u8-is-titlecase.c: New file.
75427         * tests/unicase/test-is-titlecase.h: New file.
75429         New module 'unicase/u32-is-titlecase'.
75430         * lib/unicase/u32-is-titlecase.c: New file.
75431         * modules/unicase/u32-is-titlecase: New file.
75433         New module 'unicase/u16-is-titlecase'.
75434         * lib/unicase/u16-is-titlecase.c: New file.
75435         * modules/unicase/u16-is-titlecase: New file.
75437         New module 'unicase/u8-is-titlecase'.
75438         * lib/unicase/u8-is-titlecase.c: New file.
75439         * modules/unicase/u8-is-titlecase: New file.
75441         Tests for module 'unicase/u32-is-lowercase'.
75442         * modules/unicase/u32-is-lowercase-tests: New file.
75443         * tests/unicase/test-u32-is-lowercase.c: New file.
75445         Tests for module 'unicase/u16-is-lowercase'.
75446         * modules/unicase/u16-is-lowercase-tests: New file.
75447         * tests/unicase/test-u16-is-lowercase.c: New file.
75449         Tests for module 'unicase/u8-is-lowercase'.
75450         * modules/unicase/u8-is-lowercase-tests: New file.
75451         * tests/unicase/test-u8-is-lowercase.c: New file.
75452         * tests/unicase/test-is-lowercase.h: New file.
75454         New module 'unicase/u32-is-lowercase'.
75455         * lib/unicase/u32-is-lowercase.c: New file.
75456         * modules/unicase/u32-is-lowercase: New file.
75458         New module 'unicase/u16-is-lowercase'.
75459         * lib/unicase/u16-is-lowercase.c: New file.
75460         * modules/unicase/u16-is-lowercase: New file.
75462         New module 'unicase/u8-is-lowercase'.
75463         * lib/unicase/u8-is-lowercase.c: New file.
75464         * modules/unicase/u8-is-lowercase: New file.
75466         Tests for module 'unicase/u32-is-uppercase'.
75467         * modules/unicase/u32-is-uppercase-tests: New file.
75468         * tests/unicase/test-u32-is-uppercase.c: New file.
75470         Tests for module 'unicase/u16-is-uppercase'.
75471         * modules/unicase/u16-is-uppercase-tests: New file.
75472         * tests/unicase/test-u16-is-uppercase.c: New file.
75474         Tests for module 'unicase/u8-is-uppercase'.
75475         * modules/unicase/u8-is-uppercase-tests: New file.
75476         * tests/unicase/test-u8-is-uppercase.c: New file.
75477         * tests/unicase/test-is-uppercase.h: New file.
75479         New module 'unicase/u32-is-uppercase'.
75480         * lib/unicase/u32-is-uppercase.c: New file.
75481         * modules/unicase/u32-is-uppercase: New file.
75483         New module 'unicase/u16-is-uppercase'.
75484         * lib/unicase/u16-is-uppercase.c: New file.
75485         * modules/unicase/u16-is-uppercase: New file.
75487         New module 'unicase/u8-is-uppercase'.
75488         * lib/unicase/u8-is-uppercase.c: New file.
75489         * modules/unicase/u8-is-uppercase: New file.
75491         New module 'unicase/u32-is-invariant'.
75492         * lib/unicase/u32-is-invariant.c: New file.
75493         * modules/unicase/u32-is-invariant: New file.
75495         New module 'unicase/u16-is-invariant'.
75496         * lib/unicase/u16-is-invariant.c: New file.
75497         * modules/unicase/u16-is-invariant: New file.
75499         New module 'unicase/u8-is-invariant'.
75500         * lib/unicase/u8-is-invariant.c: New file.
75501         * lib/unicase/invariant.h: New file.
75502         * lib/unicase/u-is-invariant.h: New file.
75503         * modules/unicase/u8-is-invariant: New file.
75505         Tests for module 'unicase/u32-casecoll'.
75506         * modules/unicase/u32-casecoll-tests: New file.
75507         * tests/unicase/test-u32-casecoll.c: New file.
75509         Tests for module 'unicase/u16-casecoll'.
75510         * modules/unicase/u16-casecoll-tests: New file.
75511         * tests/unicase/test-u16-casecoll.c: New file.
75513         Tests for module 'unicase/u8-casecoll'.
75514         * modules/unicase/u8-casecoll-tests: New file.
75515         * tests/unicase/test-u8-casecoll.c: New file.
75517         New module 'unicase/u32-casecoll'.
75518         * lib/unicase/u32-casecoll.c: New file.
75519         * modules/unicase/u32-casecoll: New file.
75521         New module 'unicase/u16-casecoll'.
75522         * lib/unicase/u16-casecoll.c: New file.
75523         * modules/unicase/u16-casecoll: New file.
75525         New module 'unicase/u8-casecoll'.
75526         * lib/unicase/u8-casecoll.c: New file.
75527         * lib/unicase/u-casecoll.h: New file.
75528         * modules/unicase/u8-casecoll: New file.
75530         New module 'unicase/u32-casexfrm'.
75531         * lib/unicase/u32-casexfrm.c: New file.
75532         * modules/unicase/u32-casexfrm: New file.
75534         New module 'unicase/u16-casexfrm'.
75535         * lib/unicase/u16-casexfrm.c: New file.
75536         * modules/unicase/u16-casexfrm: New file.
75538         New module 'unicase/u8-casexfrm'.
75539         * lib/unicase/u8-casexfrm.c: New file.
75540         * lib/unicase/u-casexfrm.h: New file.
75541         * modules/unicase/u8-casexfrm: New file.
75543         Tests for module 'unicase/u32-casecmp'.
75544         * modules/unicase/u32-casecmp-tests: New file.
75545         * tests/unicase/test-u32-casecmp.c: New file.
75547         Tests for module 'unicase/u16-casecmp'.
75548         * modules/unicase/u16-casecmp-tests: New file.
75549         * tests/unicase/test-u16-casecmp.c: New file.
75551         Tests for module 'unicase/u8-casecmp'.
75552         * modules/unicase/u8-casecmp-tests: New file.
75553         * tests/unicase/test-u8-casecmp.c: New file.
75554         * tests/unicase/test-casecmp.h: New file.
75556         New module 'unicase/u32-casecmp'.
75557         * lib/unicase/u32-casecmp.c: New file.
75558         * modules/unicase/u32-casecmp: New file.
75560         New module 'unicase/u16-casecmp'.
75561         * lib/unicase/u16-casecmp.c: New file.
75562         * modules/unicase/u16-casecmp: New file.
75564         New module 'unicase/u8-casecmp'.
75565         * lib/unicase/u8-casecmp.c: New file.
75566         * lib/unicase/u-casecmp.h: New file.
75567         * modules/unicase/u8-casecmp: New file.
75569         Tests for module 'unicase/u32-casefold'.
75570         * modules/unicase/u32-casefold-tests: New file.
75571         * tests/unicase/test-u32-casefold.c: New file.
75573         Tests for module 'unicase/u16-casefold'.
75574         * modules/unicase/u16-casefold-tests: New file.
75575         * tests/unicase/test-u16-casefold.c: New file.
75577         Tests for module 'unicase/u8-casefold'.
75578         * modules/unicase/u8-casefold-tests: New file.
75579         * tests/unicase/test-u8-casefold.c: New file.
75581         New module 'unicase/u32-casefold'.
75582         * lib/unicase/u32-casefold.c: New file.
75583         * modules/unicase/u32-casefold: New file.
75585         New module 'unicase/u16-casefold'.
75586         * lib/unicase/u16-casefold.c: New file.
75587         * modules/unicase/u16-casefold: New file.
75589         New module 'unicase/u8-casefold'.
75590         * lib/unicase/u8-casefold.c: New file.
75591         * lib/unicase/u-casefold.h: New file.
75592         * modules/unicase/u8-casefold: New file.
75594         New module 'unicase/tocasefold'.
75595         * lib/unicase/casefold.h: New file.
75596         * lib/unicase/tocasefold.c: New file.
75597         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
75598         * modules/unicase/tocasefold: New file.
75600         Tests for module 'unicase/u32-totitle'.
75601         * modules/unicase/u32-totitle-tests: New file.
75602         * tests/unicase/test-u32-totitle.c: New file.
75604         Tests for module 'unicase/u16-totitle'.
75605         * modules/unicase/u16-totitle-tests: New file.
75606         * tests/unicase/test-u16-totitle.c: New file.
75608         Tests for module 'unicase/u8-totitle'.
75609         * modules/unicase/u8-totitle-tests: New file.
75610         * tests/unicase/test-u8-totitle.c: New file.
75612         New module 'unicase/u32-totitle'.
75613         * lib/unicase/u32-totitle.c: New file.
75614         * modules/unicase/u32-totitle: New file.
75616         New module 'unicase/u16-totitle'.
75617         * lib/unicase/u16-totitle.c: New file.
75618         * modules/unicase/u16-totitle: New file.
75620         New module 'unicase/u8-totitle'.
75621         * lib/unicase/u8-totitle.c: New file.
75622         * lib/unicase/u-totitle.h: New file.
75623         * modules/unicase/u8-totitle: New file.
75625         Tests for module 'unicase/u32-tolower'.
75626         * modules/unicase/u32-tolower-tests: New file.
75627         * tests/unicase/test-u32-tolower.c: New file.
75629         Tests for module 'unicase/u16-tolower'.
75630         * modules/unicase/u16-tolower-tests: New file.
75631         * tests/unicase/test-u16-tolower.c: New file.
75633         Tests for module 'unicase/u8-tolower'.
75634         * modules/unicase/u8-tolower-tests: New file.
75635         * tests/unicase/test-u8-tolower.c: New file.
75637         New module 'unicase/u32-tolower'.
75638         * lib/unicase/u32-tolower.c: New file.
75639         * modules/unicase/u32-tolower: New file.
75641         New module 'unicase/u16-tolower'.
75642         * lib/unicase/u16-tolower.c: New file.
75643         * modules/unicase/u16-tolower: New file.
75645         New module 'unicase/u8-tolower'.
75646         * lib/unicase/u8-tolower.c: New file.
75647         * modules/unicase/u8-tolower: New file.
75649         Tests for module 'unicase/u32-toupper'.
75650         * modules/unicase/u32-toupper-tests: New file.
75651         * tests/unicase/test-u32-toupper.c: New file.
75653         Tests for module 'unicase/u16-toupper'.
75654         * modules/unicase/u16-toupper-tests: New file.
75655         * tests/unicase/test-u16-toupper.c: New file.
75657         Tests for module 'unicase/u8-toupper'.
75658         * modules/unicase/u8-toupper-tests: New file.
75659         * tests/unicase/test-u8-toupper.c: New file.
75661         New module 'unicase/u32-toupper'.
75662         * lib/unicase/u32-toupper.c: New file.
75663         * modules/unicase/u32-toupper: New file.
75665         New module 'unicase/u16-toupper'.
75666         * lib/unicase/u16-toupper.c: New file.
75667         * modules/unicase/u16-toupper: New file.
75669         New module 'unicase/u8-toupper'.
75670         * lib/unicase/u8-toupper.c: New file.
75671         * modules/unicase/u8-toupper: New file.
75673         New module 'unicase/u32-casemap'.
75674         * lib/unicase/u32-casemap.c: New file.
75675         * modules/unicase/u32-casemap: New file.
75677         New module 'unicase/u16-casemap'.
75678         * lib/unicase/u16-casemap.c: New file.
75679         * modules/unicase/u16-casemap: New file.
75681         New module 'unicase/u8-casemap'.
75682         * lib/unicase/unicasemap.h: New file.
75683         * lib/unicase/u8-casemap.c: New file.
75684         * lib/unicase/u-casemap.h: New file.
75685         * modules/unicase/u8-casemap: New file.
75687         New module 'unicase/special-casing'.
75688         * lib/unicase/special-casing.h: New file.
75689         * lib/unicase/special-casing.c: New file.
75690         * lib/unicase/special-casing-table.gperf: New file, generated by
75691         gen-uni-tables.c.
75692         * modules/unicase/special-casing: New file.
75694         Tests for module 'unicase/locale-language'.
75695         * modules/unicase/locale-language-tests: New file.
75696         * tests/unicase/test-locale-language.sh: New file.
75697         * tests/unicase/test-locale-language.c: New file.
75699         New module 'unicase/locale-language'.
75700         * lib/unicase/locale-language.c: New file.
75701         * lib/unicase/locale-languages.gperf: New file.
75702         * modules/unicase/locale-language: New file.
75704         Generate more tables for case conversion and case folding.
75705         * lib/gen-uni-tables.c (SCC_*): New enum items.
75706         (struct special_casing_rule): New type.
75707         (casing_rules, num_casing_rules, allocated_casing_rules): New
75708         variables.
75709         (add_casing_rule, fill_casing_rules): New functions.
75710         (struct casefold_rule): New type.
75711         (casefolding_rules, num_casefolding_rules,
75712         allocated_casefolding_rules): New variables.
75713         (fill_casefolding_rules): New function.
75714         (unicode_casefold): New variable.
75715         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
75716         sort_casing_rules, output_casing_rules): New functions.
75717         (main): Accept to more arguments: SpecialCasing.txt and
75718         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
75719         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
75720         Output mapping for casefolding.
75722         * lib/unicase.h: Include stdbool.h, uninorm.h.
75723         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
75724         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
75725         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
75726         arguments.
75727         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
75728         resultp arguments.
75729         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
75730         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
75731         resultp arguments.
75732         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
75733         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
75734         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
75735         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
75736         declarations.
75737         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
75739 2009-03-08  Bruno Haible  <bruno@clisp.org>
75741         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
75742         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
75743         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
75744         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
75746 2009-03-07  Bruno Haible  <bruno@clisp.org>
75748         Adjust u*_normcmp, u*_normcoll API.
75749         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
75750         u16_normcoll, u32_normcoll): Change failure conventions.
75751         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
75752         errno and return -1.
75753         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
75755 2009-03-07  Bruno Haible  <bruno@clisp.org>
75757         Tests for module 'uninorm/u32-normcoll'.
75758         * modules/uninorm/u32-normcoll-tests: New file.
75759         * tests/uninorm/test-u32-normcoll.c: New file.
75761         Tests for module 'uninorm/u16-normcoll'.
75762         * modules/uninorm/u16-normcoll-tests: New file.
75763         * tests/uninorm/test-u16-normcoll.c: New file.
75765         Tests for module 'uninorm/u8-normcoll'.
75766         * modules/uninorm/u8-normcoll-tests: New file.
75767         * tests/uninorm/test-u8-normcoll.c: New file.
75769 2009-03-07  Bruno Haible  <bruno@clisp.org>
75771         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
75772         tests/uninorm/test-u32-normcmp.c.
75773         * tests/uninorm/test-u32-normcmp.c: Include it.
75774         (test_nonascii): New function, extracted from main. Add some more
75775         tests.
75776         (main): Invoke test_ascii and test_nonascii.
75777         * modules/uninorm/u32-normcmp-tests (Files): Add
75778         tests/uninorm/test-u32-normcmp.h.
75779         (Depends-on): Remove uninorm/u32-normcmp.
75781         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
75782         tests/uninorm/test-u16-normcmp.c.
75783         * tests/uninorm/test-u16-normcmp.c: Include it.
75784         (test_nonascii): New function, extracted from main. Add some more
75785         tests.
75786         (main): Invoke test_ascii and test_nonascii.
75787         * modules/uninorm/u16-normcmp-tests (Files): Add
75788         tests/uninorm/test-u16-normcmp.h.
75789         (Depends-on): Remove uninorm/u16-normcmp.
75791         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
75792         tests/uninorm/test-u8-normcmp.c.
75793         * tests/uninorm/test-u8-normcmp.c: Include it.
75794         (test_nonascii): New function, extracted from main. Add some more
75795         tests.
75796         (main): Invoke test_ascii and test_nonascii.
75797         * modules/uninorm/u8-normcmp-tests (Files): Add
75798         tests/uninorm/test-u8-normcmp.h.
75799         (Depends-on): Remove uninorm/u8-normcmp.
75801 2009-03-07  Bruno Haible  <bruno@clisp.org>
75803         New module 'uninorm/u32-normcoll'.
75804         * lib/uninorm/u32-normcoll.c: New file.
75805         * modules/uninorm/u32-normcoll: New file.
75807         New module 'uninorm/u16-normcoll'.
75808         * lib/uninorm/u16-normcoll.c: New file.
75809         * modules/uninorm/u16-normcoll: New file.
75811         New module 'uninorm/u8-normcoll'.
75812         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
75813         declarations.
75814         * lib/uninorm/u8-normcoll.c: New file.
75815         * lib/uninorm/u-normcoll.h: New file.
75816         * modules/uninorm/u8-normcoll: New file.
75818         New module 'uninorm/u32-normxfrm'.
75819         * lib/uninorm/u32-normxfrm.c: New file.
75820         * modules/uninorm/u32-normxfrm: New file.
75822         New module 'uninorm/u16-normxfrm'.
75823         * lib/uninorm/u16-normxfrm.c: New file.
75824         * modules/uninorm/u16-normxfrm: New file.
75826         New module 'uninorm/u8-normxfrm'.
75827         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
75828         declarations.
75829         * lib/uninorm/u8-normxfrm.c: New file.
75830         * lib/uninorm/u-normxfrm.h: New file.
75831         * modules/uninorm/u8-normxfrm: New file.
75833 2009-03-07  Bruno Haible  <bruno@clisp.org>
75835         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
75836         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
75837         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
75839 2009-03-07  Bruno Haible  <bruno@clisp.org>
75841         New module 'memxfrm'.
75842         * lib/memxfrm.h: New file.
75843         * lib/memxfrm.c: New file.
75844         * modules/memxfrm: New file.
75846 2009-03-07  Bruno Haible  <bruno@clisp.org>
75848         New module 'memcmp2'.
75849         * lib/memcmp2.h: New file.
75850         * lib/memcmp2.c: New file.
75851         * modules/memcmp2: New file.
75853 2009-03-07  Bruno Haible  <bruno@clisp.org>
75855         Tests for module 'uninorm/decomposing-form'.
75856         * modules/uninorm/decomposing-form-tests: New file.
75857         * tests/uninorm/test-decomposing-form.c: New file.
75859         New module 'uninorm/decomposing-form'.
75860         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
75861         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
75862         Add 'decomposing_variant' field.
75863         * lib/uninorm/decomposing-form.c: New file.
75864         * lib/uninorm/nfc.c (uninorm_nfc): Update.
75865         * lib/uninorm/nfd.c (uninorm_nfd): Update.
75866         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
75867         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
75868         * modules/uninorm/decomposing-form: New file.
75869         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
75870         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
75872 2009-03-07  Bruno Haible  <bruno@clisp.org>
75874         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
75875         strings.
75877 2009-03-06  Bruno Haible  <bruno@clisp.org>
75879         Tests for module 'uninorm/u32-normcmp'.
75880         * tests/uninorm/test-u32-normcmp.c: New file.
75881         * modules/uninorm/u32-normcmp-tests: New file.
75883         Tests for module 'uninorm/u16-normcmp'.
75884         * tests/uninorm/test-u16-normcmp.c: New file.
75885         * modules/uninorm/u16-normcmp-tests: New file.
75887         Tests for module 'uninorm/u8-normcmp'.
75888         * tests/uninorm/test-u8-normcmp.c: New file.
75889         * modules/uninorm/u8-normcmp-tests: New file.
75891         New module 'uninorm/u32-normcmp'.
75892         * lib/uninorm/u32-normcmp.c: New file.
75893         * modules/uninorm/u32-normcmp: New file.
75895         New module 'uninorm/u16-normcmp'.
75896         * lib/uninorm/u16-normcmp.c: New file.
75897         * modules/uninorm/u16-normcmp: New file.
75899         New module 'uninorm/u8-normcmp'.
75900         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
75901         declarations.
75902         * lib/uninorm/u8-normcmp.c: New file.
75903         * lib/uninorm/u-normcmp.h: New file.
75904         * modules/uninorm/u8-normcmp: New file.
75906 2009-03-06  Bruno Haible  <bruno@clisp.org>
75908         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
75909         Reported by Eric Blake.
75911 2009-03-06  Eric Blake  <ebb9@byu.net>
75912             Bruno Haible  <bruno@clisp.org>
75914         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
75915         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
75916         condition.
75917         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
75918         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
75919         condition.
75920         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
75922 2009-03-06  Eric Blake  <ebb9@byu.net>
75924         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
75925         to avoid compiler warnings.
75926         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
75928 2009-03-05  Bruno Haible  <bruno@clisp.org>
75930         * tests/test-ftell.c (main): Disable test beyond end of file on
75931         FreeMiNT.
75932         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
75934 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
75936         * lib/filevercmp.c: Move hidden files up in ordering.
75937         * tests/test-filevercmp.c: Add tests for hidden files.
75939 2009-03-04  Bruno Haible  <bruno@clisp.org>
75941         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
75942         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
75943         AM_CFLAGS.
75944         Reported by Simon Josefsson.
75946 2009-03-03  Bruno Haible  <bruno@clisp.org>
75948         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
75949         Reported by Simon Josefsson.
75951         * doc/ld-version-script.texi: Update node reference.
75953 2009-03-03  Bruno Haible  <bruno@clisp.org>
75955         * modules/visibility (License): Change to 'unlimited'.
75956         Suggested by Simon Josefsson.
75958 2009-03-03  Jim Meyering  <meyering@redhat.com>
75960         unlinkdir: cannot_unlink_dir may modify process state
75961         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
75962         it's neither thread-safe nor appropriate for use in a library.
75964 2009-03-03  Eric Blake  <ebb9@byu.net>
75966         test-closein: silence test under Darwin
75967         * tests/test-closein.sh: Ignore stderr from cat, since we don't
75968         care if it dies from EPIPE or EBADF.
75970 2009-03-03  Bruno Haible  <bruno@clisp.org>
75972         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
75973         earlier.
75974         * doc/visibility.texi: Fix @node and @section.
75976 2009-03-03  Simon Josefsson  <simon@josefsson.org>
75978         * doc/gnulib.texi: Link to sections for ld version script and
75979         visibility.
75980         * doc/visibility.texi: Add @node and @section.
75981         * modules/ld-version-script: New module.
75982         * m4/ld-version-script.m4: New file.
75983         * doc/ld-version-script.texi: New file.
75985 2009-03-02  David Lutterkort  <lutter@redhat.com>
75987         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
75988         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
75990 2009-03-02  Bruno Haible  <bruno@clisp.org>
75992         * doc/visibility.texi: Mention libtool's -export-symbols option.
75994 2009-03-02  Jim Meyering  <meyering@redhat.com>
75996         announce-gen: new option: --no-print-checksums
75997         * build-aux/announce-gen (usage): Describe it.
75998         (print_checksums): Print a newline here, not in the [*] footnote.
75999         (main): Honor it.
76001 2009-03-01  Bruno Haible  <bruno@clisp.org>
76003         Use socklen_t in the native Windows replacements prototypes.
76004         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
76005         instead of 'int'.
76006         * lib/getsockopt.c (rpl_getsockopt): Likewise.
76007         * lib/setsockopt.c (rpl_setsockopt): Likewise.
76008         * modules/getsockopt (Depends-on): Add socklen.
76009         * modules/setsockopt (Depends-on): Add socklen.
76011 2009-03-01  Bruno Haible  <bruno@clisp.org>
76013         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
76014         least 4.2.
76016 2009-03-01  Eric Blake  <ebb9@byu.net>
76017             Bruno Haible  <bruno@clisp.org>
76019         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
76020         error messages.
76021         * lib/wait-process.c (wait_subprocess): Omit error message about
76022         deadly signal sent to the child of termsigp != NULL.
76024 2009-03-01  Eric Blake  <ebb9@byu.net>
76026         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
76028 2009-03-01  Bruno Haible  <bruno@clisp.org>
76030         Avoid a gcc warning.
76031         * tests/test-sched.c (b): Make global.
76032         Reported by Eric Blake.
76034 2009-01-19  Martin Lambers  <marlam@marlam.de>
76036         Provide POSIX semantics for socket timeout options on W32.
76037         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
76038         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
76039         * modules/setsockopt: Depend on sys_time module for struct timeval.
76040         * modules/getsockopt: Depend on sys_time module for struct timeval.
76042 2009-03-01  Simon Josefsson  <simon@josefsson.org>
76044         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
76045         __USE_GNU, for consistency with netdb.in.h.
76046         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
76048 2009-03-01  Bruno Haible  <bruno@clisp.org>
76050         More support for FreeMiNT.
76051         * lib/fseeko.c (rpl_fseeko): Complete last commit.
76052         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
76054 2009-03-01  Bruno Haible  <bruno@clisp.org>
76056         More support for FreeMiNT.
76057         * lib/fpurge.c (fpurge): Correct last commit.
76058         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
76060 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76062         Fix unportable awk script in vc-list-files.
76063         * build-aux/vc-list-files: In the replacement awk script, use
76064         substr with a second argument of 1, not zero.
76065         Report by Simon Josefsson.
76067 2009-02-28  Bruno Haible  <bruno@clisp.org>
76069         More support for FreeMiNT.
76070         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
76071         to FreeMiNT today.
76072         * lib/fwriting.c (fwriting): Likewise.
76073         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
76075 2009-02-28  Bruno Haible  <bruno@clisp.org>
76077         * tests/test-freadseek.c (main): Disable test beyond end of file on
76078         FreeMiNT.
76079         * tests/test-ftello.c (main): Likewise.
76080         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
76082 2009-02-28  Bruno Haible  <bruno@clisp.org>
76084         Add tentative support for FreeMiNT.
76085         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
76086         * lib/fpurge.c (fpurge): Likewise.
76087         * lib/freadable.c (freadable): Likewise.
76088         * lib/freading.c (freading): Likewise.
76089         * lib/freadptr.c (freadptr): Likewise.
76090         * lib/freadseek.c (freadptrinc): Likewise.
76091         * lib/fseeko.c (rpl_fseeko): Likewise.
76092         * lib/fseterr.c (fseterr): Likewise.
76093         * lib/fwritable.c (fwritable): Likewise.
76094         * lib/fwriting.c (fwriting): Likewise.
76095         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
76096         Hourihane.
76097         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
76099 2009-02-28  Bruno Haible  <bruno@clisp.org>
76101         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
76102         SIGCHLD.
76103         Reported by Jim Meyering.
76105 2009-02-28  Bruno Haible  <bruno@clisp.org>
76107         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
76108         Mention the results of these tests on various platforms.
76109         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
76110         order.
76111         * doc/posix-functions/printf.texi: Likewise.
76112         * doc/posix-functions/snprintf.texi: Likewise.
76113         * doc/posix-functions/sprintf.texi: Likewise.
76114         * doc/posix-functions/vfprintf.texi: Likewise.
76115         * doc/posix-functions/vprintf.texi: Likewise.
76116         * doc/posix-functions/vsnprintf.texi: Likewise.
76117         * doc/posix-functions/vsprintf.texi: Likewise.
76118         * doc/glibc-functions/obstack_printf.texi: Likewise.
76119         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
76121 2009-02-28  Bruno Haible  <bruno@clisp.org>
76123         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
76124         Reported by Loïc Minier <lool@dooz.org>.
76126 2009-02-27  Bruno Haible  <bruno@clisp.org>
76128         * gnulib-tool (func_import): Make the sed expression used to create the
76129         sed script for updating the .gitignore file POSIX compliant.
76130         Reported by Eric Blake.
76132 2009-02-27  Bruno Haible  <bruno@clisp.org>
76134         * gnulib-tool (sed): Don't alias as "sed --posix".
76135         Reported by Eric Blake.
76137 2009-02-27  Bruno Haible  <bruno@clisp.org>
76139         Avoid test link errors.
76140         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
76141         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
76142         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
76143         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
76144         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
76146 2009-02-27  Bruno Haible  <bruno@clisp.org>
76148         Avoid spurious "(cached)" in configure output.
76149         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
76150         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
76151         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
76152         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
76153         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
76154         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
76155         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
76156         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
76157         Reported by Eric Blake.
76159 2009-02-27  Eric Blake  <ebb9@byu.net>
76161         printf: fix regression in previous patch
76162         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
76164 2009-02-27  Bruno Haible  <bruno@clisp.org>
76166         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
76167         value.
76168         * lib/stdint.in.h: Likewise.
76169         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
76171 2009-02-27  Eric Blake  <ebb9@byu.net>
76173         doc: mention more functions added in cygwin 1.7.0
76174         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
76175         addition.
76176         * doc/posix-functions/open_wmemstream.texi: Likewise.
76177         * doc/posix-functions/wcsnlen.texi: Likewise.
76178         * doc/posix-functions/wcsnrtombs.texi: Likewise.
76179         * doc/posix-functions/wcstod.texi: Likewise.
76180         * doc/posix-functions/wcstof.texi: Likewise.
76181         * doc/posix-functions/wcstoimax.texi: Likewise.
76182         * doc/posix-functions/wcstok.texi: Likewise.
76183         * doc/posix-functions/wcstoumax.texi: Likewise.
76185         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
76186         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
76187         * doc/posix-functions/fprintf.texi: Update.
76188         * doc/posix-functions/printf.texi: Update.
76189         * doc/posix-functions/snprintf.texi: Update.
76190         * doc/posix-functions/sprintf.texi: Update.
76191         * doc/posix-functions/vfprintf.texi: Update.
76192         * doc/posix-functions/vprintf.texi: Update.
76193         * doc/posix-functions/vsnprintf.texi: Update.
76194         * doc/posix-functions/vsprintf.texi: Update.
76195         * doc/glibc-functions/obstack_printf.texi: Update.
76196         * doc/glibc-functions/obstack_vprintf.texi: Update.
76198 2009-02-26  Eric Blake  <ebb9@byu.net>
76200         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
76201         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
76202         compilation bug by using runtime conversion.
76203         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
76204         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
76205         * modules/ceill-tests (Files): Use nan.h.
76206         * modules/floorl-tests (Files): Likewise.
76207         * modules/frexpl-tests (Files): Likewise.
76208         * modules/isnanl-tests (Files): Likewise.
76209         * modules/ldexpl-tests (Files): Likewise.
76210         * modules/roundl-tests (Files): Likewise.
76211         * modules/truncl-tests (Files): Likewise.
76212         * tests/test-ceill.c (main): Use a working NaN.
76213         * tests/test-floorl.c (main): Likewise.
76214         * tests/test-frexpl.c (main): Likewise.
76215         * tests/test-isnan.c (test_long_double): Likewise.
76216         * tests/test-isnanl.h (main): Likewise.
76217         * tests/test-ldexpl.h (main): Likewise.
76218         * tests/test-roundl.h (main): Likewise.
76219         * tests/test-truncl.h (main): Likewise.
76220         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
76222 2009-02-26  Eric Blake  <ebb9@byu.net>
76223             Bruno Haible  <bruno@clisp.org>
76225         Work around a *printf bug with %ls on Solaris.
76226         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
76227         precision is specified, sprintf stops converting the wide string
76228         argument when the number of bytes that have been produced by this
76229         conversion equals or exceeds the precision.
76230         * doc/posix-functions/fprintf.texi: Update.
76231         * doc/posix-functions/printf.texi: Update.
76232         * doc/posix-functions/snprintf.texi: Update.
76233         * doc/posix-functions/sprintf.texi: Update.
76234         * doc/posix-functions/vfprintf.texi: Update.
76235         * doc/posix-functions/vprintf.texi: Update.
76236         * doc/posix-functions/vsnprintf.texi: Update.
76237         * doc/posix-functions/vsprintf.texi: Update.
76238         * doc/glibc-functions/obstack_printf.texi: Update.
76239         * doc/glibc-functions/obstack_vprintf.texi: Update.
76241 2009-02-26  Eric Blake  <ebb9@byu.net>
76243         stdlib: favor compiler check of random.h
76244         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
76245         to avoid an ObjC random.h installed by Swarm.
76247 2009-02-26  Bruno Haible  <bruno@clisp.org>
76249         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
76250         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
76251         Reported by Gary V. Vaughan <gary@gnu.org>.
76253 2009-02-26  Bruno Haible  <bruno@clisp.org>
76255         Fix *printf behaviour regarding the %ls directive.
76256         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
76257         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
76258         NEED_PRINTF_DIRECTIVE_LS.
76259         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
76260         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
76261         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
76262         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
76263         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
76264         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
76265         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
76266         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
76267         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
76268         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
76269         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
76270         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
76271         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
76272         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
76273         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
76274         * doc/posix-functions/fprintf.texi: Update.
76275         * doc/posix-functions/printf.texi: Update.
76276         * doc/posix-functions/snprintf.texi: Update.
76277         * doc/posix-functions/sprintf.texi: Update.
76278         * doc/posix-functions/vfprintf.texi: Update.
76279         * doc/posix-functions/vprintf.texi: Update.
76280         * doc/posix-functions/vsnprintf.texi: Update.
76281         * doc/posix-functions/vsprintf.texi: Update.
76282         * doc/glibc-functions/obstack_printf.texi: Update.
76283         * doc/glibc-functions/obstack_vprintf.texi: Update.
76284         Reported by Eric Blake.
76286 2009-02-25  Bruno Haible  <bruno@clisp.org>
76288         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
76289         with known value.
76290         Reported by Gary V. Vaughan <gary@gnu.org>.
76292 2009-02-25  Bruno Haible  <bruno@clisp.org>
76294         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
76295         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
76296         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
76297         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
76298         Reported by Gary V. Vaughan <gary@gnu.org>.
76300 2009-02-25  Bruno Haible  <bruno@clisp.org>
76302         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
76303         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
76304         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
76305         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
76306         Reported by Gary V. Vaughan <gary@gnu.org>.
76308 2009-02-25  Eric Blake  <ebb9@byu.net>
76310         tests: skip fseek/ftell tests if ungetc is broken
76311         * m4/ungetc.m4: New file.
76312         * modules/fseek-tests: Split test, so ungetc dependency is
76313         separate from rest of test.
76314         * modules/fseeko-tests: Likewise.
76315         * modules/ftell-tests: Likewise.
76316         * modules/ftello-tests: Likewise.
76317         * tests/test-fseek.c (main): Isolate ungetc dependency.
76318         * tests/test-fseeko.c (main): Likewise.
76319         * tests/test-ftell.c (main): Likewise.
76320         * tests/test-ftello.c (main): Likewise.
76321         * tests/test-fseek2.sh: New file.
76322         * tests/test-fseeko2.sh: Likewise.
76323         * tests/test-ftell2.sh: Likewise.
76324         * tests/test-ftello2.sh: Likewise.
76326 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
76328         test-getaddrinfo: fix usage of skip return code 77
76329         * tests/test-gettaddrinfo.c: Return skip code 77 only
76330         for first occurrence of skip (4x77 is not 77)
76332 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
76334         strtod: avoid C99 decl-after-statement
76335         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
76337 2009-02-24  Eric Blake  <ebb9@byu.net>
76339         strtod: detect HP-UX 11.31 bug
76340         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
76341         Reported by Gary V. Vaughan.
76343 2009-02-23  Bruno Haible  <bruno@clisp.org>
76345         Fix invalid read past end of memory block.
76346         * lib/vasnprintf.c (DCHAR_SET): Define.
76347         (local_wcslen): Define only when needed.
76348         (local_strnlen, local_wcsnlen): New functions.
76349         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
76350         directives that involve a conversion ourselves.
76351         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
76352         wcsnlen, mbrtowc, wcrtomb.
76353         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
76354         * tests/test-vasprintf-posix.c (test_function): Likewise.
76355         * tests/test-snprintf-posix.h (test_function): Likewise.
76356         * tests/test-sprintf-posix.h (test_function): Likewise.
76357         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76359 2009-02-22  Bruno Haible  <bruno@clisp.org>
76361         Implement new clarified decomposition of Hangul syllables.
76362         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
76363         of type LTV, return only a pairwise decomposition.
76364         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
76365         Likewise.
76366         * tests/uninorm/test-decomposition.c (main): Updated expected result.
76367         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
76368         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
76370 2009-02-22  Bruno Haible  <bruno@clisp.org>
76372         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
76373         zero-length results and shrink excess allocated memory.
76374         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
76375         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
76376         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
76377         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
76378         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
76379         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
76380         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
76381         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
76382         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
76383         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
76384         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
76385         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
76387 2009-02-21  Bruno Haible  <bruno@clisp.org>
76389         * doc/gnulib.texi: Include safe-alloc.texi earlier.
76390         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
76391         spaces after a period. Put a space between a macro name and its
76392         argument list. Trivial rewordings.
76393         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
76394         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
76395         (main): Return 0 explicitly.
76397 2009-02-21  Bruno Haible  <bruno@clisp.org>
76399         Tests for module 'uninorm/filter'.
76400         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
76401         * modules/uninorm/filter-tests: New file.
76403         New module 'uninorm/filter'.
76404         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
76405         uninorm_filter_flush, uninorm_filter_free): New declarations.
76406         * lib/uninorm/uninorm-filter.c: New file.
76407         * modules/uninorm/filter: New file.
76409 2009-02-21  Bruno Haible  <bruno@clisp.org>
76411         Tests for module 'uninorm/nfkc'.
76412         * tests/uninorm/test-nfkc.c: New file.
76413         * tests/uninorm/test-u8-nfkc.c: New file.
76414         * tests/uninorm/test-u16-nfkc.c: New file.
76415         * tests/uninorm/test-u32-nfkc.c: New file.
76416         * tests/uninorm/test-u32-nfkc-big.sh: New file.
76417         * tests/uninorm/test-u32-nfkc-big.c: New file.
76418         * modules/uninorm/nfkc-tests: New file.
76420         New module 'uninorm/nfkc'.
76421         * lib/uninorm/nfkc.c: New file.
76422         * modules/uninorm/nfkc: New file.
76424         Tests for module 'uninorm/nfkd'.
76425         * tests/uninorm/test-nfkd.c: New file.
76426         * tests/uninorm/test-u8-nfkd.c: New file.
76427         * tests/uninorm/test-u16-nfkd.c: New file.
76428         * tests/uninorm/test-u32-nfkd.c: New file.
76429         * tests/uninorm/test-u32-nfkd-big.sh: New file.
76430         * tests/uninorm/test-u32-nfkd-big.c: New file.
76431         * modules/uninorm/nfkd-tests: New file.
76433         New module 'uninorm/nfkd'.
76434         * lib/uninorm/nfkd.c: New file.
76435         * modules/uninorm/nfkd: New file.
76437         Tests for module 'uninorm/nfc'.
76438         * tests/uninorm/test-nfc.c: New file.
76439         * tests/uninorm/test-u8-nfc.c: New file.
76440         * tests/uninorm/test-u16-nfc.c: New file.
76441         * tests/uninorm/test-u32-nfc.c: New file.
76442         * tests/uninorm/test-u32-nfc-big.sh: New file.
76443         * tests/uninorm/test-u32-nfc-big.c: New file.
76444         * modules/uninorm/nfc-tests: New file.
76446         New module 'uninorm/nfc'.
76447         * lib/uninorm/nfc.c: New file.
76448         * modules/uninorm/nfc: New file.
76450         Tests for module 'uninorm/nfd'.
76451         * tests/uninorm/test-nfd.c: New file.
76452         * tests/uninorm/test-u8-nfd.c: New file.
76453         * tests/uninorm/test-u16-nfd.c: New file.
76454         * tests/uninorm/test-u32-nfd.c: New file.
76455         * tests/uninorm/test-u32-nfd-big.sh: New file.
76456         * tests/uninorm/test-u32-nfd-big.c: New file.
76457         * tests/uninorm/test-u32-normalize-big.h: New file.
76458         * tests/uninorm/test-u32-normalize-big.c: New file.
76459         * tests/uninorm/NormalizationTest.txt: New file, created from
76460         Unicode 5.1.0 NormalizationTest.txt.
76461         * modules/uninorm/nfd-tests: New file.
76463         New module 'uninorm/nfd'.
76464         * lib/uninorm/nfd.c: New file.
76465         * modules/uninorm/nfd: New file.
76467         New module 'uninorm/u32-normalize'.
76468         * lib/uninorm/u32-normalize.c: New file.
76469         * modules/uninorm/u32-normalize: New file.
76471         New module 'uninorm/u16-normalize'.
76472         * lib/uninorm/u16-normalize.c: New file.
76473         * modules/uninorm/u16-normalize: New file.
76475         New module 'uninorm/u8-normalize'.
76476         * lib/uninorm/u8-normalize.c: New file.
76477         * lib/uninorm/normalize-internal.h: New file.
76478         * lib/uninorm/u-normalize-internal.h: New file.
76479         * modules/uninorm/u8-normalize: New file.
76481         New module 'uninorm/decompose-internal'.
76482         * lib/uninorm/decompose-internal.c: New file.
76483         * modules/uninorm/decompose-internal: New file.
76485         Tests for module 'uninorm/composition'.
76486         * tests/uninorm/test-composition.c: New file.
76487         * modules/uninorm/composition-tests: New file.
76489         New module 'uninorm/composition'.
76490         * lib/uninorm/composition.c: New file.
76491         * lib/uninorm/composition-table.gperf: New file, generated by
76492         gen-uni-tables.
76493         * modules/uninorm/composition: New file.
76495         Tests for module 'uninorm/compat-decomposition'.
76496         * tests/uninorm/test-compat-decomposition.c: New file.
76497         * modules/uninorm/compat-decomposition-tests: New file.
76499         New module 'uninorm/compat-decomposition'.
76500         * lib/uninorm/decompose-internal.h: New file.
76501         * lib/uninorm/compat-decomposition.c: New file.
76502         * modules/uninorm/compat-decomposition: New file.
76504         Tests for module 'uninorm/canonical-decomposition'.
76505         * tests/uninorm/test-canonical-decomposition.c: New file.
76506         * modules/uninorm/canonical-decomposition-tests: New file.
76508         New module 'uninorm/canonical-decomposition'.
76509         * lib/uninorm/canonical-decomposition.c: New file.
76510         * modules/uninorm/canonical-decomposition: New file.
76512         Tests for module 'uninorm/decomposition'.
76513         * tests/uninorm/test-decomposition.c: New file.
76514         * modules/uninorm/decomposition-tests: New file.
76516         New module 'uninorm/decomposition'.
76517         * lib/uninorm/decomposition.c: New file.
76518         * modules/uninorm/decomposition: New file.
76520         New module 'uninorm/decomposition-table'.
76521         * lib/uninorm/decomposition-table.h: New file.
76522         * lib/uninorm/decomposition-table.c: New file.
76523         * lib/uninorm/decomposition-table1.h: New file, generated by
76524         gen-uni-tables.
76525         * lib/uninorm/decomposition-table2.h: New file, generated by
76526         gen-uni-tables.
76527         * modules/uninorm/decomposition-table: New file.
76529         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
76530         (UC_DECOMP_*): New enumeration items.
76531         (get_decomposition): New function.
76532         (struct decomp_table): New type.
76533         (output_decomposition, output_decomposition_tables): New functions.
76534         (unicode_composition_exclusions): New variable.
76535         (fill_composition_exclusions, debug_output_composition_tables): New
76536         functions.
76537         (main): Accept one more argument. Invoke fill_composition_exclusions.
76538         Output decomposition and composition tables.
76540         New module 'uninorm/base'.
76541         * lib/uninorm.h: New file.
76542         * lib/unictype.h: Update comment.
76543         * modules/uninorm/base: New file.
76545 2009-02-21  David Lutterkort  <lutter@redhat.com>
76547         Tests for module 'safe-alloc'.
76548         * tests/test-safe-alloc.c: New file.
76549         * modules/safe-alloc-tests: New file.
76551         New module 'safe-alloc'.
76552         * lib/safe-alloc.h: New file.
76553         * lib/safe-alloc.c: New file.
76554         * m4/safe-alloc.m4: New file.
76555         * modules/safe-alloc: New file.
76556         * doc/safe-alloc.texi: New file.
76557         * doc/gnulib.texi: Include it.
76558         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
76559         safe-alloc.
76561 2009-02-18  Bruno Haible  <bruno@clisp.org>
76563         Fix link error on non-glibc systems.
76564         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
76565         variable.
76566         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
76568 2009-02-18  Jim Meyering  <meyering@redhat.com>
76570         fts: avoid used-uninitialized error due to recent change
76571         * lib/fts.c (fts_read): Guard uses of the new member,
76572         parent->fts_n_dirs_remaining, since it's not relevant for
76573         the parent of a directory specified on the command-line.
76575 2009-02-17  James Youngman  <jay@gnu.org>
76576             Bruno Haible  <bruno@clisp.org>
76578         * m4/include_next.m4: Reformulate comment.
76580 2009-02-16  Jim Meyering  <meyering@redhat.com>
76582         fts: add #if guards so that the fts_lgpl module still builds
76583         * lib/fts.c: Guard just-added hash-table-using parts with
76584         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
76585         Reported by Simon Josefsson.
76587 2009-02-15  Bruno Haible  <bruno@clisp.org>
76589         * modules/array-mergesort-tests: New file.
76590         * tests/test-array-mergesort.c: New file.
76592         New module 'array-mergesort'.
76593         * modules/array-mergesort: New file.
76594         * lib/array-mergesort.h: New file.
76596 2009-02-15  Bruno Haible  <bruno@clisp.org>
76598         Fix 2009-02-07 commit.
76599         * lib/gen-uni-tables.c (output_predicate, output_category,
76600         output_combclass, output_bidi_category, output_decimal_digit,
76601         output_digit, output_numeric, output_mirror, output_scripts,
76602         output_ident_category, output_simple_mapping): Fix format directives.
76603         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
76605 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
76607         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
76608         fixes are available from IBM.
76610 2009-02-13  Jim Meyering  <meyering@redhat.com>
76612         fts: arrange not to stat non-directories in more cases
76613         This makes GNU find (when it doesn't need to stat each file)
76614         *much* more efficient at traversing reiserfs file systems.
76615         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
76616         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
76617         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
76618         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
76619         (leaf_optimization_applies): New function.
76620         (LCO_hash, LCO_compare): New helper functions.
76621         (link_count_optimize_ok): New function.
76622         (fts_stat): Initialize new member (if dir).
76623         (fts_read): Decrement parent's fts_n_dirs_remaining count if
76624         we've just stat'ed a directory.  Skip the stat call when possible.
76625         ---
76626         Note this AFS-related exchange:
76627         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
76628         and note find's pioctl call in find/fstype.c.
76629         But that is necessary only if you want to enable the
76630         optimization for AFS, and for now, I don't.
76632         fts: move a function definition "up" (no semantic change)
76633         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
76634         "up" to precede upcoming use of a related function.
76636 2009-02-11  Jim Meyering  <meyering@redhat.com>
76638         fts: correct internal computation of nlinks (optimization-related)
76639         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
76640         whether the current entry is a directory, so don't test it.
76642 2009-02-10  Bruno Haible  <bruno@clisp.org>
76644         Tests for module 'uniwbrk/ulc-wordbreaks'.
76645         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
76646         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
76647         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
76649         Tests for module 'uniwbrk/u32-wordbreaks'.
76650         * modules/uniwbrk/u32-wordbreaks-tests: New file.
76651         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
76653         Tests for module 'uniwbrk/u16-wordbreaks'.
76654         * modules/uniwbrk/u16-wordbreaks-tests: New file.
76655         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
76657         Tests for module 'uniwbrk/u8-wordbreaks'.
76658         * modules/uniwbrk/u8-wordbreaks-tests: New file.
76659         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
76661 2009-02-10  Bruno Haible  <bruno@clisp.org>
76663         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
76664         property.
76665         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
76666         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
76667         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
76669 2009-02-10  Simon Josefsson  <simon@josefsson.org>
76671         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
76672         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
76674 2009-02-10  Bruno Haible  <bruno@clisp.org>
76676         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
76677         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
76678         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
76679         * lib/unilbrk/u8-possible-linebreaks.c: Update.
76680         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
76681         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
76683 2009-02-09  Simon Josefsson  <simon@josefsson.org>
76685         * lib/sockets.h (gl_fd_to_handle): New function.
76687         * tests/test-sockets.c: Call gl_fd_to_handle.
76689 2009-02-09  Bruno Haible  <bruno@clisp.org>
76691         * doc/havelib.texi: Document the conventions on bi-arch systems.
76693 2009-02-08  Bruno Haible  <bruno@clisp.org>
76695         Document the AC_LIB_LINKFLAGS macro.
76696         * doc/havelib.texi: New file, mostly written on 2005-05-24.
76697         * doc/gnulib.texi: Include it.
76699 2009-02-08  Bruno Haible  <bruno@clisp.org>
76701         Fix wrong order of sections, compared to TOC.
76702         * doc/gnulib.texi: Include relocatable-maint.texi after the
76703         "Regular expressions" node, not before.
76705 2009-02-08  Bruno Haible  <bruno@clisp.org>
76707         Tests for module 'unicase/totitle'.
76708         * modules/unicase/totitle-tests: New file.
76710         Tests for module 'unicase/tolower'.
76711         * modules/unicase/tolower-tests: New file.
76713         Tests for module 'unicase/toupper'.
76714         * modules/unicase/toupper-tests: New file.
76715         * tests/unicase/test-mapping-part1.h: New file.
76716         * tests/unicase/test-mapping-part2.h: New file.
76718         New module 'unicase/totitle'.
76719         * modules/unicase/totitle: New file.
76720         * lib/unicase/totitle.c: New file.
76722         New module 'unicase/tolower'.
76723         * modules/unicase/tolower: New file.
76724         * lib/unicase/tolower.c: New file.
76726         New module 'unicase/toupper'.
76727         * modules/unicase/toupper: New file.
76728         * lib/unicase/toupper.c: New file.
76729         * lib/unicase/simple-mapping.h: New file.
76731         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
76732         (mapping_table): New structure.
76733         (output_simple_mapping): New function.
76734         (main): Invoke output_simple_mapping_test and output_simple_mapping.
76735         * modules/gen-uni-tables (Description): Update.
76736         * lib/unicase/toupper.h: New file, automatically generated by
76737         gen-uni-tables.
76738         * lib/unicase/tolower.h: New file, automatically generated by
76739         gen-uni-tables.
76740         * lib/unicase/totitle.h: New file, automatically generated by
76741         gen-uni-tables.
76742         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
76743         gen-uni-tables.
76744         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
76745         gen-uni-tables.
76746         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
76747         gen-uni-tables.
76749         New module 'unicase/base'.
76750         * modules/unicase/base: New file.
76751         * lib/unicase.h: New file.
76753 2009-02-08  Bruno Haible  <bruno@clisp.org>
76755         New module 'uniwbrk/ulc-wordbreaks'.
76756         * modules/uniwbrk/ulc-wordbreaks: New file.
76757         * lib/uniwbrk/ulc-wordbreaks.c: New file.
76759         New module 'uniwbrk/u32-wordbreaks'.
76760         * modules/uniwbrk/u32-wordbreaks: New file.
76761         * lib/uniwbrk/u32-wordbreaks.c: New file.
76763         New module 'uniwbrk/u16-wordbreaks'.
76764         * modules/uniwbrk/u16-wordbreaks: New file.
76765         * lib/uniwbrk/u16-wordbreaks.c: New file.
76767         New module 'uniwbrk/u8-wordbreaks'.
76768         * modules/uniwbrk/u8-wordbreaks: New file.
76769         * lib/uniwbrk/u8-wordbreaks.c: New file.
76770         * lib/uniwbrk/u-wordbreaks.h: New file.
76772         New module 'uniwbrk/table'.
76773         * modules/uniwbrk/table: New file.
76774         * lib/uniwbrk/wbrktable.h: New file.
76775         * lib/uniwbrk/wbrktable.c: New file.
76777         New module 'uniwbrk/wordbreak-property'.
76778         * modules/uniwbrk/wordbreak-property: New file.
76779         * lib/uniwbrk/wordbreak-property.c: New file.
76781         * lib/gen-uni-tables.c (WBP_*): New enum items.
76782         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
76783         (unicode_org_wbp): New variable.
76784         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
76785         New functions.
76786         (wbp_table): New structure.
76787         (output_wbp, output_wbrk_tables): New functions.
76788         (main): Accept additional argument. Invoke fill_org_wbp,
76789         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
76790         output_wbrk_tables.
76791         * modules/gen-uni-tables (Description): Update.
76792         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
76793         gen-uni-tables.
76795         New module 'uniwbrk/base'.
76796         * modules/uniwbrk/base: New file.
76797         * lib/uniwbrk.h: New file.
76799 2009-02-08  Bruno Haible  <bruno@clisp.org>
76801         Update to Unicode 5.1.0.
76802         * lib/gen-uni-tables.c (is_property_alphabetic): Include
76803         U+2185..U+2188.
76804         (is_property_default_ignorable_code_point): Don't include characters
76805         of category Cc or Cs and not-a-characters.
76806         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
76807         U+0D79, U+109E, U+109F, U+A60C.
76808         * lib/unictype/bidi_of.h: Regenerated.
76809         * lib/unictype/blocks.h: Regenerated.
76810         * lib/unictype/categ_C.h: Regenerated.
76811         * lib/unictype/categ_Cf.h: Regenerated.
76812         * lib/unictype/categ_Cn.h: Regenerated.
76813         * lib/unictype/categ_L.h: Regenerated.
76814         * lib/unictype/categ_Ll.h: Regenerated.
76815         * lib/unictype/categ_Lm.h: Regenerated.
76816         * lib/unictype/categ_Lo.h: Regenerated.
76817         * lib/unictype/categ_Lu.h: Regenerated.
76818         * lib/unictype/categ_M.h: Regenerated.
76819         * lib/unictype/categ_Mc.h: Regenerated.
76820         * lib/unictype/categ_Me.h: Regenerated.
76821         * lib/unictype/categ_Mn.h: Regenerated.
76822         * lib/unictype/categ_N.h: Regenerated.
76823         * lib/unictype/categ_Nd.h: Regenerated.
76824         * lib/unictype/categ_Nl.h: Regenerated.
76825         * lib/unictype/categ_No.h: Regenerated.
76826         * lib/unictype/categ_P.h: Regenerated.
76827         * lib/unictype/categ_Pd.h: Regenerated.
76828         * lib/unictype/categ_Pe.h: Regenerated.
76829         * lib/unictype/categ_Pf.h: Regenerated.
76830         * lib/unictype/categ_Pi.h: Regenerated.
76831         * lib/unictype/categ_Po.h: Regenerated.
76832         * lib/unictype/categ_Ps.h: Regenerated.
76833         * lib/unictype/categ_S.h: Regenerated.
76834         * lib/unictype/categ_Sk.h: Regenerated.
76835         * lib/unictype/categ_Sm.h: Regenerated.
76836         * lib/unictype/categ_So.h: Regenerated.
76837         * lib/unictype/categ_of.h: Regenerated.
76838         * lib/unictype/combining.h: Regenerated.
76839         * lib/unictype/ctype_alnum.h: Regenerated.
76840         * lib/unictype/ctype_alpha.h: Regenerated.
76841         * lib/unictype/ctype_graph.h: Regenerated.
76842         * lib/unictype/ctype_lower.h: Regenerated.
76843         * lib/unictype/ctype_print.h: Regenerated.
76844         * lib/unictype/ctype_punct.h: Regenerated.
76845         * lib/unictype/ctype_upper.h: Regenerated.
76846         * lib/unictype/decdigit.h: Regenerated.
76847         * lib/unictype/digit.h: Regenerated.
76848         * lib/unictype/mirror.h: Regenerated.
76849         * lib/unictype/numeric.h: Regenerated.
76850         * lib/unictype/pr_alphabetic.h: Regenerated.
76851         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
76852         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
76853         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
76854         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
76855         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
76856         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
76857         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
76858         * lib/unictype/pr_combining.h: Regenerated.
76859         * lib/unictype/pr_dash.h: Regenerated.
76860         * lib/unictype/pr_decimal_digit.h: Regenerated.
76861         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
76862         * lib/unictype/pr_deprecated.h: Regenerated.
76863         * lib/unictype/pr_diacritic.h: Regenerated.
76864         * lib/unictype/pr_extender.h: Regenerated.
76865         * lib/unictype/pr_format_control.h: Regenerated.
76866         * lib/unictype/pr_grapheme_base.h: Regenerated.
76867         * lib/unictype/pr_grapheme_extend.h: Regenerated.
76868         * lib/unictype/pr_grapheme_link.h: Regenerated.
76869         * lib/unictype/pr_id_continue.h: Regenerated.
76870         * lib/unictype/pr_id_start.h: Regenerated.
76871         * lib/unictype/pr_ideographic.h: Regenerated.
76872         * lib/unictype/pr_ignorable_control.h: Regenerated.
76873         * lib/unictype/pr_lowercase.h: Regenerated.
76874         * lib/unictype/pr_math.h: Regenerated.
76875         * lib/unictype/pr_numeric.h: Regenerated.
76876         * lib/unictype/pr_other_alphabetic.h: Regenerated.
76877         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
76878         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
76879         * lib/unictype/pr_other_id_continue.h: Regenerated.
76880         * lib/unictype/pr_other_lowercase.h: Regenerated.
76881         * lib/unictype/pr_other_math.h: Regenerated.
76882         * lib/unictype/pr_punctuation.h: Regenerated.
76883         * lib/unictype/pr_sentence_terminal.h: Regenerated.
76884         * lib/unictype/pr_soft_dotted.h: Regenerated.
76885         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
76886         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
76887         * lib/unictype/pr_unified_ideograph.h: Regenerated.
76888         * lib/unictype/pr_uppercase.h: Regenerated.
76889         * lib/unictype/pr_xid_continue.h: Regenerated.
76890         * lib/unictype/pr_xid_start.h: Regenerated.
76891         * lib/unictype/pr_zero_width.h: Regenerated.
76892         * lib/unictype/scripts.h: Regenerated.
76893         * lib/unictype/scripts_byname.gperf: Regenerated.
76894         * lib/unictype/sy_java_ident.h: Regenerated.
76895         * lib/unilbrk/lbrkprop1.h: Regenerated.
76896         * lib/unilbrk/lbrkprop2.h: Regenerated.
76897         * tests/unictype/test-categ_C.c: Regenerated.
76898         * tests/unictype/test-categ_Cf.c: Regenerated.
76899         * tests/unictype/test-categ_Cn.c: Regenerated.
76900         * tests/unictype/test-categ_L.c: Regenerated.
76901         * tests/unictype/test-categ_Ll.c: Regenerated.
76902         * tests/unictype/test-categ_Lm.c: Regenerated.
76903         * tests/unictype/test-categ_Lo.c: Regenerated.
76904         * tests/unictype/test-categ_Lu.c: Regenerated.
76905         * tests/unictype/test-categ_M.c: Regenerated.
76906         * tests/unictype/test-categ_Mc.c: Regenerated.
76907         * tests/unictype/test-categ_Me.c: Regenerated.
76908         * tests/unictype/test-categ_Mn.c: Regenerated.
76909         * tests/unictype/test-categ_N.c: Regenerated.
76910         * tests/unictype/test-categ_Nd.c: Regenerated.
76911         * tests/unictype/test-categ_Nl.c: Regenerated.
76912         * tests/unictype/test-categ_No.c: Regenerated.
76913         * tests/unictype/test-categ_P.c: Regenerated.
76914         * tests/unictype/test-categ_Pd.c: Regenerated.
76915         * tests/unictype/test-categ_Pe.c: Regenerated.
76916         * tests/unictype/test-categ_Pf.c: Regenerated.
76917         * tests/unictype/test-categ_Pi.c: Regenerated.
76918         * tests/unictype/test-categ_Po.c: Regenerated.
76919         * tests/unictype/test-categ_Ps.c: Regenerated.
76920         * tests/unictype/test-categ_S.c: Regenerated.
76921         * tests/unictype/test-categ_Sk.c: Regenerated.
76922         * tests/unictype/test-categ_Sm.c: Regenerated.
76923         * tests/unictype/test-categ_So.c: Regenerated.
76924         * tests/unictype/test-ctype_alnum.c: Regenerated.
76925         * tests/unictype/test-ctype_alpha.c: Regenerated.
76926         * tests/unictype/test-ctype_graph.c: Regenerated.
76927         * tests/unictype/test-ctype_lower.c: Regenerated.
76928         * tests/unictype/test-ctype_print.c: Regenerated.
76929         * tests/unictype/test-ctype_punct.c: Regenerated.
76930         * tests/unictype/test-ctype_upper.c: Regenerated.
76931         * tests/unictype/test-decdigit.h: Regenerated.
76932         * tests/unictype/test-digit.h: Regenerated.
76933         * tests/unictype/test-numeric.h: Regenerated.
76934         * tests/unictype/test-pr_alphabetic.c: Regenerated.
76935         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
76936         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
76937         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
76938         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
76939         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
76940         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
76941         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
76942         * tests/unictype/test-pr_combining.c: Regenerated.
76943         * tests/unictype/test-pr_dash.c: Regenerated.
76944         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
76945         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
76946         * tests/unictype/test-pr_deprecated.c: Regenerated.
76947         * tests/unictype/test-pr_diacritic.c: Regenerated.
76948         * tests/unictype/test-pr_extender.c: Regenerated.
76949         * tests/unictype/test-pr_format_control.c: Regenerated.
76950         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
76951         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
76952         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
76953         * tests/unictype/test-pr_id_continue.c: Regenerated.
76954         * tests/unictype/test-pr_id_start.c: Regenerated.
76955         * tests/unictype/test-pr_ideographic.c: Regenerated.
76956         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
76957         * tests/unictype/test-pr_lowercase.c: Regenerated.
76958         * tests/unictype/test-pr_math.c: Regenerated.
76959         * tests/unictype/test-pr_numeric.c: Regenerated.
76960         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
76961         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
76962         Regenerated.
76963         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
76964         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
76965         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
76966         * tests/unictype/test-pr_other_math.c: Regenerated.
76967         * tests/unictype/test-pr_punctuation.c: Regenerated.
76968         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
76969         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
76970         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
76971         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
76972         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
76973         * tests/unictype/test-pr_uppercase.c: Regenerated.
76974         * tests/unictype/test-pr_xid_continue.c: Regenerated.
76975         * tests/unictype/test-pr_xid_start.c: Regenerated.
76976         * tests/unictype/test-pr_zero_width.c: Regenerated.
76978         Update to Unicode 5.1.0.
76979         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
76980         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
76981         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
76982         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
76983         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
76984         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
76985         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
76986         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
76987         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
76988         (nonspacing_table_ind): Update.
76989         * tests/uniwidth/test-uc_width2.sh: Update expected result.
76991         Update to Unicode 5.1.0.
76992         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
76993         code transform.
76994         * lib/uniname/uniname.c (unicode_character_name,
76995         unicode_name_character): Add the range 0x1Fxxx to the code transform.
76996         * lib/uniname/uninames.h: Regenerated.
76997         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
76999 2009-02-07  Bruno Haible  <bruno@clisp.org>
77001         Merge gen-ctype and gen-lbrk into a single program.
77002         * lib/gen-uni-tables.c: New file, incorporating
77003         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
77004         Add directory prefixes to the names of the generated files.
77005         * lib/unictype/gen-ctype.c: Remove file.
77006         * lib/unilbrk/gen-lbrk.c: Remove file.
77007         * modules/gen-uni-tables: New file.
77008         * modules/unictype/gen-ctype: Remove file.
77009         * modules/unilbrk/gen-lbrk: Remove file.
77011 2009-02-07  Bruno Haible  <bruno@clisp.org>
77013         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
77015         New module 'unistr/u32-strcoll'.
77016         * modules/unistr/u32-strcoll: New file.
77017         * lib/unistr/u32-strcoll.c: New file.
77019         New module 'unistr/u16-strcoll'.
77020         * modules/unistr/u16-strcoll: New file.
77021         * lib/unistr/u16-strcoll.c: New file.
77023         New module 'unistr/u8-strcoll'.
77024         * modules/unistr/u8-strcoll: New file.
77025         * lib/unistr/u8-strcoll.c: New file.
77026         * lib/unistr/u-strcoll.h: New file.
77028 2009-02-07  Bruno Haible  <bruno@clisp.org>
77030         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
77031         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
77032         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
77033         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
77034         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
77035         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
77037 2009-02-07  Bruno Haible  <bruno@clisp.org>
77039         Make 64-bit clean.
77040         * lib/unictype/gen-ctype.c (output_predicate, output_category,
77041         output_combclass, output_bidi_category, output_decimal_digit,
77042         output_digit, output_numeric, output_mirror, output_scripts,
77043         output_ident_category): Use proper width specifier in format strings.
77045 2009-02-07  Bruno Haible  <bruno@clisp.org>
77047         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
77048         failure behaviour.
77050 2009-02-07  Jim Meyering  <meyering@redhat.com>
77052         regex: avoid compilation failure with upcoming gcc-4.4
77053         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
77054         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
77055         "... error: integer overflow in preprocessor expression".
77057 2009-02-05  Ben Pfaff  <blp@gnu.org>
77059         Fix link errors on Windows when close module is used.
77060         * modules/close: Add $(LIB_CLOSE) to Link section.
77061         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
77062         $(LIB_CLOSE) on Windows.
77064 2009-02-05  Jim Meyering  <meyering@redhat.com>
77066         still avoid unused-parameter warnings, but do it cleanly
77067         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
77068         (get_fs_usage): Cast to void instead.
77069         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
77070         (dev_from_mount_options, read_file_system_list): Cast to void.
77071         Prompted by Bruno Haible.
77073 2009-02-04  Jim Meyering  <meyering@redhat.com>
77075         fsusage.c: correct copyright year
77076         * lib/fsusage.c: Reflect year in which the change is pushed into
77078         avoid misc. warnings
77079         * lib/fsusage.c (UNUSED_PARAM): Define.
77080         (get_fs_usage): Mark parameter "disk" as unused.
77081         * lib/getugroups.c (getgrent): Use "void" in prototype.
77082         * lib/mountlist.c: Mark unused parameters.
77083         (read_file_system_list): Declare a local with "const".
77084         * lib/nanosleep.c (getnow): Declare static.
77085         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
77087         dirfd: set errno upon failure
77088         * lib/dirfd.c: Include <errno.h>.
77089         Set errno to ENOTSUP when returning -1.
77090         * modules/dirfd (Depends-on): Add errno.
77091         Suggested by John Kodis <kodis@comcast.net>.
77093 2009-02-01  Bruno Haible  <bruno@clisp.org>
77095         Don't assume sizeof (long) >= sizeof (void *).
77096         * lib/memcmp.c: Include stdint.h.
77097         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
77098         srcp2 to 'const byte *'.
77099         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
77100         types to uintptr_t.
77101         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
77102         * modules/memcmp (Depends-on): Add stdint.
77103         Reported by Ozkan Sezer <sezeroz@gmail.com>.
77105 2009-01-30  Eric Blake  <ebb9@byu.net>
77107         fix more require-before-expand issues
77108         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
77109         expand, AC_PROG_AWK.
77110         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
77112 2009-01-28  Eric Blake  <ebb9@byu.net>
77114         version-etc: use consistent URL formatting
77115         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
77116         Improve formatting.  Use fputs for string without %.
77118 2009-01-28  Jim Meyering  <meyering@redhat.com>
77120         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
77121         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
77122         "underquoted definition of NAME" from autoconf-2.59.
77124 2009-01-28  Bruno Haible  <bruno@clisp.org>
77126         * doc/gnulib.texi: Add "Obsolete modules" to index.
77128 2009-01-28  Jim Meyering  <meyering@redhat.com>
77130         useless-if-before-free: recognize more variants
77131         * build-aux/useless-if-before-free: Also recognize e.g.,
77132         if (NULL != p) free (p);
77134 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
77136         test-getaddrinfo: skip (don't fail) this test when there's no network
77137         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
77138         on the presumption that it means you lack network access.
77140 2009-01-26  Jim Meyering  <meyering@redhat.com>
77142         fflush: avoid warnings on modern systems
77143         * lib/fflush.c (rpl_fflush): Move declarations of locals,
77144         pos and result, into scopes where they're used.
77146 2009-01-26  Eric Blake  <ebb9@byu.net>
77148         Silence warning reintroduced by recent extensions patch.
77149         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
77150         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
77151         autoconf.
77153         Backport improved autoconf semantics of AC_DEFUN_ONCE.
77154         * m4/00gnulib.m4: New file.
77155         * gnulib-tool (func_get_filelist): Always use it.
77156         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
77157         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
77159 2009-01-25  Bruno Haible  <bruno@clisp.org>
77161         Make test-quotearg work on MacOS X and AIX.
77162         * tests/test-quotearg.sh: New file.
77163         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
77164         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
77165         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
77166         include <libintl.h>.
77167         (fake_locale): Remove variable.
77168         (gettext, dgettext, dcgettext): Remove functions.
77169         (main): Instead of setting a fake locale, set a real locale. Call
77170         textdomain and bindtextdomain.
77171         * modules/quotearg-tests (Files): Add the new files.
77172         (Depends-on): Add gettext, setenv, unsetenv.
77173         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
77174         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
77175         Augment TESTS_ENVIRONMENT.
77177 2009-01-25  Bruno Haible  <bruno@clisp.org>
77179         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
77180         fr_FR.ISO8859-1 locale on MacOS X.
77181         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
77182         ja_JP.eucJP locale on MacOS X.
77183         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
77184         zh_CN.GB18030 locale on MacOS X.
77186 2009-01-25  Bruno Haible  <bruno@clisp.org>
77188         Avoid link errors on MacOS X 10.3.
77189         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
77190         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
77192 2009-01-25  Bruno Haible  <bruno@clisp.org>
77194         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
77195         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
77196         * modules/pipe (Files): Remove m4/posix_spawn.m4.
77197         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
77198         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
77199         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
77200         posix_spawnattr_init, posix_spawnattr_setsigmask,
77201         posix_spawnattr_setflags, posix_spawnattr_destroy.
77203         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
77204         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
77205         * modules/execute (Files): Remove m4/posix_spawn.m4.
77206         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
77207         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
77208         posix_spawnattr_init, posix_spawnattr_setsigmask,
77209         posix_spawnattr_setflags, posix_spawnattr_destroy.
77211 2009-01-25  Bruno Haible  <bruno@clisp.org>
77213         * lib/glthread/threadlib.c: Include <stdlib.h>.
77215 2009-01-25  Bruno Haible  <bruno@clisp.org>
77217         * lib/glthread/threadlib.c (dummy): New declaration.
77219 2009-01-25  Bruno Haible  <bruno@clisp.org>
77221         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
77222         multibyte characters also for the GB18030 encoding. Don't crash when
77223         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
77225 2009-01-25  Bruno Haible  <bruno@clisp.org>
77227         Avoid redefining 'struct random_data' on OSF/1 5.1.
77228         * lib/stdlib.in.h: Include <random.h> if it exists.
77229         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
77230         HAVE_RANDOM_H. Include <random.h> when testing whether
77231         'struct random_data' exists.
77232         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
77234 2009-01-25  Bruno Haible  <bruno@clisp.org>
77236         Don't install charset.alias on MacOS X >= 10.3.
77237         * lib/localcharset.c (DARWIN7): New macro.
77238         (get_charset_aliases): Hardcode the result for Darwin7.
77239         * modules/localcharset (install-exec-local): Don't install
77240         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
77242 2009-01-25  Bruno Haible  <bruno@clisp.org>
77244         Don't install charset.alias on mingw and Cygwin.
77245         * modules/localcharset (install-exec-local): Don't install
77246         charset.alias on mingw and Cygwin, if the file does not yet exist.
77247         The result for these platforms is hardcoded in localcharset.c.
77249 2009-01-25  Bruno Haible  <bruno@clisp.org>
77251         Make it possible again to use AC_GNU_SOURCE together with gnulib.
77252         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
77253         before requiring AC_USE_SYSTEM_EXTENSIONS.
77255 2009-01-25  Jim Meyering  <meyering@redhat.com>
77257         c-strtod: avoid warnings
77258         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
77259         "assignment discards qualifiers from pointer target type" warnings.
77261 2009-01-24  Bruno Haible  <bruno@clisp.org>
77263         Add support for non-UTF-8 locales on MacOS X.
77264         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
77265         canonical encodings. For Darwin 7 and newer, don't map traditional
77266         encodings to UTF-8.
77267         Reported by Vincent Lefevre <vincent@vinc17.org>
77268         at <http://savannah.gnu.org/bugs/?25235>.
77270 2009-01-24  Bruno Haible  <bruno@clisp.org>
77272         * doc/gnulib.texi (Obsolete modules): New section.
77273         Reported by Mike Frysinger <vapier@gentoo.org>.
77275 2009-01-24  Bruno Haible  <bruno@clisp.org>
77277         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
77278         (%.dvi): New rule.
77280 2009-01-24  Bruno Haible  <bruno@clisp.org>
77282         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
77283         Reported by Eric Blake.
77285 2009-01-24  Bruno Haible  <bruno@clisp.org>
77287         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
77288         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
77289         Reported by Gary V. Vaughan <gary@gnu.org>.
77291 2009-01-24  Bruno Haible  <bruno@clisp.org>
77293         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
77295 2009-01-23  Bruno Haible  <bruno@clisp.org>
77297         Make c-strtod, c-strtold usable in libraries.
77298         * lib/c-strtod.c: Include string.h instead of xalloc.h.
77299         (C_STRTOD): Call strdup instead of xstrdup.
77300         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
77301         * modules/c-strtold (Depends-on): Likewise.
77302         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
77303         * NEWS: Mention the change.
77304         Reported by Michael Gold <mgold@ncf.ca>.
77306 2009-01-23  Jim Meyering  <meyering@redhat.com>
77308         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
77309         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
77310         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
77312 2009-01-23  Simon Josefsson  <simon@josefsson.org>
77314         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
77315         GNU CoreUtils.
77316         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
77317         * modules/version-etc (Description): Update.
77319 2009-01-22  Bruno Haible  <bruno@clisp.org>
77321         Cache the C locale object.
77322         * lib/c-strtod.c (c_locale_cache): New variable.
77323         (c_locale): New function.
77324         (C_STRTOD): Use it, and don't call freelocale.
77325         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
77326         Suggested by Paolo Bonzini.
77328 2009-01-21  Bruno Haible  <bruno@clisp.org>
77330         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
77331         conditions other than overflow.
77333 2009-01-21  Bruno Haible  <bruno@clisp.org>
77335         * lib/c-strtod.c: Include errno.h.
77336         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
77337         value from STRTOD_L and STRTOD.
77339 2009-01-21  Bruno Haible  <bruno@clisp.org>
77340         and Jim Meyering  <meyering@redhat.com>
77342         nanosleep: skip configure test (fail it) for apple universal builds
77343         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
77344         universal builds, assume that nanosleep does not work.
77345         * modules/nanosleep (Depends-on): Add multiarch.
77347         mktime: skip configure test (fail it) for apple universal builds
77348         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
77349         universal builds, assume that mktime does not work.
77350         * modules/mktime (Depends-on): Add multiarch.
77352 2009-01-21  Eric Blake  <ebb9@byu.net>
77354         multiarch: avoid expand-before-require warning
77355         * modules/multiarch (configure.ac): Require, rather than expand,
77356         gl_MULTIARCH.
77357         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
77358         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
77359         enforce that all clients require it.  Partial reversion of
77360         2008-12-29 patch.
77362         error: avoid expand-before-require warning
77363         * modules/errno (configure.ac): Require, rather than expand,
77364         gl_HEADER_ERRNO_H.
77365         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
77366         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
77367         enforce that all clients require it.
77369         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
77370         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
77371         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
77372         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
77374 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
77376         Revert:
77377         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
77379         regex: do not depend on obsolete modules.
77380         * modules/regex: Remove memcmp and memmove.
77382 2009-01-20  Bruno Haible  <bruno@clisp.org>
77384         Make the 'link' module link on Windows NT 4.
77385         * lib/link.c (_WIN32_WINNT): Don't define.
77386         (CreateHardLinkFuncType): New type.
77387         (CreateHardLinkFunc, initialized): New variables.
77388         (initialize): New function.
77389         (link): Invoke CreateHardLink indirectly through the function pointer.
77391 2009-01-20  Bruno Haible  <bruno@clisp.org>
77393         Fix compilation failure on mingw.
77394         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
77396 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
77398         * doc/c-strtod.texi: Mention a couple of restrictions.
77400 2009-01-20  Jim Meyering  <meyering@redhat.com>
77402         gettimeofday: move more declarations out of functions
77403         * lib/gettimeofday.c: Move extern declarations of tzset and
77404         gmtime out of containing functions.  Prompted by Bruno Haible.
77406 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
77408         regex: do not depend on obsolete modules.
77409         * modules/regex: Remove memcmp and memmove.
77411 2009-01-19  Bruno Haible  <bruno@clisp.org>
77413         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
77414         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
77415         gl_BIGENDIAN, not AC_C_BIGENDIAN.
77416         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
77417         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
77419 2009-01-19  Bruno Haible  <bruno@clisp.org>
77421         * tests/test-link.c: Include <errno.h>.
77422         (main): Exit with code 77 when a hard link cannot be created due to
77423         the file system.
77424         * tests/test-link.sh: Skip test when a hard link cannot be created due
77425         to the file system.
77426         Suggested by Eric Blake.
77428 2009-01-19  Martin Lambers  <marlam@marlam.de>
77430         * modules/link-tests: New file.
77431         * tests/test-link.sh: New file.
77432         * tests/test-link.c: New file.
77434 2009-01-19  Eric Blake  <ebb9@byu.net>
77436         doc: mention another function added in cygwin 1.7.0
77437         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
77438         Another new function in cygwin 1.7.
77440 2009-01-19  Bruno Haible  <bruno@clisp.org>
77442         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
77443         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
77444         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
77445         gl_BIGENDIAN, not AC_C_BIGENDIAN.
77446         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
77447         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
77448         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
77449         * m4/md4.m4 (gl_MD4): Likewise.
77450         * m4/md5.m4 (gl_MD5): Likewise.
77451         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
77452         * m4/sha1.m4 (gl_SHA1): Likewise.
77453         * m4/sha256.m4 (gl_SHA256): Likewise.
77454         * m4/sha512.m4 (gl_SHA512): Likewise.
77456 2009-01-19  Bruno Haible  <bruno@clisp.org>
77458         * modules/uniname/uniname-tests (Depends-on): Add progname.
77459         * tests/uniname/test-uninames.c: Include progname.h.
77460         (main): Call set_program_name.
77462         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
77463         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
77464         (main): Call set_program_name.
77466         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
77467         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
77468         (main): Call set_program_name.
77470         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
77471         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
77472         (main): Call set_program_name.
77474         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
77475         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
77476         (main): Call set_program_name.
77478         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
77479         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
77480         (main): Call set_program_name.
77482         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
77483         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
77484         (main): Call set_program_name.
77486         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
77487         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
77488         (main): Call set_program_name.
77490         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
77491         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
77492         (main): Call set_program_name.
77494 2009-01-19  Eric Blake  <ebb9@byu.net>
77496         test-unistd: test previous patch
77497         * tests/test-unistd.c: Test *_FILENO macros.
77499         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
77500         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
77501         Guarantee a definition.
77502         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
77503         * modules/unistd-safer (Depends-on): Add dependency on unistd.
77504         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
77505         * lib/dup-safer.c (STDERR_FILENO): Likewise.
77506         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
77507         Likewise.
77508         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
77509         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
77510         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
77511         Likewise.
77512         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
77513         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
77514         (STDERR_FILENO): Likewise.
77515         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
77516         (STDERR_FILENO): Likewise.
77517         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
77518         (STDERR_FILENO): Likewise.
77519         Reported by Elbert Pol.
77521 2009-01-19  Eric Blake  <ebb9@byu.net>
77523         doc: mention more functions added in cygwin 1.7.0
77524         * doc/posix-functions/abort.texi (abort): Update wording related
77525         to cygwin.
77526         * doc/posix-functions/daylight.texi (daylight): Likewise.
77527         * doc/posix-functions/optarg.texi (optarg): Likewise.
77528         * doc/posix-functions/optarg.texi (opterr): Likewise.
77529         * doc/posix-functions/optarg.texi (optind): Likewise.
77530         * doc/posix-functions/optarg.texi (optopt): Likewise.
77531         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
77532         worked in 1.5.x, and was withdrawn in 1.7.
77533         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
77534         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
77535         cygwin versions.
77536         * doc/posix-functions/perror.texi (perror): Likewise.
77537         * doc/posix-functions/printf.texi (printf): Likewise.
77538         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
77539         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
77540         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
77541         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
77542         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
77543         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
77544         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
77545         Likewise.
77546         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
77547         Likewise.
77548         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
77549         this function.
77550         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
77551         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
77552         Likewise.
77553         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
77554         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
77555         * doc/posix-functions/confstr.texi (confstr): Likewise.
77556         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
77557         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
77558         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
77559         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
77560         * doc/posix-functions/fputws.texi (fputws): Likewise.
77561         * doc/posix-functions/fwide.texi (fwide): Likewise.
77562         * doc/posix-functions/getwc.texi (getwc): Likewise.
77563         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
77564         * doc/posix-functions/putwc.texi (putwc): Likewise.
77565         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
77566         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
77567         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
77568         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
77569         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
77570         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
77571         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
77572         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
77573         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
77574         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
77575         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
77577 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
77579         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
77580         * lib/ioctl.c: Include <sys/ioctl.h>.
77582 2009-01-19  Simon Josefsson  <simon@josefsson.org>
77584         * modules/getdate-tests (Depends-on): Add progname.
77585         * tests/test-getdate.c: Use progname module, to avoid link errors
77586         on non-glibc systems.
77588 2009-01-18  Simon Josefsson  <simon@josefsson.org>
77590         * modules/filenamecat-tests (Depends-on): Add progname.
77591         * modules/fstrcmp-tests (Depends-on): Likewise.
77593         * tests/test-filenamecat.c: Use progname module, to avoid link
77594         errors on non-glibc systems.
77595         * tests/test-fstrcmp.c: Likewise.
77597 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
77599         gettimeofday: avoid warning: nested extern declaration of 'localtime'
77600         * lib/gettimeofday.c: Move extern declaration out of function.
77602 2009-01-18  Bruno Haible  <bruno@clisp.org>
77604         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
77605         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
77606         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
77608 2009-01-18  Bruno Haible  <bruno@clisp.org>
77610         * lib/strftime.c (MEMPCPY): Remove unused macro.
77611         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
77613 2009-01-18  Martin Lambers  <marlam@marlam.de>
77615         New module 'link'.
77616         * lib/unistd.in.h (link): New declaration.
77617         * lib/link.c: New file.
77618         * m4/link.m4: New file.
77619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
77620         HAVE_LINK.
77621         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
77622         * modules/link: New file.
77623         * doc/posix-functions/link.texi: Mention the new module.
77625 2009-01-18  Bruno Haible  <bruno@clisp.org>
77627         * tests/test-avltree_list.c (main): Call set_program_name.
77628         * tests/test-avltree_oset.c (main): Likewise.
77629         * tests/test-obstack-printf.c: Include progname.h.
77630         (main): Call set_program_name.
77631         * tests/test-quotearg.c: Include progname.h.
77632         (main): Call set_program_name.
77633         * tests/test-xmemdup0.c: Include progname.h.
77634         (main): Call set_program_name.
77636 2009-01-18  Bruno Haible  <bruno@clisp.org>
77638         New module 'alphasort'.
77639         * lib/dirent.in.h (alphasort): New declaration.
77640         * lib/alphasort.c: New file, from glibc with modifications.
77641         * m4/alphasort.m4: New file.
77642         * modules/alphasort: New file.
77643         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
77644         HAVE_ALPHASORT.
77645         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
77646         HAVE_ALPHASORT.
77647         * doc/posix-functions/alphasort.texi: Mention the new module and the
77648         portability problems.
77650 2009-01-18  Bruno Haible  <bruno@clisp.org>
77652         New module 'scandir'.
77653         * lib/dirent.in.h (scandir): New declaration.
77654         * lib/scandir.c: New file, from glibc with modifications.
77655         * m4/scandir.m4: New file.
77656         * modules/scandir: New file.
77657         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
77658         HAVE_SCANDIR.
77659         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
77660         HAVE_SCANDIR.
77661         * doc/posix-functions/scandir.texi: Mention the new module and the
77662         portability problems.
77664 2009-01-17  Bruno Haible  <bruno@clisp.org>
77666         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
77667         Update documentation.
77668         (func_remove_suffix): Escape all dots in the suffix. Update
77669         documentation.
77670         (func_filter_filelist): Update documentation.
77671         Reported by Ralf Wildenhues.
77673 2009-01-17  Bruno Haible  <bruno@clisp.org>
77675         * modules/dprintf-posix-tests: New file.
77676         * tests/test-dprintf-posix.sh: New file.
77677         * tests/test-dprintf-posix.c: New file.
77679         New modules 'dprintf', 'dprintf-posix'.
77680         * lib/stdio.in.h (dprintf): New declaration.
77681         * lib/dprintf.c: New file.
77682         * m4/dprintf.m4: New file.
77683         * m4/dprintf-posix.m4: New file.
77684         * modules/dprintf: New file.
77685         * modules/dprintf-posix: New file.
77686         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
77687         HAVE_DPRINTF, REPLACE_DPRINTF.
77688         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
77689         HAVE_DPRINTF, REPLACE_DPRINTF.
77690         * doc/posix-functions/dprintf.texi: Mention the new modules.
77692 2009-01-17  Bruno Haible  <bruno@clisp.org>
77694         * modules/vdprintf-posix-tests: New file.
77695         * tests/test-vdprintf-posix.sh: New file.
77696         * tests/test-vdprintf-posix.c: New file.
77698         New modules 'vdprintf', 'vdprintf-posix'.
77699         * lib/stdio.in.h (vdprintf): New declaration.
77700         * lib/vdprintf.c: New file.
77701         * m4/vdprintf.m4: New file.
77702         * m4/vdprintf-posix.m4: New file.
77703         * modules/vdprintf: New file.
77704         * modules/vdprintf-posix: New file.
77705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
77706         HAVE_VDPRINTF, REPLACE_VDPRINTF.
77707         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
77708         HAVE_VDPRINTF, REPLACE_VDPRINTF.
77709         * doc/posix-functions/vdprintf.texi: Mention the new modules.
77711 2009-01-17  Bruno Haible  <bruno@clisp.org>
77713         Fix replacement of fopen on mingw.
77714         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
77715         mingw.
77717 2009-01-17  Bruno Haible  <bruno@clisp.org>
77719         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
77720         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
77722 2009-01-17  Bruno Haible  <bruno@clisp.org>
77724         Avoid test-fflush2.sh failure on mingw.
77725         * tests/test-fflush2.c: Include binary-io.h.
77726         (main): Put standard input into binary mode.
77727         * modules/fflush-tests (Depends-on): Add binary-io.
77729 2009-01-17  Bruno Haible  <bruno@clisp.org>
77731         * lib/wchar.in.h: In another particular situation, include only the
77732         system's <wchar.h> file.
77733         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
77734         Reported by Albert Chin-A-Young <china@thewrittenword.com>
77735         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
77737 2009-01-17  Bruno Haible  <bruno@clisp.org>
77739         Support for stripping executables in --enable-relocatable.
77740         * build-aux/install-reloc: Expect one more argument, or an environment
77741         variable RELOC_STRIP_PROG. If set, strip the destination program and
77742         its wrapper.
77743         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
77744         RELOC_STRIP_PROG.
77745         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
77746         to set RELOCATABLE_STRIP.
77747         * NEWS: Mention the new Makefile requirement.
77749 2009-01-17  Bruno Haible  <bruno@clisp.org>
77751         * build-aux/install-reloc: Remove debugging information left over by
77752         C compiler on MacOS X.
77754 2009-01-17  Bruno Haible  <bruno@clisp.org>
77756         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
77757         * lib/progreloc.c (find_executable): Fix type of pointer passed to
77758         _NSGetExecutablePath.
77760 2009-01-16  Jim Meyering  <meyering@redhat.com>
77762         strerror: avoid warnings about discarding "const"
77763         * lib/strerror.c (rpl_strerror): Instead of returning a const
77764         string from each and every "case", use a variable, and add a single
77765         cast after the switch.
77767 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
77769         * lib/arpa_inet.in.h: Add extern "C" block for C++.
77771 2009-01-16  Bruno Haible  <bruno@clisp.org>
77773         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
77774         array initializer syntax that also works in C++ mode.
77775         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
77777 2009-01-16  Jim Meyering  <meyering@redhat.com>
77779         poll: suppress a warning
77780         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
77781         to ignore "...unsigned expression < 0 is always false" warnings.
77783 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
77785         poll: remove declarations of unused variables
77786         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
77787         sockbuf and optlen.
77789 2009-01-15  Bruno Haible  <bruno@clisp.org>
77791         Make fflush-after-ungetc POSIX compliant on BSD systems.
77792         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
77793         (clear_ungetc_buffer): Implement also for other systems.
77794         (rpl_fflush): On glibc systems, invoke
77795         clear_ungetc_buffer_preserving_position. Otherwise, invoke
77796         clear_ungetc_buffer after fetching the stream's position, not before.
77798 2009-01-15  Bruno Haible  <bruno@clisp.org>
77800         Make fflush-after-ungetc POSIX compliant on glibc systems.
77801         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
77802         after ungetc.
77803         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
77804         (rpl_fflush): On glibc systems, simply call the system's fflush
77805         function after clearing the ungetc buffer.
77806         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
77807         Instead, lseek only to the end of file, then use the system's fseeko
77808         for the rest. On glibc systems, reset the EOF indicator bit.
77810 2009-01-15  Jim Meyering  <meyering@redhat.com>
77812         openmp.m4: revert quote-adding change, for portability to older autoconf
77813         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
77814         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
77815         Simon Josefsson noticed the problem when using autoconf-2.61.
77817 2009-01-15  Bruno Haible  <bruno@clisp.org>
77819         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
77820         * tests/test-fflush2.c (ASSERT): Always fail.
77821         (main): Add two tests for fflush() after ungetc(), taking into account
77822         the Austin Group's clarification.
77823         Suggested by Eric Blake.
77825 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
77827         mktime.m4: remove K&R-style function prototypes
77828         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
77829         for the Sun C++ compiler.
77831 2009-01-14  Bruno Haible  <bruno@clisp.org>
77833         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
77834         while including <wchar.h>.
77835         * lib/wchar.in.h: In two particular situations on HP-UX, include only
77836         the system's <wchar.h> file.
77837         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
77839 2009-01-14  Bruno Haible  <bruno@clisp.org>
77841         * m4/csharp.m4: Don't mention gettext on the serial number line.
77842         * m4/csharpexec.m4: Likewise.
77843         * m4/eaccess.m4: Likewise.
77844         * m4/javaexec.m4: Likewise.
77845         * m4/sig_atomic_t.m4: Likewise.
77846         * m4/tmpdir.m4: Likewise.
77847         * m4/intldir.m4: Bump gettext version.
77848         * m4/lib-ld.m4: Likewise.
77850 2009-01-14  Bruno Haible  <bruno@clisp.org>
77852         * lib/progname.c (set_program_name): Add more comments.
77853         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
77855 2009-01-14  Simon Josefsson  <simon@josefsson.org>
77857         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
77858         were sys/stat.h does not define it.
77860 2009-01-14  Jim Meyering  <meyering@redhat.com>
77862         many *.m4 files: improve m4 quoting
77863         99% of this change was performed by running the following commands:
77864         git ls-files | grep '\.m4$' | xargs perl -pi \
77865           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
77866           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
77867           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
77868           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
77869         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
77870         The remainder were to add Copyright dates, increment serial numbers,
77871         undo some changes in comments, exclude m4/intl.m4, and add quotes
77872         around the "1" in ",1" where the unusual spacing prohibited the
77873         above regexps from doing the job.  For more details, see
77874         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
77875         * m4/acl.m4: Modified.
77876         * m4/afs.m4: Likewise.
77877         * m4/alloca.m4: Likewise.
77878         * m4/argp.m4: Likewise.
77879         * m4/argz.m4: Likewise.
77880         * m4/atexit.m4: Likewise.
77881         * m4/bison-i18n.m4: Likewise.
77882         * m4/bison.m4: Likewise.
77883         * m4/byteswap.m4: Likewise.
77884         * m4/c-stack.m4: Likewise.
77885         * m4/c-strtod.m4: Likewise.
77886         * m4/calloc.m4: Likewise.
77887         * m4/canonicalize-lgpl.m4: Likewise.
77888         * m4/chown.m4: Likewise.
77889         * m4/clock_time.m4: Likewise.
77890         * m4/codeset.m4: Likewise.
77891         * m4/copy-file.m4: Likewise.
77892         * m4/csharp.m4: Likewise.
77893         * m4/csharpcomp.m4: Likewise.
77894         * m4/csharpexec.m4: Likewise.
77895         * m4/d-ino.m4: Likewise.
77896         * m4/d-type.m4: Likewise.
77897         * m4/dirfd.m4: Likewise.
77898         * m4/double-slash-root.m4: Likewise.
77899         * m4/eaccess.m4: Likewise.
77900         * m4/eealloc.m4: Likewise.
77901         * m4/environ.m4: Likewise.
77902         * m4/errno_h.m4: Likewise.
77903         * m4/euidaccess.m4: Likewise.
77904         * m4/execute.m4: Likewise.
77905         * m4/fatal-signal.m4: Likewise.
77906         * m4/fchdir.m4: Likewise.
77907         * m4/fcntl_h.m4: Likewise.
77908         * m4/fileblocks.m4: Likewise.
77909         * m4/filenamecat.m4: Likewise.
77910         * m4/findprog.m4: Likewise.
77911         * m4/flexmember.m4: Likewise.
77912         * m4/fnmatch.m4: Likewise.
77913         * m4/fopen.m4: Likewise.
77914         * m4/fpending.m4: Likewise.
77915         * m4/fprintf-posix.m4: Likewise.
77916         * m4/free.m4: Likewise.
77917         * m4/frexp.m4: Likewise.
77918         * m4/frexpl.m4: Likewise.
77919         * m4/fsusage.m4: Likewise.
77920         * m4/ftruncate.m4: Likewise.
77921         * m4/gc-camellia.m4: Likewise.
77922         * m4/gc-random.m4: Likewise.
77923         * m4/gc.m4: Likewise.
77924         * m4/getaddrinfo.m4: Likewise.
77925         * m4/getcwd-abort-bug.m4: Likewise.
77926         * m4/getcwd-path-max.m4: Likewise.
77927         * m4/getdate.m4: Likewise.
77928         * m4/getdomainname.m4: Likewise.
77929         * m4/getgroups.m4: Likewise.
77930         * m4/gethostname.m4: Likewise.
77931         * m4/gethrxtime.m4: Likewise.
77932         * m4/getline.m4: Likewise.
77933         * m4/getloadavg.m4: Likewise.
77934         * m4/getndelim2.m4: Likewise.
77935         * m4/getpass.m4: Likewise.
77936         * m4/gettext.m4: Likewise.
77937         * m4/gettime.m4: Likewise.
77938         * m4/gettimeofday.m4: Likewise.
77939         * m4/gnulib-common.m4: Likewise.
77940         * m4/group-member.m4: Likewise.
77941         * m4/host-os.m4: Likewise.
77942         * m4/iconv.m4: Likewise.
77943         * m4/iconv_open.m4: Likewise.
77944         * m4/inet_ntop.m4: Likewise.
77945         * m4/inet_pton.m4: Likewise.
77946         * m4/inline.m4: Likewise.
77947         * m4/intldir.m4: Likewise.
77948         * m4/intlmacosx.m4: Likewise.
77949         * m4/intmax.m4: Likewise.
77950         * m4/intmax_t.m4: Likewise.
77951         * m4/inttypes.m4: Likewise.
77952         * m4/inttypes_h.m4: Likewise.
77953         * m4/inttypes-pri.m4: Likewise.
77954         * m4/isapipe.m4: Likewise.
77955         * m4/isnand.m4: Likewise.
77956         * m4/isnanf.m4: Likewise.
77957         * m4/isnanl.m4: Likewise.
77958         * m4/javacomp.m4: Likewise.
77959         * m4/javaexec.m4: Likewise.
77960         * m4/jm-winsz1.m4: Likewise.
77961         * m4/jm-winsz2.m4: Likewise.
77962         * m4/lchown.m4: Likewise.
77963         * m4/lcmessage.m4: Likewise.
77964         * m4/ldexpl.m4: Likewise.
77965         * m4/lib-ld.m4: Likewise.
77966         * m4/lib-link.m4: Likewise.
77967         * m4/libsigsegv.m4: Likewise.
77968         * m4/link-follow.m4: Likewise.
77969         * m4/localcharset.m4: Likewise.
77970         * m4/locale-fr.m4: Likewise.
77971         * m4/locale-ja.m4: Likewise.
77972         * m4/locale-tr.m4: Likewise.
77973         * m4/locale-zh.m4: Likewise.
77974         * m4/lock.m4: Likewise.
77975         * m4/longlong.m4: Likewise.
77976         * m4/ls-mntd-fs.m4: Likewise.
77977         * m4/lstat.m4: Likewise.
77978         * m4/malloc.m4: Likewise.
77979         * m4/mathl.m4: Likewise.
77980         * m4/mbrtowc.m4: Likewise.
77981         * m4/mbstate_t.m4: Likewise.
77982         * m4/mbswidth.m4: Likewise.
77983         * m4/memchr.m4: Likewise.
77984         * m4/memcmp.m4: Likewise.
77985         * m4/memcpy.m4: Likewise.
77986         * m4/memmem.m4: Likewise.
77987         * m4/memmove.m4: Likewise.
77988         * m4/mempcpy.m4: Likewise.
77989         * m4/memrchr.m4: Likewise.
77990         * m4/memset.m4: Likewise.
77991         * m4/minmax.m4: Likewise.
77992         * m4/mkdir-slash.m4: Likewise.
77993         * m4/mkdtemp.m4: Likewise.
77994         * m4/mktime.m4: Likewise.
77995         * m4/mmap-anon.m4: Likewise.
77996         * m4/mountlist.m4: Likewise.
77997         * m4/nanosleep.m4: Likewise.
77998         * m4/nls.m4: Likewise.
77999         * m4/nocrash.m4: Likewise.
78000         * m4/open.m4: Likewise.
78001         * m4/openat.m4: Likewise.
78002         * m4/openmp.m4: Likewise.
78003         * m4/pathmax.m4: Likewise.
78004         * m4/perl.m4: Likewise.
78005         * m4/physmem.m4: Likewise.
78006         * m4/pipe.m4: Likewise.
78007         * m4/po.m4: Likewise.
78008         * m4/poll.m4: Likewise.
78009         * m4/posixtm.m4: Likewise.
78010         * m4/posixver.m4: Likewise.
78011         * m4/printf-frexp.m4: Likewise.
78012         * m4/printf-frexpl.m4: Likewise.
78013         * m4/printf-posix.m4: Likewise.
78014         * m4/printf-posix-rpl.m4: Likewise.
78015         * m4/printf.m4: Likewise.
78016         * m4/progtest.m4: Likewise.
78017         * m4/putenv.m4: Likewise.
78018         * m4/readline.m4: Likewise.
78019         * m4/readlink.m4: Likewise.
78020         * m4/readutmp.m4: Likewise.
78021         * m4/realloc.m4: Likewise.
78022         * m4/regex.m4: Likewise.
78023         * m4/relocatable.m4: Likewise.
78024         * m4/relocatable-lib.m4: Likewise.
78025         * m4/rename-dest-slash.m4: Likewise.
78026         * m4/rename.m4: Likewise.
78027         * m4/rmdir-errno.m4: Likewise.
78028         * m4/rmdir.m4: Likewise.
78029         * m4/roundf.m4: Likewise.
78030         * m4/roundl.m4: Likewise.
78031         * m4/rpmatch.m4: Likewise.
78032         * m4/save-cwd.m4: Likewise.
78033         * m4/selinux-selinux-h.m4: Likewise.
78034         * m4/setenv.m4: Likewise.
78035         * m4/settime.m4: Likewise.
78036         * m4/sig2str.m4: Likewise.
78037         * m4/sig_atomic_t.m4: Likewise.
78038         * m4/signalblocking.m4: Likewise.
78039         * m4/signbit.m4: Likewise.
78040         * m4/sigpipe.m4: Likewise.
78041         * m4/sockets.m4: Likewise.
78042         * m4/sockpfaf.m4: Likewise.
78043         * m4/st_dm_mode.m4: Likewise.
78044         * m4/stat-time.m4: Likewise.
78045         * m4/stdbool.m4: Likewise.
78046         * m4/stdint.m4: Likewise.
78047         * m4/stdint_h.m4: Likewise.
78048         * m4/stpcpy.m4: Likewise.
78049         * m4/stpncpy.m4: Likewise.
78050         * m4/strcase.m4: Likewise.
78051         * m4/strchrnul.m4: Likewise.
78052         * m4/strcspn.m4: Likewise.
78053         * m4/strdup.m4: Likewise.
78054         * m4/strftime.m4: Likewise.
78055         * m4/strndup.m4: Likewise.
78056         * m4/strnlen.m4: Likewise.
78057         * m4/strpbrk.m4: Likewise.
78058         * m4/strptime.m4: Likewise.
78059         * m4/strsep.m4: Likewise.
78060         * m4/strtod.m4: Likewise.
78061         * m4/strtoimax.m4: Likewise.
78062         * m4/strtok_r.m4: Likewise.
78063         * m4/strtol.m4: Likewise.
78064         * m4/strtoll.m4: Likewise.
78065         * m4/strtoul.m4: Likewise.
78066         * m4/strtoull.m4: Likewise.
78067         * m4/strtoumax.m4: Likewise.
78068         * m4/strverscmp.m4: Likewise.
78069         * m4/threadlib.m4: Likewise.
78070         * m4/timegm.m4: Likewise.
78071         * m4/tm_gmtoff.m4: Likewise.
78072         * m4/tmpdir.m4: Likewise.
78073         * m4/tmpfile.m4: Likewise.
78074         * m4/tzset.m4: Likewise.
78075         * m4/uintmax_t.m4: Likewise.
78076         * m4/unlinkdir.m4: Likewise.
78077         * m4/unlocked-io.m4: Likewise.
78078         * m4/uptime.m4: Likewise.
78079         * m4/userspec.m4: Likewise.
78080         * m4/utimbuf.m4: Likewise.
78081         * m4/utime.m4: Likewise.
78082         * m4/utimes-null.m4: Likewise.
78083         * m4/utimes.m4: Likewise.
78084         * m4/vararrays.m4: Likewise.
78085         * m4/vasnprintf.m4: Likewise.
78086         * m4/vfprintf-posix.m4: Likewise.
78087         * m4/vprintf-posix.m4: Likewise.
78088         * m4/wait-process.m4: Likewise.
78089         * m4/wchar_t.m4: Likewise.
78090         * m4/wint_t.m4: Likewise.
78091         * m4/write-any-file.m4: Likewise.
78092         * m4/yield.m4: Likewise.
78094 2009-01-13  Bruno Haible  <bruno@clisp.org>
78096         Avoid test-copy-file.sh failures when ACL support insufficient.
78097         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
78098         TESTS_ENVIRONMENT.
78099         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
78100         Reported by Jim Meyering.
78102 2009-01-13  Bruno Haible  <bruno@clisp.org>
78104         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
78105         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
78106         * modules/unistdio/u8-printf-parse (Files): Likewise.
78107         * modules/unistdio/u32-printf-parse (Files): Likewise.
78108         * modules/unistdio/ulc-printf-parse (Files): Likewise.
78110 2009-01-13  Simon Josefsson  <simon@josefsson.org>
78112         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
78113         and m4/inttypes_h.m4 too.
78115 2009-01-12  Eric Blake  <ebb9@byu.net>
78117         tests: IRIX 6.2 cc can't compile -0.0 into .data
78118         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
78119         rather than at compile-time.
78120         * tests/test-floorl.c (minus_zero): Likewise.
78121         * tests/test-frexpl.c (minus_zero): Likewise.
78122         * tests/test-isnan.c (minus_zerol): Likewise.
78123         * tests/test-isnanl.h (minus_zero): Likewise.
78124         * tests/test-ldexpl.c (minus_zero): Likewise.
78125         * tests/test-roundl.c (minus_zero): Likewise.
78126         * tests/test-signbit.c (minus_zerol): Likewise.
78127         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
78128         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
78129         * tests/test-truncl.c (minus_zero): Likewise.
78130         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
78131         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
78132         Reported by Tom G. Christensen and Nelson H. F. Beebe.
78134 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
78136         regex: fix glibc bug 9697
78137         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
78138         handling.
78140 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
78142         regex: fix glibc bug 697
78143         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
78144         being NULL also if there are no backreferences.
78146 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
78148         regex: merge glibc changes
78149         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
78150         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
78151         re_string_skip_chars, re_string_reconstruct): Likewise.
78152         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
78154 2009-01-07  Jim Meyering  <meyering@redhat.com>
78156         poll: filter through cppi
78157         * lib/poll.c: Indent cpp directives to reflect nesting.
78159 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
78161         poll: don't return uninitialized
78162         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
78164 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
78166         avoid compile failure on AIX 6.1
78167         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
78168         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
78170 2009-01-04  Jim Meyering  <meyering@redhat.com>
78172         remove duplicate inclusion of <stdio.h>
78173         * tests/test-fprintf-posix.c: Likewise.
78174         * tests/test-printf-posix.c: Likewise.
78175         * tests/test-snprintf-posix.c: Likewise.
78176         * tests/test-sprintf-posix.c: Likewise.
78177         * tests/test-vasprintf-posix.c: Likewise.
78178         * tests/test-vfprintf-posix.c: Likewise.
78179         * tests/test-vprintf-posix.c: Likewise.
78180         * tests/test-vsnprintf-posix.c: Likewise.
78181         * tests/test-vsprintf-posix.c: Likewise.
78183 2009-01-03  Jim Meyering  <meyering@redhat.com>
78185         gnulib-tool: fix sed-based filtering
78186         * gnulib-tool (func_filter_filelist): Remove extra backslash
78187         in sed_fff_filter definition.
78189 2009-01-02  Jim Meyering  <meyering@redhat.com>
78191         strftime: avoid compilation failure on Solaris 2.6
78192         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
78193         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
78194         Don't #define mbrlen or mbsinit, since now they're guaranteed to
78195         be available.  Reported by Tom G. Christensen.  Details in
78196         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
78198 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78199             Bruno Haible  <bruno@clisp.org>
78201         Speed up gnulib-tool by doing more string processing through shell
78202         built-ins.
78203         * gnulib-tool (fast_func_append): New variable.
78204         (func_remove_prefix, func_remove_suffix): New functions.
78205         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
78206         (func_filter_filelist): New function.
78207         (func_get_dependencies): Use func_remove_suffix instead of sed.
78208         (func_get_automake_snippet): Use func_filter_filelist instead of a
78209         subshell and sed invocation.
78211 2009-01-01  Bruno Haible  <bruno@clisp.org>
78213         Fix a security bug.
78214         * gnulib-tool (func_import, import, update): Don't allow the characters
78215         '"', '$', '`', '\' in macro arguments that become part of commands that
78216         are evaluated.
78218 2009-01-01  Bruno Haible  <bruno@clisp.org>
78220         * gnulib-tool (func_reset_sigpipe): Add more comments.
78222 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78224         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
78225         func_emit_tests_Makefile_am, func_import): Abort loops early if we
78226         already know the answer.
78228 2009-01-01  Jim Meyering  <meyering@redhat.com>
78230         * lib/version-etc.c (version_etc_va): Update copyright year.
78232 2008-12-30  Bruno Haible  <bruno@clisp.org>
78234         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
78235         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
78236         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
78238 2008-12-29  Eric Blake  <ebb9@byu.net>
78240         multiarch: avoid autoconf AC_REQUIRE bug
78241         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
78242         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
78243         2.63 and older.
78244         Reported by Bruno Haible, and analyzed in
78245         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
78247 2008-12-29  Bruno Haible  <bruno@clisp.org>
78249         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
78250         files in subdirectories correctly.
78251         Reported by Ralf Wildenhues.
78253 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78255         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
78256         rather than 'join FILE -', for Solaris join.
78258 2008-12-29  Bruno Haible  <bruno@clisp.org>
78260         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
78261         quoting.
78262         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
78263         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
78264         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
78265         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
78266         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
78267         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
78268         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
78269         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
78270         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78271         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
78272         * m4/nls.m4 (AM_NLS): Likewise.
78273         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
78274         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
78275         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
78276         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
78277         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
78278         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
78279         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
78280         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
78281         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
78282         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
78283         * m4/xsize.m4 (gl_XSIZE): Likewise.
78284         Suggested by Jim Meyering.
78286 2008-11-17  Bruce Korb  <bkorb@gnu.org>
78288         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
78289         * lib/parse-duration.c: use a switch instead of cascading if's.
78291 2008-12-29  Eric Blake  <ebb9@byu.net>
78293         wchar.h: supply WEOF on Irix 5.3
78294         * lib/wchar.in.h (wint_t): Also supply WEOF.
78295         * lib/wctype.in.h (wint_t): Likewise.
78296         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
78297         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
78298         Reported by Tom G. Christensen.
78300 2008-12-26  Bruno Haible  <bruno@clisp.org>
78302         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
78303         i486, i586, i686.
78305 2008-12-26  Bruno Haible  <bruno@clisp.org>
78307         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
78309 2008-12-26  Bruno Haible  <bruno@clisp.org>
78311         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
78312         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
78313         not __STDC_CONSTANT_MACROS.
78314         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
78316 2008-12-25  Bruno Haible  <bruno@clisp.org>
78318         Add support for universal builds to vasnprintf.
78319         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
78320         universal builds, guess no.
78321         * modules/vasnprintf-posix (Depends-on): Add multiarch.
78322         * modules/vasprintf-posix (Depends-on): Likewise.
78323         * modules/fprintf-posix (Depends-on): Likewise.
78324         * modules/vfprintf-posix (Depends-on): Likewise.
78325         * modules/snprintf-posix (Depends-on): Likewise.
78326         * modules/vsnprintf-posix (Depends-on): Likewise.
78327         * modules/sprintf-posix (Depends-on): Likewise.
78328         * modules/vsprintf-posix (Depends-on): Likewise.
78329         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
78330         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
78331         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
78332         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
78333         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
78334         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
78335         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
78337         Add support for universal builds to <inttypes.h>.
78338         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
78339         _SCNu64_PREFIX): In Apple
78340         universal builds, define directly, using _LP64.
78341         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
78342         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
78343         * modules/inttypes (Depends-on): Add multiarch.
78344         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
78346         Add support for universal builds to <stdint.h>.
78347         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
78348         universal builds, define directly, using _LP64.
78349         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
78350         Apple universal builds, don't test for the size and suffix of ptrdiff_t
78351         and size_t.
78352         * modules/stdint (Depends-on): Add multiarch.
78353         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
78355         New module 'multiarch'.
78356         * modules/multiarch: New file.
78357         * m4/multiarch.m4: New file.
78359 2008-12-25  Bruno Haible  <bruno@clisp.org>
78361         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
78363 2008-12-25  Bruno Haible  <bruno@clisp.org>
78365         * modules/btowc (License): Relicense under LGPLv2+.
78366         * modules/mbsinit (License): Likewise.
78367         * modules/mbrtowc (License): Likewise.
78368         * modules/wcrtomb (License): Likewise.
78369         * modules/streq (License): Likewise.
78370         Reported by David Lutterkort <lutter@redhat.com>.
78372 2008-12-23  Bruno Haible  <bruno@clisp.org>
78374         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
78376 2008-12-23  Bruno Haible  <bruno@clisp.org>
78378         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
78379         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
78380         GETADDRINFO_LIB, not in LIBS.
78381         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
78382         * modules/canon-host (Link): Likewise.
78383         * NEWS: Mention the change.
78384         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
78385         GETADDRINFO_LIB.
78387 2008-12-22  Bruno Haible  <bruno@clisp.org>
78389         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
78390         * doc/posix-functions/iswalpha_l.texi: Likewise.
78391         * doc/posix-functions/iswblank_l.texi: Likewise.
78392         * doc/posix-functions/iswcntrl_l.texi: Likewise.
78393         * doc/posix-functions/iswctype_l.texi: Likewise.
78394         * doc/posix-functions/iswdigit_l.texi: Likewise.
78395         * doc/posix-functions/iswgraph_l.texi: Likewise.
78396         * doc/posix-functions/iswlower_l.texi: Likewise.
78397         * doc/posix-functions/iswprint_l.texi: Likewise.
78398         * doc/posix-functions/iswpunct_l.texi: Likewise.
78399         * doc/posix-functions/iswspace_l.texi: Likewise.
78400         * doc/posix-functions/iswupper_l.texi: Likewise.
78401         * doc/posix-functions/iswxdigit_l.texi: Likewise.
78402         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
78403         * doc/posix-functions/open_wmemstream.texi: Likewise.
78404         * doc/posix-functions/swscanf.texi: Likewise.
78405         * doc/posix-functions/towctrans_l.texi: Likewise.
78406         * doc/posix-functions/towlower.texi: Likewise.
78407         * doc/posix-functions/towlower_l.texi: Likewise.
78408         * doc/posix-functions/towupper.texi: Likewise.
78409         * doc/posix-functions/towupper_l.texi: Likewise.
78410         * doc/posix-functions/vfwprintf.texi: Likewise.
78411         * doc/posix-functions/vfwscanf.texi: Likewise.
78412         * doc/posix-functions/vswscanf.texi: Likewise.
78413         * doc/posix-functions/vwprintf.texi: Likewise.
78414         * doc/posix-functions/vwscanf.texi: Likewise.
78415         * doc/posix-functions/wcpcpy.texi: Likewise.
78416         * doc/posix-functions/wcpncpy.texi: Likewise.
78417         * doc/posix-functions/wcscasecmp.texi: Likewise.
78418         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
78419         * doc/posix-functions/wcscoll_l.texi: Likewise.
78420         * doc/posix-functions/wcsdup.texi: Likewise.
78421         * doc/posix-functions/wcsncasecmp.texi: Likewise.
78422         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
78423         * doc/posix-functions/wcsnlen.texi: Likewise.
78424         * doc/posix-functions/wcsnrtombs.texi: Likewise.
78425         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
78426         * doc/posix-functions/wctrans_l.texi: Likewise.
78427         * doc/posix-functions/wctype_l.texi: Likewise.
78428         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
78429         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
78430         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
78431         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
78432         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
78433         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
78434         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
78435         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
78436         * doc/glibc-functions/wcschrnul.texi: Likewise.
78437         * doc/glibc-functions/wcsftime_l.texi: Likewise.
78438         * doc/glibc-functions/wcstod_l.texi: Likewise.
78439         * doc/glibc-functions/wcstof_l.texi: Likewise.
78440         * doc/glibc-functions/wcstol_l.texi: Likewise.
78441         * doc/glibc-functions/wcstold_l.texi: Likewise.
78442         * doc/glibc-functions/wcstoll_l.texi: Likewise.
78443         * doc/glibc-functions/wcstoq.texi: Likewise.
78444         * doc/glibc-functions/wcstoul_l.texi: Likewise.
78445         * doc/glibc-functions/wcstoull_l.texi: Likewise.
78446         * doc/glibc-functions/wcstouq.texi: Likewise.
78447         * doc/glibc-functions/wmempcpy.texi: Likewise.
78449 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
78450             Eric Blake  <ebb9@byu.net>
78451             Paolo Bonzini  <bonzini@gnu.org>
78452             Bruno Haible  <bruno@clisp.org>
78454         Make c-stack work on Haiku.
78455         * lib/c-stack.c (SA_ONSTACK): Define fallback.
78456         (c_stack_action): Use SA_ONSTACK flag.
78458 2008-12-22  Bruno Haible  <bruno@clisp.org>
78460         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
78462 2008-12-22  Bruno Haible  <bruno@clisp.org>
78464         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
78465         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
78466         being overridden.
78467         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
78468         New macros.
78469         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
78470         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
78471         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
78472         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
78474 2008-12-22  Bruno Haible  <bruno@clisp.org>
78476         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
78477         from test code.
78479 2008-12-22  Eric Blake  <ebb9@byu.net>
78481         Avoid gcc warnings on cygwin.
78482         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
78483         Avoid unused variable.
78484         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
78485         Likewise.
78487 2008-12-22  Bruno Haible  <bruno@clisp.org>
78489         Remove HAVE_MBRTOWC conditionals.
78490         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
78491         (mbscasecmp): Assume mbrtowc function.
78492         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
78493         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
78494         * lib/mbschr.c: Include mbuiter.h unconditionally.
78495         (mbschr): Assume mbrtowc function.
78496         * lib/mbscspn.c: Include mbuiter.h unconditionally.
78497         (mbscspn): Assume mbrtowc function.
78498         * lib/mbslen.c: Include mbuiter.h unconditionally.
78499         (mbslen): Assume mbrtowc function.
78500         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
78501         (mbsncasecmp): Assume mbrtowc function.
78502         * lib/mbsnlen.c: Include mbiter.h unconditionally.
78503         (mbsnlen): Assume mbrtowc function.
78504         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
78505         (mbspbrk): Assume mbrtowc function.
78506         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
78507         (mbspcasecmp): Assume mbrtowc function.
78508         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
78509         (mbsrchr): Assume mbrtowc function.
78510         * lib/mbssep.c: Include mbuiter.h unconditionally.
78511         (mbssep): Assume mbrtowc function.
78512         * lib/mbsspn.c: Include mbuiter.h unconditionally.
78513         (mbsspn): Assume mbrtowc function.
78514         * lib/mbsstr.c: Include mbuiter.h unconditionally.
78515         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
78516         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
78517         (mbstok_r): Assume mbrtowc function.
78518         * lib/propername.c: Include mbuiter.h unconditionally.
78519         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
78520         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
78521         (trim2): Assume mbrtowc function.
78522         * lib/mbswidth.c (mbsinit): Remove fallback definition.
78523         (mbsnwidth): Assume mbrtowc function.
78524         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
78525         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
78526         fallback definitions.
78527         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
78529 2008-12-22  Bruno Haible  <bruno@clisp.org>
78531         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
78533 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
78535         * modules/regex: Request emulations for the mb*/wc* functions we need.
78536         * m4/regex.m4: Don't look for those functions here.
78537         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
78539 2008-12-22  Bruno Haible  <bruno@clisp.org>
78541         * modules/fnmatch (Depends-on): Remove duplicated dependency.
78543 2008-12-21  Bruno Haible  <bruno@clisp.org>
78545         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
78546         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
78547         (Include): Remove conditionalization.
78548         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
78549         (Include): Remove conditionalization.
78550         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
78551         (Include): Remove conditionalization.
78552         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
78553         * m4/mbfile.m4 (gl_MBFILE): Likewise.
78554         * NEWS: Mention the change.
78555         Reported by Alan Hourihane <alanh@fairlite.co.uk>
78556         via Sergey Poznyakoff <gray@gnu.org.ua>.
78558 2008-12-21  Bruno Haible  <bruno@clisp.org>
78560         * MODULES.html.sh (Extended multibyte and wide character utilities
78561         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
78562         wcrtomb, wcsrtombs.
78563         (Support for systems lacking POSIX:2008): Add accept, bind, close,
78564         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
78565         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
78566         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
78568 2008-12-21  Bruno Haible  <bruno@clisp.org>
78570         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
78572 2008-12-21  Bruno Haible  <bruno@clisp.org>
78574         * modules/wcsnrtombs-tests: New file.
78575         * tests/test-wcsnrtombs1.sh: New file.
78576         * tests/test-wcsnrtombs2.sh: New file.
78577         * tests/test-wcsnrtombs3.sh: New file.
78578         * tests/test-wcsnrtombs4.sh: New file.
78579         * tests/test-wcsnrtombs.c: New file.
78581         New module 'wcsnrtombs'.
78582         * lib/wchar.in.h (wcsnrtombs): New declaration.
78583         * lib/wcsnrtombs.c: New file.
78584         * lib/wcsrtombs-state.c: New file.
78585         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
78586         (internal_state): Remove variable.
78587         * m4/wcsnrtombs.m4: New file.
78588         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
78589         compilation units.
78590         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
78591         HAVE_WCSNRTOMBS.
78592         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
78593         HAVE_WCSNRTOMBS.
78594         * modules/wcsnrtombs: New file.
78595         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
78596         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
78598 2008-12-21  Bruno Haible  <bruno@clisp.org>
78600         * modules/wcsrtombs-tests: New file.
78601         * tests/test-wcsrtombs1.sh: New file.
78602         * tests/test-wcsrtombs2.sh: New file.
78603         * tests/test-wcsrtombs3.sh: New file.
78604         * tests/test-wcsrtombs4.sh: New file.
78605         * tests/test-wcsrtombs.c: New file.
78607         New module 'wcsrtombs'.
78608         * lib/wchar.in.h (wcsrtombs): New declaration.
78609         * lib/wcsrtombs.c: New file.
78610         * m4/wcsrtombs.m4: New file.
78611         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
78612         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
78613         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
78614         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
78615         * modules/wcsrtombs: New file.
78616         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
78617         bugs.
78619 2008-12-21  Bruno Haible  <bruno@clisp.org>
78621         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
78622         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
78623         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
78624         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
78625         if not correct.
78626         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
78627         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
78628         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
78629         m4/locale-zh.m4, m4/codeset.m4.
78630         * doc/posix-functions/wcrtomb.texi: Document the bug.
78632 2008-12-21  Bruno Haible  <bruno@clisp.org>
78634         Work around a btowc() bug on IRIX 6.5.
78635         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
78636         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
78637         REPLACE_WTOBC if not.
78638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
78639         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
78640         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
78642 2008-12-21  Bruno Haible  <bruno@clisp.org>
78644         * modules/wcrtomb-tests: New file.
78645         * tests/test-wcrtomb.sh: New file.
78646         * tests/test-wcrtomb.c: New file.
78648         New module 'wcrtomb'.
78649         * lib/wchar.in.h (wcrtomb): New declaration.
78650         * lib/wcrtomb.c: New file.
78651         * m4/wcrtomb.m4: New file.
78652         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
78653         HAVE_WCRTOMB.
78654         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
78655         HAVE_WCRTOMB.
78656         * modules/wcrtomb: New file.
78657         * doc/posix-functions/wcrtomb.texi: Mention the new module.
78659 2008-12-21  Bruno Haible  <bruno@clisp.org>
78661         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
78662         * modules/mbsrtowcs (Files): Likewise.
78663         * modules/wctob (Files): Likewise.
78664         * modules/c-strcase-tests (Files): Likewise.
78665         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
78666         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
78667         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
78668         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
78669         * modules/vasnprintf-posix-tests (Files): Likewise.
78671 2008-12-21  William Pursell  <bill.pursell@gmail.com>
78673         gitlog-to-changelog: pass all command-line arguments to git-log
78674         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
78675         it is sometimes convenient to filter the commits in various ways.
78676         gitlog-to-changelog only allows --since to specify a start date,
78677         but git-log itself supports many other filtering mechanisms.
78678         At the moment, I want to filter by branch name.  Rather than
78679         adding a --branch option to gitlog-to-changelog, it seems more
78680         flexible to simply pass all options directly to git-log and let
78681         git do the work.  Notice that this effectively makes --since a
78682         redundant option for gitlog-to-changelog, but removing it would
78683         require current usage to change since calls would then require
78684         an additional '--'.
78686 2008-12-21  Bruno Haible  <bruno@clisp.org>
78688         * modules/mbsnrtowcs-tests: New file.
78689         * tests/test-mbsnrtowcs1.sh: New file.
78690         * tests/test-mbsnrtowcs2.sh: New file.
78691         * tests/test-mbsnrtowcs3.sh: New file.
78692         * tests/test-mbsnrtowcs4.sh: New file.
78693         * tests/test-mbsnrtowcs.c: New file.
78695         New module 'mbsnrtowcs'.
78696         * lib/wchar.in.h (mbsnrtowcs): New declaration.
78697         * lib/mbsnrtowcs.c: New file.
78698         * lib/mbsrtowcs-state.c: New file.
78699         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
78700         (internal_state): Remove variable.
78701         * m4/mbsnrtowcs.m4: New file.
78702         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
78703         compilation units.
78704         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
78705         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
78706         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
78707         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
78708         * modules/mbsnrtowcs: New file.
78709         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
78710         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
78711         portability problem.
78713 2008-12-21  Bruno Haible  <bruno@clisp.org>
78715         Work around mbsrtowcs bug.
78716         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
78717         (gl_FUNC_MBSRTOWCS): Invoke it.
78718         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
78719         m4/locale-zh.m4.
78720         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
78722 2008-12-21  Bruno Haible  <bruno@clisp.org>
78724         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
78726 2008-12-21  Bruno Haible  <bruno@clisp.org>
78728         Update doc for AIX.
78729         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
78730         16-bit wchar_t type.
78731         * doc/posix-functions/btowc.texi: Likewise.
78732         * doc/posix-functions/fgetwc.texi: Likewise.
78733         * doc/posix-functions/fgetws.texi: Likewise.
78734         * doc/posix-functions/fputwc.texi: Likewise.
78735         * doc/posix-functions/fputws.texi: Likewise.
78736         * doc/posix-functions/fwide.texi: Likewise.
78737         * doc/posix-functions/fwprintf.texi: Likewise.
78738         * doc/posix-functions/fwscanf.texi: Likewise.
78739         * doc/posix-functions/getwchar.texi: Likewise.
78740         * doc/posix-functions/getwc.texi: Likewise.
78741         * doc/posix-functions/iswalnum.texi: Likewise.
78742         * doc/posix-functions/iswalpha.texi: Likewise.
78743         * doc/posix-functions/iswblank.texi: Likewise.
78744         * doc/posix-functions/iswcntrl.texi: Likewise.
78745         * doc/posix-functions/iswctype.texi: Likewise.
78746         * doc/posix-functions/iswdigit.texi: Likewise.
78747         * doc/posix-functions/iswgraph.texi: Likewise.
78748         * doc/posix-functions/iswlower.texi: Likewise.
78749         * doc/posix-functions/iswprint.texi: Likewise.
78750         * doc/posix-functions/iswpunct.texi: Likewise.
78751         * doc/posix-functions/iswspace.texi: Likewise.
78752         * doc/posix-functions/iswupper.texi: Likewise.
78753         * doc/posix-functions/iswxdigit.texi: Likewise.
78754         * doc/posix-functions/mbrtowc.texi: Likewise.
78755         * doc/posix-functions/mbsrtowcs.texi: Likewise.
78756         * doc/posix-functions/mbstowcs.texi: Likewise.
78757         * doc/posix-functions/mbtowc.texi: Likewise.
78758         * doc/posix-functions/putwchar.texi: Likewise.
78759         * doc/posix-functions/putwc.texi: Likewise.
78760         * doc/posix-functions/swprintf.texi: Likewise.
78761         * doc/posix-functions/tolower.texi: Likewise.
78762         * doc/posix-functions/toupper.texi: Likewise.
78763         * doc/posix-functions/towctrans.texi: Likewise.
78764         * doc/posix-functions/ungetwc.texi: Likewise.
78765         * doc/posix-functions/vswprintf.texi: Likewise.
78766         * doc/posix-functions/wcrtomb.texi: Likewise.
78767         * doc/posix-functions/wcscat.texi: Likewise.
78768         * doc/posix-functions/wcschr.texi: Likewise.
78769         * doc/posix-functions/wcscmp.texi: Likewise.
78770         * doc/posix-functions/wcscoll.texi: Likewise.
78771         * doc/posix-functions/wcscpy.texi: Likewise.
78772         * doc/posix-functions/wcscspn.texi: Likewise.
78773         * doc/posix-functions/wcsftime.texi: Likewise.
78774         * doc/posix-functions/wcslen.texi: Likewise.
78775         * doc/posix-functions/wcsncat.texi: Likewise.
78776         * doc/posix-functions/wcsncmp.texi: Likewise.
78777         * doc/posix-functions/wcsncpy.texi: Likewise.
78778         * doc/posix-functions/wcspbrk.texi: Likewise.
78779         * doc/posix-functions/wcsrchr.texi: Likewise.
78780         * doc/posix-functions/wcsrtombs.texi: Likewise.
78781         * doc/posix-functions/wcsspn.texi: Likewise.
78782         * doc/posix-functions/wcsstr.texi: Likewise.
78783         * doc/posix-functions/wcstod.texi: Likewise.
78784         * doc/posix-functions/wcstof.texi: Likewise.
78785         * doc/posix-functions/wcstoimax.texi: Likewise.
78786         * doc/posix-functions/wcstok.texi: Likewise.
78787         * doc/posix-functions/wcstold.texi: Likewise.
78788         * doc/posix-functions/wcstoll.texi: Likewise.
78789         * doc/posix-functions/wcstol.texi: Likewise.
78790         * doc/posix-functions/wcstombs.texi: Likewise.
78791         * doc/posix-functions/wcstoull.texi: Likewise.
78792         * doc/posix-functions/wcstoul.texi: Likewise.
78793         * doc/posix-functions/wcstoumax.texi: Likewise.
78794         * doc/posix-functions/wcswidth.texi: Likewise.
78795         * doc/posix-functions/wcsxfrm.texi: Likewise.
78796         * doc/posix-functions/wctob.texi: Likewise.
78797         * doc/posix-functions/wctomb.texi: Likewise.
78798         * doc/posix-functions/wctrans.texi: Likewise.
78799         * doc/posix-functions/wctype.texi: Likewise.
78800         * doc/posix-functions/wcwidth.texi: Likewise.
78801         * doc/posix-functions/wmemchr.texi: Likewise.
78802         * doc/posix-functions/wmemcmp.texi: Likewise.
78803         * doc/posix-functions/wmemcpy.texi: Likewise.
78804         * doc/posix-functions/wmemmove.texi: Likewise.
78805         * doc/posix-functions/wmemset.texi: Likewise.
78806         * doc/posix-functions/wprintf.texi: Likewise.
78807         * doc/posix-functions/wscanf.texi: Likewise.
78809 2008-12-21  Bruno Haible  <bruno@clisp.org>
78811         Update doc for HP-UX 11.11.
78812         * doc/posix-functions/btowc.texi: Clarify that the function is missing
78813         in HP-UX version 11.00, not in all versions of HP-UX 11.
78814         * doc/posix-functions/fwide.texi: Likewise.
78815         * doc/posix-functions/fwprintf.texi: Likewise.
78816         * doc/posix-functions/fwscanf.texi: Likewise.
78817         * doc/posix-functions/inet_ntop.texi: Likewise.
78818         * doc/posix-functions/inet_pton.texi: Likewise.
78819         * doc/posix-functions/mbrlen.texi: Likewise.
78820         * doc/posix-functions/mbrtowc.texi: Likewise.
78821         * doc/posix-functions/mbsinit.texi: Likewise.
78822         * doc/posix-functions/mbsrtowcs.texi: Likewise.
78823         * doc/posix-functions/swprintf.texi: Likewise.
78824         * doc/posix-functions/swscanf.texi: Likewise.
78825         * doc/posix-functions/towctrans.texi: Likewise.
78826         * doc/posix-functions/vfwprintf.texi: Likewise.
78827         * doc/posix-functions/vswprintf.texi: Likewise.
78828         * doc/posix-functions/vwprintf.texi: Likewise.
78829         * doc/posix-functions/wcrtomb.texi: Likewise.
78830         * doc/posix-functions/wcsrtombs.texi: Likewise.
78831         * doc/posix-functions/wcsstr.texi: Likewise.
78832         * doc/posix-functions/wctob.texi: Likewise.
78833         * doc/posix-functions/wctrans.texi: Likewise.
78834         * doc/posix-functions/wmemchr.texi: Likewise.
78835         * doc/posix-functions/wmemcmp.texi: Likewise.
78836         * doc/posix-functions/wmemcpy.texi: Likewise.
78837         * doc/posix-functions/wmemmove.texi: Likewise.
78838         * doc/posix-functions/wmemset.texi: Likewise.
78839         * doc/posix-functions/wprintf.texi: Likewise.
78840         * doc/posix-functions/wscanf.texi: Likewise.
78842 2008-12-21  Bruno Haible  <bruno@clisp.org>
78844         Work around a portability problem.
78845         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
78846         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
78848 2008-12-20  Bruno Haible  <bruno@clisp.org>
78850         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
78851         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
78852         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
78853         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
78854         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
78856         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
78857         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
78858         set.
78859         (GNULIB_defined_mbstate_t): New macro.
78860         (mbsinit): Redefine if REPLACE_MBSINIT is set.
78861         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
78862         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
78863         reuses the system's mbrtowc function but works around the bugs.
78864         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
78865         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
78866         macros.
78867         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
78868         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
78869         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
78870         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
78871         REPLACE_MBSINIT if mbsinit needs to be overridden.
78872         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
78873         REPLACE_MBSINIT, REPLACE_MBRTOWC.
78874         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
78875         REPLACE_MBSINIT, REPLACE_MBRTOWC.
78876         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
78877         m4/locale-zh.m4.
78878         (Depends): Add mbsinit.
78879         * modules/mbsinit (Depends): Add mbrtowc.
78880         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
78882 2008-12-20  Bruno Haible  <bruno@clisp.org>
78884         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
78885         so that there are no conversion errors on AIX.
78886         * tests/test-mbsrtowcs.c (main): LIkewise.
78888 2008-12-20  Bruno Haible  <bruno@clisp.org>
78890         Work around wctob bug on Solaris <= 9.
78891         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
78892         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
78893         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
78894         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
78895         * modules/wctob (Files): Add m4/locale-fr.m4.
78896         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
78898 2008-12-20  Bruno Haible  <bruno@clisp.org>
78900         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
78901         /dev/null.
78902         * tests/test-select-in.sh: Likewise.
78903         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
78905 2008-12-20  Bruno Haible  <bruno@clisp.org>
78907         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
78908         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
78909         Cygwin 1.5.x.
78911 2008-12-20  Bruno Haible  <bruno@clisp.org>
78913         Ensure mbstate_t is defined on HP-UX 11.11.
78914         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
78915         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
78916         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
78917         AC_USE_SYSTEM_EXTENSIONS.
78918         * modules/fnmatch (Depends-on): Add extensions.
78919         * modules/mbrlen (Depends-on): Likewise.
78920         * modules/mbrtowc (Depends-on): Likewise.
78921         * modules/mbsinit (Depends-on): Likewise.
78922         * modules/mbsrtowcs (Depends-on): Likewise.
78923         * modules/mbswidth (Depends-on): Likewise.
78924         * modules/quotearg (Depends-on): Likewise.
78925         * modules/strftime (Depends-on): Likewise.
78927 2008-12-20  Bruno Haible  <bruno@clisp.org>
78929         Ensure wctob is declared on IRIX 6.5.
78930         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
78931         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
78932         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
78933         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
78934         of HAVE_WCTOB.
78935         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
78936         HAVE_WCTOB.
78937         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
78939 2008-12-19  Bruno Haible  <bruno@clisp.org>
78941         * modules/mbsrtowcs-tests: New file.
78942         * tests/test-mbsrtowcs1.sh: New file.
78943         * tests/test-mbsrtowcs2.sh: New file.
78944         * tests/test-mbsrtowcs3.sh: New file.
78945         * tests/test-mbsrtowcs4.sh: New file.
78946         * tests/test-mbsrtowcs.c: New file.
78948         New module 'mbsrtowcs'.
78949         * lib/wchar.in.h (mbsrtowcs): New declaration.
78950         * lib/mbsrtowcs.c: New file.
78951         * m4/mbsrtowcs.m4: New file.
78952         * modules/mbsrtowcs: New file.
78953         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
78954         HAVE_MBSRTOWCS.
78955         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
78956         HAVE_MBSRTOWCS.
78957         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
78959 2008-12-19  Bruno Haible  <bruno@clisp.org>
78961         New module 'mbrlen'.
78962         * lib/wchar.in.h (mbrlen): New declaration.
78963         * lib/mbrlen.c: New file.
78964         * m4/mbrlen.m4: New file.
78965         * modules/mbrlen: New file.
78966         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
78967         HAVE_MBRLEN.
78968         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
78969         HAVE_MBRLEN.
78970         * doc/posix-functions/mbrlen.texi: Document the new module.
78972 2008-12-19  Bruno Haible  <bruno@clisp.org>
78974         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
78975         * modules/mbrtowc (Depends-on): Add verify.
78976         Suggested by Paul Eggert.
78978 2008-12-18  Bruno Haible  <bruno@clisp.org>
78980         * modules/mbsinit-tests: New file.
78981         * tests/test-mbsinit.sh: New file.
78982         * tests/test-mbsinit.c: New file.
78984 2008-12-18  Bruno Haible  <bruno@clisp.org>
78986         * modules/mbrtowc-tests: New file.
78987         * tests/test-mbrtowc1.sh: New file.
78988         * tests/test-mbrtowc2.sh: New file.
78989         * tests/test-mbrtowc3.sh: New file.
78990         * tests/test-mbrtowc4.sh: New file.
78991         * tests/test-mbrtowc.c: New file.
78993         New module 'mbrtowc'.
78994         * lib/wchar.in.h (mbstate_t): Override when the system does not have
78995         mbsinit and mbrtowc.
78996         (mbrtowc): New declaration.
78997         * lib/mbrtowc.c: New file.
78998         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
78999         * modules/mbrtowc: New file.
79000         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
79001         HAVE_MBRTOWC.
79002         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
79003         HAVE_MBRTOWC.
79004         * doc/posix-functions/mbrtowc.texi: Document the new module.
79006 2008-12-18  Bruno Haible  <bruno@clisp.org>
79008         New module 'wctob'.
79009         * lib/wchar.in.h (wctob): New declaration.
79010         * lib/wctob.c: New file.
79011         * m4/wctob.m4: New file.
79012         * modules/wctob: New file.
79013         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
79014         HAVE_WCTOB.
79015         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
79016         * doc/posix-functions/wctob.texi: Document the new module.
79018 2008-12-18  Bruno Haible  <bruno@clisp.org>
79020         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
79021         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
79023 2008-12-18  Simon Josefsson  <simon@josefsson.org>
79025         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
79026         G. Christensen" <tgc@jupiterrise.com>.
79028         * lib/flock.c: Need to include errno.h.  Reported by "Tom
79029         G. Christensen" <tgc@jupiterrise.com>.
79031         * lib/flock.c: Need to include string.h.  Reported by "Tom
79032         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
79033         <ebb9@byu.net>.
79035 2008-12-18  Bruno Haible  <bruno@clisp.org>
79037         * m4/locale-ja.m4: New file, from GNU gettext.
79039 2008-12-17  Bruno Haible  <bruno@clisp.org>
79041         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
79042         Suggested by Eric Blake.
79044 2008-12-17  Bruno Haible  <bruno@clisp.org>
79046         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
79048 2008-12-17  Bruno Haible  <bruno@clisp.org>
79050         * lib/mbsinit.c: Include verify.h. Verify an assumption.
79051         * modules/mbsinit (Depends-on): Add verify.
79052         Suggested by Paul Eggert.
79054 2008-12-17  Bruno Haible  <bruno@clisp.org>
79056         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
79057         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
79058         gl_FUNC_MBRTOWC.
79059         * m4/mbiter.m4 (gl_MBITER): LIkewise.
79060         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
79061         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
79062         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
79063         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
79064         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
79065         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
79066         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
79067         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
79068         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
79069         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
79070         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
79071         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
79072         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
79073         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
79074         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
79075         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
79076         * modules/trim (configure.ac): Likewise.
79078 2008-12-17  Bruno Haible  <bruno@clisp.org>
79080         * modules/btowc-tests: New file.
79081         * tests/test-btowc1.sh: New file.
79082         * tests/test-btowc2.sh: New file.
79083         * tests/test-btowc.c: New file.
79085         New module 'btowc'.
79086         * lib/wchar.in.h (btowc): New declaration.
79087         * lib/btowc.c: New file.
79088         * m4/btowc.m4: New file.
79089         * modules/btowc: New file.
79090         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
79091         HAVE_BTOWC.
79092         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
79093         * doc/posix-functions/btowc.texi: Document the new module.
79095 2008-12-17  Bruno Haible  <bruno@clisp.org>
79097         New module 'mbsinit'.
79098         * lib/wchar.in.h (mbsinit): New declaration.
79099         * lib/mbsinit.c: New file.
79100         * m4/mbsinit.m4: New file.
79101         * modules/mbsinit: New file.
79102         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
79103         HAVE_MBSINIT.
79104         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
79105         HAVE_MBSINIT.
79106         * doc/posix-functions/mbsinit.texi: Document the new module.
79108 2008-12-16  Bruno Haible  <bruno@clisp.org>
79110         * lib/unistd.in.h: Add comment.
79111         * tests/test-environ.c: Don't include <stdlib.h>.
79113 2008-12-16  Bruno Haible  <bruno@clisp.org>
79115         * lib/parse-duration.h (parse_duration): Document return value
79116         convention.
79117         * lib/parse-duration.c: Include specification header first. Add
79118         comments.
79119         (_): Remove macro.
79120         (parse_year_month_day, parse_hour_minute_second): Move side effects
79121         outside of strchr call.
79122         (parse_non_iso8601): Move side effects outside of isspace call.
79123         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
79124         call.
79126 2008-12-16  Bruno Haible  <bruno@clisp.org>
79128         * tests/test-parse-duration.sh: Produce no output when the test
79129         succeeds.
79131 2008-12-16  Bruno Haible  <bruno@clisp.org>
79133         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
79134         expressions.
79136 2008-12-15  Bruno Haible  <bruno@clisp.org>
79138         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
79139         * doc/glibc-functions/flistxattr.texi: Likewise.
79140         * doc/glibc-functions/fopencookie.texi: Likewise.
79141         * doc/glibc-functions/fremovexattr.texi: Likewise.
79142         * doc/glibc-functions/fsetxattr.texi: Likewise.
79143         * doc/glibc-functions/getxattr.texi: Likewise.
79144         * doc/glibc-functions/lgetxattr.texi: Likewise.
79145         * doc/glibc-functions/listxattr.texi: Likewise.
79146         * doc/glibc-functions/llistxattr.texi: Likewise.
79147         * doc/glibc-functions/lremovexattr.texi: Likewise.
79148         * doc/glibc-functions/lsetxattr.texi: Likewise.
79149         * doc/glibc-functions/removexattr.texi: Likewise.
79150         * doc/glibc-functions/setxattr.texi: Likewise.
79151         * doc/posix-functions/open_memstream.texi: Likewise.
79153 2008-12-15  Eric Blake  <ebb9@byu.net>
79155         Update doc for cygwin 1.7.
79156         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
79157         functions.
79158         * doc/posix-functions/fchmodat.texi: Likewise.
79159         * doc/posix-functions/fchownat.texi: Likewise.
79160         * doc/posix-functions/fdopendir.texi: Likewise.
79161         * doc/posix-functions/fmemopen.texi: Likewise.
79162         * doc/posix-functions/freeaddrinfo.texi: Likewise.
79163         * doc/posix-functions/fstatat.texi: Likewise.
79164         * doc/posix-functions/futimens.texi: Likewise.
79165         * doc/posix-functions/gai_strerror.texi: Likewise.
79166         * doc/posix-functions/getaddrinfo.texi: Likewise.
79167         * doc/posix-functions/getnameinfo.texi: Likewise.
79168         * doc/posix-functions/if_freenameindex.texi: Likewise.
79169         * doc/posix-functions/if_indextoname.texi: Likewise.
79170         * doc/posix-functions/if_nameindex.texi: Likewise.
79171         * doc/posix-functions/if_nametoindex.texi: Likewise.
79172         * doc/posix-functions/insque.texi: Likewise.
79173         * doc/posix-functions/linkat.texi: Likewise.
79174         * doc/posix-functions/llrint.texi: Likewise.
79175         * doc/posix-functions/llrintf.texi: Likewise.
79176         * doc/posix-functions/llrintl.texi: Likewise.
79177         * doc/posix-functions/lockf.texi: Likewise.
79178         * doc/posix-functions/lrintl.texi: Likewise.
79179         * doc/posix-functions/mkdirat.texi: Likewise.
79180         * doc/posix-functions/mkfifoat.texi: Likewise.
79181         * doc/posix-functions/mknodat.texi: Likewise.
79182         * doc/posix-functions/mq_close.texi: Likewise.
79183         * doc/posix-functions/mq_getattr.texi: Likewise.
79184         * doc/posix-functions/mq_notify.texi: Likewise.
79185         * doc/posix-functions/mq_open.texi: Likewise.
79186         * doc/posix-functions/mq_receive.texi: Likewise.
79187         * doc/posix-functions/mq_send.texi: Likewise.
79188         * doc/posix-functions/mq_setattr.texi: Likewise.
79189         * doc/posix-functions/mq_timedreceive.texi: Likewise.
79190         * doc/posix-functions/mq_timedsend.texi: Likewise.
79191         * doc/posix-functions/mq_unlink.texi: Likewise.
79192         * doc/posix-functions/open_memstream.texi: Likewise.
79193         * doc/posix-functions/openat.texi: Likewise.
79194         * doc/posix-functions/posix_fadvise.texi: Likewise.
79195         * doc/posix-functions/posix_fallocate.texi: Likewise.
79196         * doc/posix-functions/posix_madvise.texi: Likewise.
79197         * doc/posix-functions/posix_memalign.texi: Likewise.
79198         * doc/posix-functions/posix_openpt.texi: Likewise.
79199         * doc/posix-functions/readlinkat.texi: Likewise.
79200         * doc/posix-functions/remque.texi: Likewise.
79201         * doc/posix-functions/renameat.texi: Likewise.
79202         * doc/posix-functions/rintl.texi: Likewise.
79203         * doc/posix-functions/sem_unlink.texi: Likewise.
79204         * doc/posix-functions/shm_open.texi: Likewise.
79205         * doc/posix-functions/shm_unlink.texi: Likewise.
79206         * doc/posix-functions/signgam.texi: Likewise.
79207         * doc/posix-functions/sigset.texi: Likewise.
79208         * doc/posix-functions/stpcpy.texi: Likewise.
79209         * doc/posix-functions/stpncpy.texi: Likewise.
79210         * doc/posix-functions/strerror.texi: Likewise.
79211         * doc/posix-functions/strtod.texi: Likewise.
79212         * doc/posix-functions/symlinkat.texi: Likewise.
79213         * doc/posix-functions/unlinkat.texi: Likewise.
79214         * doc/posix-functions/utimensat.texi: Likewise.
79215         * doc/glibc-functions/bindresvport.texi: Likewise.
79216         * doc/glibc-functions/dn_expand.texi: Likewise.
79217         * doc/glibc-functions/exp10.texi: Likewise.
79218         * doc/glibc-functions/exp10f.texi: Likewise.
79219         * doc/glibc-functions/fgetxattr.texi: Likewise.
79220         * doc/glibc-functions/flistxattr.texi: Likewise.
79221         * doc/glibc-functions/fopencookie.texi: Likewise.
79222         * doc/glibc-functions/freeifaddrs.texi: Likewise.
79223         * doc/glibc-functions/fremovexattr.texi: Likewise.
79224         * doc/glibc-functions/fsetxattr.texi: Likewise.
79225         * doc/glibc-functions/getifaddrs.texi: Likewise.
79226         * doc/glibc-functions/getxattr.texi: Likewise.
79227         * doc/glibc-functions/lgetxattr.texi: Likewise.
79228         * doc/glibc-functions/listxattr.texi: Likewise.
79229         * doc/glibc-functions/llistxattr.texi: Likewise.
79230         * doc/glibc-functions/lremovexattr.texi: Likewise.
79231         * doc/glibc-functions/lsetxattr.texi: Likewise.
79232         * doc/glibc-functions/pow10.texi: Likewise.
79233         * doc/glibc-functions/pow10f.texi: Likewise.
79234         * doc/glibc-functions/rcmd_af.texi: Likewise.
79235         * doc/glibc-functions/removexattr.texi: Likewise.
79236         * doc/glibc-functions/res_init.texi: Likewise.
79237         * doc/glibc-functions/res_mkquery.texi: Likewise.
79238         * doc/glibc-functions/res_query.texi: Likewise.
79239         * doc/glibc-functions/res_querydomain.texi: Likewise.
79240         * doc/glibc-functions/res_send.texi: Likewise.
79241         * doc/glibc-functions/rresvport_af.texi: Likewise.
79242         * doc/glibc-functions/setxattr.texi: Likewise.
79243         * doc/glibc-functions/strcasestr.texi: Likewise.
79245 2008-12-15  Bruno Haible  <bruno@clisp.org>
79247         Fix compilation error on OSF/1 4.0.
79248         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
79249         <sys/time.h>, simply delegate to the system header.
79250         Reported by Daniel Richard G. <oss@teragram.com>.
79252 2008-12-15  Bruno Haible  <bruno@clisp.org>
79254         * doc/posix-functions/openat.texi: Mention the 'openat' module.
79255         * doc/posix-functions/fchmodat.texi: Likewise.
79256         * doc/posix-functions/fchownat.texi: Likewise.
79257         * doc/posix-functions/fdopendir.texi: Likewise.
79258         * doc/posix-functions/fstatat.texi: Likewise.
79259         * doc/posix-functions/mkdirat.texi: Likewise.
79260         * doc/posix-functions/unlinkat.texi: Likewise.
79262 2008-12-14  Bruno Haible  <bruno@clisp.org>
79264         Update doc for POSIX:2008.
79265         * doc/posix-functions/faccessat.texi: New file.
79266         * doc/posix-functions/fchmodat.texi: New file.
79267         * doc/posix-functions/fchownat.texi: New file.
79268         * doc/posix-functions/fdopendir.texi: New file.
79269         * doc/posix-functions/fstatat.texi: New file.
79270         * doc/posix-functions/futimens.texi: New file.
79271         * doc/posix-functions/linkat.texi: New file.
79272         * doc/posix-functions/mkdirat.texi: New file.
79273         * doc/posix-functions/mkfifoat.texi: New file.
79274         * doc/posix-functions/mknodat.texi: New file.
79275         * doc/posix-functions/open_wmemstream.texi: New file.
79276         * doc/posix-functions/openat.texi: New file.
79277         * doc/posix-functions/psiginfo.texi: New file.
79278         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
79279         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
79280         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
79281         * doc/posix-functions/readlinkat.texi: New file.
79282         * doc/posix-functions/renameat.texi: New file.
79283         * doc/posix-functions/strerror_l.texi: New file.
79284         * doc/posix-functions/symlinkat.texi: New file.
79285         * doc/posix-functions/unlinkat.texi: New file.
79286         * doc/posix-functions/utimensat.texi: New file.
79287         * doc/gnulib.texi (Function Substitutes): Add these subsections.
79289 2008-12-14  Bruno Haible  <bruno@clisp.org>
79291         Update doc for POSIX:2008.
79292         * doc/posix-functions/alphasort.texi: Renamed from
79293         doc/glibc-functions/alphasort.texi.
79294         * doc/posix-functions/dirfd.texi: Renamed from
79295         doc/glibc-functions/dirfd.texi.
79296         * doc/posix-functions/dprintf.texi: Renamed from
79297         doc/glibc-functions/dprintf.texi.
79298         * doc/posix-functions/duplocale.texi: Renamed from
79299         doc/glibc-functions/duplocale.texi.
79300         * doc/posix-functions/fexecve.texi: Renamed from
79301         doc/glibc-functions/fexecve.texi.
79302         * doc/posix-functions/fmemopen.texi: Renamed from
79303         doc/glibc-functions/fmemopen.texi.
79304         * doc/posix-functions/freelocale.texi: Renamed from
79305         doc/glibc-functions/freelocale.texi.
79306         * doc/posix-functions/getdate_err.texi: Renamed from
79307         doc/glibc-functions/getdate_err.texi.
79308         * doc/posix-functions/isalnum_l.texi: Renamed from
79309         doc/glibc-functions/isalnum_l.texi.
79310         * doc/posix-functions/isalpha_l.texi: Renamed from
79311         doc/glibc-functions/isalpha_l.texi.
79312         * doc/posix-functions/isblank_l.texi: Renamed from
79313         doc/glibc-functions/isblank_l.texi.
79314         * doc/posix-functions/iscntrl_l.texi: Renamed from
79315         doc/glibc-functions/iscntrl_l.texi.
79316         * doc/posix-functions/isdigit_l.texi: Renamed from
79317         doc/glibc-functions/isdigit_l.texi.
79318         * doc/posix-functions/isgraph_l.texi: Renamed from
79319         doc/glibc-functions/isgraph_l.texi.
79320         * doc/posix-functions/islower_l.texi: Renamed from
79321         doc/glibc-functions/islower_l.texi.
79322         * doc/posix-functions/isprint_l.texi: Renamed from
79323         doc/glibc-functions/isprint_l.texi.
79324         * doc/posix-functions/ispunct_l.texi: Renamed from
79325         doc/glibc-functions/ispunct_l.texi.
79326         * doc/posix-functions/isspace_l.texi: Renamed from
79327         doc/glibc-functions/isspace_l.texi.
79328         * doc/posix-functions/isupper_l.texi: Renamed from
79329         doc/glibc-functions/isupper_l.texi.
79330         * doc/posix-functions/iswalnum_l.texi: Renamed from
79331         doc/glibc-functions/iswalnum_l.texi.
79332         * doc/posix-functions/iswalpha_l.texi: Renamed from
79333         doc/glibc-functions/iswalpha_l.texi.
79334         * doc/posix-functions/iswblank_l.texi: Renamed from
79335         doc/glibc-functions/iswblank_l.texi.
79336         * doc/posix-functions/iswcntrl_l.texi: Renamed from
79337         doc/glibc-functions/iswcntrl_l.texi.
79338         * doc/posix-functions/iswctype_l.texi: Renamed from
79339         doc/glibc-functions/iswctype_l.texi.
79340         * doc/posix-functions/iswdigit_l.texi: Renamed from
79341         doc/glibc-functions/iswdigit_l.texi.
79342         * doc/posix-functions/iswgraph_l.texi: Renamed from
79343         doc/glibc-functions/iswgraph_l.texi.
79344         * doc/posix-functions/iswlower_l.texi: Renamed from
79345         doc/glibc-functions/iswlower_l.texi.
79346         * doc/posix-functions/iswprint_l.texi: Renamed from
79347         doc/glibc-functions/iswprint_l.texi.
79348         * doc/posix-functions/iswpunct_l.texi: Renamed from
79349         doc/glibc-functions/iswpunct_l.texi.
79350         * doc/posix-functions/iswspace_l.texi: Renamed from
79351         doc/glibc-functions/iswspace_l.texi.
79352         * doc/posix-functions/iswupper_l.texi: Renamed from
79353         doc/glibc-functions/iswupper_l.texi.
79354         * doc/posix-functions/iswxdigit_l.texi: Renamed from
79355         doc/glibc-functions/iswxdigit_l.texi.
79356         * doc/posix-functions/isxdigit_l.texi: Renamed from
79357         doc/glibc-functions/isxdigit_l.texi.
79358         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
79359         doc/glibc-functions/mbsnrtowcs.texi.
79360         * doc/posix-functions/mkdtemp.texi: Renamed from
79361         doc/glibc-functions/mkdtemp.texi.
79362         * doc/posix-functions/newlocale.texi: Renamed from
79363         doc/glibc-functions/newlocale.texi.
79364         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
79365         doc/glibc-functions/nl_langinfo_l.texi.
79366         * doc/posix-functions/open_memstream.texi: Renamed from
79367         doc/glibc-functions/open_memstream.texi.
79368         * doc/posix-functions/opterr.texi: Renamed from
79369         doc/glibc-functions/opterr.texi.
79370         * doc/posix-functions/optind.texi: Renamed from
79371         doc/glibc-functions/optind.texi.
79372         * doc/posix-functions/optopt.texi: Renamed from
79373         doc/glibc-functions/optopt.texi.
79374         * doc/posix-functions/psignal.texi: Renamed from
79375         doc/glibc-functions/psignal.texi.
79376         * doc/posix-functions/scandir.texi: Renamed from
79377         doc/glibc-functions/scandir.texi.
79378         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
79379         doc/glibc-functions/sched_get_priority_min.texi.
79380         * doc/posix-functions/signgam.texi: Renamed from
79381         doc/glibc-functions/signgam.texi.
79382         * doc/posix-functions/stpcpy.texi: Renamed from
79383         doc/glibc-functions/stpcpy.texi.
79384         * doc/posix-functions/stpncpy.texi: Renamed from
79385         doc/glibc-functions/stpncpy.texi.
79386         * doc/posix-functions/strcasecmp_l.texi: Renamed from
79387         doc/glibc-functions/strcasecmp_l.texi.
79388         * doc/posix-functions/strcoll_l.texi: Renamed from
79389         doc/glibc-functions/strcoll_l.texi.
79390         * doc/posix-functions/strfmon_l.texi: Renamed from
79391         doc/glibc-functions/strfmon_l.texi.
79392         * doc/posix-functions/strftime_l.texi: Renamed from
79393         doc/glibc-functions/strftime_l.texi.
79394         * doc/posix-functions/strncasecmp_l.texi: Renamed from
79395         doc/glibc-functions/strncasecmp_l.texi.
79396         * doc/posix-functions/strndup.texi: Renamed from
79397         doc/glibc-functions/strndup.texi.
79398         * doc/posix-functions/strnlen.texi: Renamed from
79399         doc/glibc-functions/strnlen.texi.
79400         * doc/posix-functions/strsignal.texi: Renamed from
79401         doc/glibc-functions/strsignal.texi.
79402         * doc/posix-functions/strxfrm_l.texi: Renamed from
79403         doc/glibc-functions/strxfrm_l.texi.
79404         * doc/posix-functions/timer_gettime.texi: Renamed from
79405         doc/glibc-functions/timer_gettime.texi.
79406         * doc/posix-functions/tolower_l.texi: Renamed from
79407         doc/glibc-functions/tolower_l.texi.
79408         * doc/posix-functions/toupper_l.texi: Renamed from
79409         doc/glibc-functions/toupper_l.texi.
79410         * doc/posix-functions/towctrans_l.texi: Renamed from
79411         doc/glibc-functions/towctrans_l.texi.
79412         * doc/posix-functions/towlower_l.texi: Renamed from
79413         doc/glibc-functions/towlower_l.texi.
79414         * doc/posix-functions/towupper_l.texi: Renamed from
79415         doc/glibc-functions/towupper_l.texi.
79416         * doc/posix-functions/uselocale.texi: Renamed from
79417         doc/glibc-functions/uselocale.texi.
79418         * doc/posix-functions/vdprintf.texi: Renamed from
79419         doc/glibc-functions/vdprintf.texi.
79420         * doc/posix-functions/wcpcpy.texi:
79421         Renamed from doc/glibc-functions/wcpcpy.texi.
79422         * doc/posix-functions/wcpncpy.texi: Renamed from
79423         doc/glibc-functions/wcpncpy.texi.
79424         * doc/posix-functions/wcscasecmp.texi: Renamed from
79425         doc/glibc-functions/wcscasecmp.texi.
79426         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
79427         doc/glibc-functions/wcscasecmp_l.texi.
79428         * doc/posix-functions/wcscoll_l.texi: Renamed from
79429         doc/glibc-functions/wcscoll_l.texi.
79430         * doc/posix-functions/wcsdup.texi: Renamed from
79431         doc/glibc-functions/wcsdup.texi.
79432         * doc/posix-functions/wcsncasecmp.texi: Renamed from
79433         doc/glibc-functions/wcsncasecmp.texi.
79434         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
79435         doc/glibc-functions/wcsncasecmp_l.texi.
79436         * doc/posix-functions/wcsnlen.texi: Renamed from
79437         doc/glibc-functions/wcsnlen.texi.
79438         * doc/posix-functions/wcsnrtombs.texi: Renamed from
79439         doc/glibc-functions/wcsnrtombs.texi.
79440         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
79441         doc/glibc-functions/wcsxfrm_l.texi.
79442         * doc/posix-functions/wctrans_l.texi: Renamed from
79443         doc/glibc-functions/wctrans_l.texi.
79444         * doc/posix-functions/wctype_l.texi: Renamed from
79445         doc/glibc-functions/wctype_l.texi.
79446         * doc/gnulib.texi (Function Substitutes): Add these subsections.
79447         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
79448         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
79449         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
79450         these subsections.
79451         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
79452         Remove sections.
79454 2008-12-14  Bruno Haible  <bruno@clisp.org>
79456         Update doc for POSIX:2008.
79457         * doc/posix-functions/*.texi: Update URL of POSIX specification.
79459 2008-12-14  Bruno Haible  <bruno@clisp.org>
79461         Update doc for POSIX:2008.
79462         * doc/pastposix-functions/bcmp.texi: Renamed from
79463         doc/posix-functions/bcmp.texi.
79464         * doc/pastposix-functions/bcopy.texi: Renamed from
79465         doc/posix-functions/bcopy.texi.
79466         * doc/pastposix-functions/bsd_signal.texi: Renamed from
79467         doc/posix-functions/bsd_signal.texi.
79468         * doc/pastposix-functions/bzero.texi: Renamed from
79469         doc/posix-functions/bzero.texi.
79470         * doc/pastposix-functions/ecvt.texi: Renamed from
79471         doc/posix-functions/ecvt.texi.
79472         * doc/pastposix-functions/fcvt.texi: Renamed from
79473         doc/posix-functions/fcvt.texi.
79474         * doc/pastposix-functions/ftime.texi: Renamed from
79475         doc/posix-functions/ftime.texi.
79476         * doc/pastposix-functions/gcvt.texi: Renamed from
79477         doc/posix-functions/gcvt.texi.
79478         * doc/pastposix-functions/getcontext.texi: Renamed from
79479         doc/posix-functions/getcontext.texi.
79480         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
79481         doc/posix-functions/gethostbyaddr.texi.
79482         * doc/pastposix-functions/gethostbyname.texi: Renamed from
79483         doc/posix-functions/gethostbyname.texi.
79484         * doc/pastposix-functions/getwd.texi: Renamed from
79485         doc/posix-functions/getwd.texi.
79486         * doc/pastposix-functions/h_errno.texi: Renamed from
79487         doc/posix-functions/h_errno.texi.
79488         * doc/pastposix-functions/index.texi: Renamed from
79489         doc/posix-functions/index.texi.
79490         * doc/pastposix-functions/makecontext.texi: Renamed from
79491         doc/posix-functions/makecontext.texi.
79492         * doc/pastposix-functions/mktemp.texi: Renamed from
79493         doc/posix-functions/mktemp.texi.
79494         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
79495         doc/posix-functions/pthread_attr_getstackaddr.texi.
79496         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
79497         doc/posix-functions/pthread_attr_setstackaddr.texi.
79498         * doc/pastposix-functions/rindex.texi: Renamed from
79499         doc/posix-functions/rindex.texi.
79500         * doc/pastposix-functions/scalb.texi: Renamed from
79501         doc/posix-functions/scalb.texi.
79502         * doc/pastposix-functions/setcontext.texi: Renamed from
79503         doc/posix-functions/setcontext.texi.
79504         * doc/pastposix-functions/swapcontext.texi: Renamed from
79505         doc/posix-functions/swapcontext.texi.
79506         * doc/pastposix-functions/ualarm.texi: Renamed from
79507         doc/posix-functions/ualarm.texi.
79508         * doc/pastposix-functions/usleep.texi: Renamed from
79509         doc/posix-functions/usleep.texi.
79510         * doc/pastposix-functions/vfork.texi: Renamed from
79511         doc/posix-functions/vfork.texi.
79512         * doc/pastposix-functions/wcswcs.texi: Renamed from
79513         doc/posix-functions/wcswcs.texi.
79514         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
79515         (Function Substitutes): Update.
79517 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79519         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
79520         m4/strerror.m4.
79522 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79523             Bruno Haible  <bruno@clisp.org>
79525         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
79527 2008-12-13  Bruno Haible  <bruno@clisp.org>
79529         * modules/strtoull (Depends-on): Remove unistd.
79531 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79533         * modules/strtoull (Depends-on): Add stdlib.
79535 2008-12-11  Simon Josefsson  <simon@josefsson.org>
79537         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
79539 2008-12-10  Jim Meyering  <meyering@redhat.com>
79541         gl_ASSERT: don't say assertions are disabled when they're not
79542         * m4/assert.m4 (gl_ASSERT): Do not make configure report
79543         "checking whether to enable assertions... no", when they are in
79544         fact enabled.  This is solely a bug in the output of configure.
79545         In spite of saying "no", NDEBUG was not defined in that case.
79546         Also, as noted by Eric Blake, leave assertions enabled upon
79547         --enable-assert=INVALID.
79549 2008-12-10  Bruno Haible  <bruno@clisp.org>
79551         Change MODULES.html to refer to POSIX:2008 where possible.
79552         * MODULES.html.sh (POSIX2008_URL): New variable.
79553         (posix_headers): Remove sys/timeb, ucontext.
79554         (posix2001_headers): New variable.
79555         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
79556         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
79557         index, makecontext, mktemp, pthread_attr_getstackaddr,
79558         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
79559         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
79560         (posix2001_functions): New variable.
79561         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
79562         otherwise.
79564 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79566         add missing include to parse-duration.c
79567         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
79568         * modules/parse-duration (Depends-on): Add xalloc.
79570         fix sed script reading maint.mk
79571         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
79572         (syntax-check-rules): Use it.
79574 2008-12-09  Bruno Haible  <bruno@clisp.org>
79576         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
79577         MacOS X 10.4/PowerPC.
79578         Reported by Simon Josefsson.
79580 2008-12-08  Jim Meyering  <meyering@redhat.com>
79582         work around mingw's lack of some S_IF definitions
79583         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
79584         Reported by Simon Josefsson.
79586 2008-12-08  Bruno Haible  <bruno@clisp.org>
79588         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
79589         applied to variables. Needed on MacOS X 10.4/PowerPC.
79590         Reported by Simon Josefsson.
79592 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
79593         and Eric Blake  <ebb9@byu.net>
79595         assert: honor --enable-assert
79596         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
79597         order to honor --enable-assert, rather than treating it as a
79598         synonym for --disable-assert.
79600 2008-12-08  Jim Meyering  <meyering@redhat.com>
79602         * lib/posixtm.c: Remove now-useless declaration of mktime.
79604         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
79606 2008-12-07  Bruno Haible  <bruno@clisp.org>
79608         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
79609         test_once): Mark functions as static.
79610         * tests/test-tls.c (test_tls): Likewise.
79612 2008-12-07  Bruno Haible  <bruno@clisp.org>
79614         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
79615         iconv_register_autodetect.
79617 2008-12-07  Jim Meyering  <meyering@redhat.com>
79619         posixtm.c: avoid a warning
79620         * lib/posixtm.c (posixtime): Don't initialize tm0.
79621         It's no longer needed to placate gcc4's -Wuninitialized,
79622         and the attempt to placate would elicit a new warning.
79624         unicodeio.c: mark unused parameters
79625         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
79626         (fallback_failure_callback): Likewise.
79628 2008-12-07  Bruno Haible  <bruno@clisp.org>
79630         * gnulib-tool (func_create_testdir): When building the tests
79631         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
79632         Reported by Simon Josefsson.
79634 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79636         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
79638 2008-12-06  Bruno Haible  <bruno@clisp.org>
79640         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
79641         Suggested by Eric Blake.
79643 2008-12-06  Bruno Haible  <bruno@clisp.org>
79645         Fix a c-stack test failure on MacOS X.
79646         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
79647         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
79648         handler for SIGBUS as well.
79649         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
79650         install a signal handler for SIGBUS as well.
79651         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
79653 2008-12-06  Bruno Haible  <bruno@clisp.org>
79655         Advocacy documentation.
79656         * doc/gnulib-intro.texi (Benefits): New section.
79657         * doc/gnulib.texi: Update.
79659 2008-12-06  Bruno Haible  <bruno@clisp.org>
79661         Document the 'manywarnings' module.
79662         * doc/manywarnings.texi: New file.
79663         * doc/gnulib.texi: Include it.
79665 2008-12-05  Eric Blake  <ebb9@byu.net>
79667         tests: silence some gcc warnings
79668         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
79669         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
79670         type mismatches.
79672 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79673             Bruno Haible  <bruno@clisp.org>
79675         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
79677 2008-11-29  Jim Meyering  <meyering@redhat.com>
79679         unicodeio.c: mark unused parameters
79680         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
79681         (fallback_failure_callback): Likewise.
79683         fts: fix a thinko
79684         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
79685         (set_stat_type): Return S_IF*-valued "type" directly.
79686         Prompted by James Youngman's spotting a related bug.
79687         Confirmed by further testing through find.
79689         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
79690         * lib/fts.c (D_TYPE): Define.
79691         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
79692         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
79693         (s_ifmt_shift_bits): New function.
79694         (set_stat_type): New function.
79695         (fts_build): When not calling fts_stat, call set_stat_type
79696         to propagate dirent.d_type info to fts_read caller.
79697         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
79698         fts_statp->st_mode type information may be valid.
79700 2008-11-28  Simon Josefsson  <simon@josefsson.org>
79702         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
79703         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
79704         <sds@gnu.org>.
79706 2008-11-20  Bruno Haible  <bruno@clisp.org>
79708         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
79709         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
79710         INCLUDE_NEXT.
79711         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
79712         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
79713         * modules/math (Makefile.am): Substitute
79714         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
79715         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
79717 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
79718             Bruno Haible  <bruno@clisp.org>
79720         * lib/stdint.in.h: Define all type macros so that their expansion is
79721         a single typedef'ed token. Fixes a compilation failure in Boost which
79722         does "using ::int8_t;".
79724 2008-11-18  Simon Josefsson  <simon@josefsson.org>
79726         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
79727         gl_MANYWARN_ALL_GCC.
79728         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
79729         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
79730         * modules/manywarnings: New file.
79731         * MODULES.html.sh: Mention manywarnings module.
79733 2008-11-18  Bruno Haible  <bruno@clisp.org>
79735         * doc/gnulib-tool.texi (Unit tests): New section.
79737 2008-11-18  Simon Josefsson  <simon@josefsson.org>
79739         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
79740         paths like 'lib/po/foo.po'.
79742 2008-11-17  Simon Josefsson  <simon@josefsson.org>
79744         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
79745         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
79747 2008-11-17  Simon Josefsson  <simon@josefsson.org>
79749         * m4/warnings.m4: Use CPPFLAGS to really check whether the
79750         parameter works.
79752 2008-11-17  Simon Josefsson  <simon@josefsson.org>
79754         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
79756 2008-11-17  Bruce Korb  <bkorb@gnu.org>
79758         * modules/parse-duration-tests: New file.
79759         * tests/test-parse-duration.sh: New file.
79760         * tests/test-parse-duration.c: New file.
79762         New module 'parse-duration'.
79763         * lib/parse-duration.h: New file.
79764         * lib/parse-duration.c: New file.
79765         * modules/parse-duration: New file.
79767 2008-11-17  Bruno Haible  <bruno@clisp.org>
79769         * tests/test-select-out.sh: Comment out the first pipe test.
79770         Reported by Simon Josefsson.
79772 2008-11-17  Bruno Haible  <bruno@clisp.org>
79774         * modules/getaddrinfo (Depends-on): Add servent, hostent.
79775         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
79776         gl_HOSTENT.
79778 2008-11-17  Bruno Haible  <bruno@clisp.org>
79780         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
79781         -lnetwork and -lnet. Needed for Haiku and BeOS.
79783 2008-11-16  Bruno Haible  <bruno@clisp.org>
79785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
79787 2008-11-16  Bruno Haible  <bruno@clisp.org>
79789         Avoid test failure on Haiku.
79790         * tests/test-fsync.c: Include <errno.h>.
79791         (main): Don't require that fsync (0) fails.
79793 2008-11-15  Bruno Haible  <bruno@clisp.org>
79795         New module 'hostent'.
79796         * modules/hostent: New file.
79797         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
79799 2008-11-15  Bruno Haible  <bruno@clisp.org>
79801         New module 'servent'.
79802         * modules/servent: New file.
79803         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
79805 2008-11-15  Bruno Haible  <bruno@clisp.org>
79807         Avoid generating same test program with two different rules.
79808         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
79809         test-frexp to test-frexp-nolibm.
79810         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
79811         test-frexpl to test-frexpl-nolibm.
79813 2008-11-15  Bruno Haible  <bruno@clisp.org>
79815         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
79816         $(FREXPL_LIBM).
79818 2008-11-15  Bruno Haible  <bruno@clisp.org>
79820         * lib/netdb.in.h: Activate the definitions also when the system's
79821         <netdb.h> has 'struct addrinfo'.
79822         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
79823         EAI_OVERFLOW or AI_NUMERICSERV.
79824         * doc/posix-headers/netdb.texi: Document the problem.
79826 2008-11-15  Bruno Haible  <bruno@clisp.org>
79828         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
79830         Make the 'sched' module work on platforms where <sched.h> exists but
79831         is incomplete (such as Haiku).
79832         * lib/sched.in.h; Include the system's <sched.h> if it exists.
79833         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
79834         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
79835         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
79836         HAVE_STRUCT_SCHED_PARAM.
79837         * modules/sched (Depends-on): Add include_next.
79838         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
79839         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
79840         * doc/posix-headers/sched.texi: Document the issue.
79842 2008-11-13  Jim Meyering  <meyering@redhat.com>
79844         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
79845         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
79846         test would fail due to the difference in the Report bugs to ...
79847         line.  The expected address is empty, "<>", while the actual
79848         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
79850 2008-11-12  Bruno Haible  <bruno@clisp.org>
79852         lstat: don't compile lstat.c on systems lacking lstat
79853         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
79854         which don't have lstat; this is handled by lib/sys_stat.in.h already.
79855         Reported by Daniel P. Berrange via Jim Meyering.
79857 2008-11-12  Jim Meyering  <meyering@redhat.com>
79859         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
79861 2008-11-12  Simon Josefsson  <simon@josefsson.org>
79863         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
79864         instead.
79866 2008-11-12  Bruno Haible  <bruno@clisp.org>
79868         * lib/unicodeio.c: Include unistr.h.
79869         (utf8_wctomb): Remove function.
79870         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
79872 2008-11-12  Simon Josefsson  <simon@josefsson.org>
79874         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
79875         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
79876         <bruno@clisp.org>.
79877         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
79879 2008-11-12  Simon Josefsson  <simon@josefsson.org>
79881         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
79882         * doc/gnulib.texi: Add section for warnings.
79884 2008-11-11  Bruno Haible  <bruno@clisp.org>
79886         * lib/sockets.h: Add a comment.
79888 2008-11-11  Karl Berry  <karl@gnu.org>
79890         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
79892 2008-11-11  Eric Blake  <ebb9@byu.net>
79894         fdl.texi: avoid git symlinks
79895         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
79897 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
79899         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
79901 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
79903         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
79904         (gl_WARN_ADD): Substitute $2 if literal.
79906 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
79908         * m4/warning.m4: Remove.
79910 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
79912         * m4/warnings.m4: Almost complete rewrite. :-)
79914 2008-11-10  Simon Josefsson  <simon@josefsson.org>
79916         * modules/warnings: New module.
79917         * m4/warnings.m4: New file.
79918         * MODULES.html.sh: Mention warnings module.
79919         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
79920         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79922 2008-11-10  Eric Blake  <ebb9@byu.net>
79924         fdl.texi: make a symlink to the latest version
79925         * doc/standards.texi: Revert today's earlier change.
79926         * doc/fdl-1.2.texi: Rename from old fdl.texi...
79927         * doc/fdl.texi: ...and replace this with a symlink to the newer
79928         fdl-1.3.texi.
79930 2008-11-10  Bruno Haible  <bruno@clisp.org>
79932         * tests/test-select-fd.c (main): Accept the result file name as fourth
79933         argument.
79934         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
79935         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
79937 2008-11-10  Bruno Haible  <bruno@clisp.org>
79939         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
79940         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
79941         as autoconf-substituted macros.
79942         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
79943         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
79944         gl_NETDB_H_DEFAULTS. Set these variables.
79945         * modules/netdb (Makefile.am): Substitute these variables.
79947 2008-11-10  Eric Blake  <ebb9@byu.net>
79949         standards.texi: include correct file for FDL 1.3
79950         * doc/standards.texi (GNU Free Documentation License): Change
79951         include file to pull in FDL 1.3, not 1.2.
79953         fdl.texi: revert accidental change to license
79954         * doc/fdl.texi: This is FDL 1.2, not 1.3.
79956 2008-11-10  Bruno Haible  <bruno@clisp.org>
79958         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
79959         cross-compiling guesses also when the native compile gives no result.
79961 2008-11-10  Bruno Haible  <bruno@clisp.org>
79963         * lib/spawni.c (__spawni): Force variable into the stack.
79965 2008-11-10  Bruno Haible  <bruno@clisp.org>
79967         Add support for Haiku.
79968         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
79969         glibc and BeOS, but also on Haiku.
79970         * lib/fpurge.c (fpurge): Likewise.
79971         * lib/freadable.c (freadable): Likewise.
79972         * lib/freadahead.c (freadahead): Likewise.
79973         * lib/freading.c (freading): Likewise.
79974         * lib/freadptr.c (freadptr): Likewise.
79975         * lib/freadseek.c (freadptrinc): Likewise.
79976         * lib/fseeko.c (rpl_fseeko): Likewise.
79977         * lib/fseterr.c (fseterr): Likewise.
79978         * lib/fwritable.c (fwritable): Likewise.
79979         * lib/fwriting.c (fwriting): Likewise.
79980         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
79982 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
79984         * lib/config.charset: Treat Haiku like BeOS.
79986 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
79988         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
79989         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
79991 2008-11-08  Bruno Haible  <bruno@clisp.org>
79993         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
79994         AC_CACHE_CHECK.
79996 2008-11-08  Bruno Haible  <bruno@clisp.org>
79998         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
80000 2008-11-08  Bruno Haible  <bruno@clisp.org>
80002         * tests/test-select-fd.c: New file.
80003         * tests/test-select-in.sh: New file.
80004         * tests/test-select-out.sh: New file.
80005         * tests/test-select-stdin.c: New file.
80006         * modules/select-tests (Files): Add the new files.
80007         (Depends-on): Add gettimeofday.
80008         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
80009         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
80010         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
80012 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
80013             Bruno Haible  <bruno@clisp.org>
80015         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
80017 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
80019         * build-aux/pmccabe2html: Added support for C++ source files.
80021 2008-11-05  Ben Pfaff  <blp@gnu.org>
80023         Fix lib/close.c build on Windows.
80024         * modules/close (Files): Add lib/w32sock.h.
80026 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
80028         Accept Bison's NEWS format.
80029         * build-aux/announce-gen (print_news_deltas): Tweak
80030         $re_prefix.
80032 2008-11-04  Bruno Haible  <bruno@clisp.org>
80034         * modules/random_r (Maintainer): Add glibc.
80036 2008-11-04  Simon Josefsson  <simon@josefsson.org>
80038         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
80039         by karl@freefriends.org (Karl Berry).
80040         * doc/alloca.texi: Likewise.
80041         * doc/c-ctype.texi: Likewise.
80042         * doc/c-strcase.texi: Likewise.
80043         * doc/c-strcaseeq.texi: Likewise.
80044         * doc/c-strcasestr.texi: Likewise.
80045         * doc/c-strstr.texi: Likewise.
80046         * doc/c-strtod.texi: Likewise.
80047         * doc/c-strtold.texi: Likewise.
80048         * doc/ctime.texi: Likewise.
80049         * doc/error.texi: Likewise.
80050         * doc/fdl.texi: Likewise.
80051         * doc/gcd.texi: Likewise.
80052         * doc/getdate.texi: Likewise.
80053         * doc/gnulib-intro.texi: Likewise.
80054         * doc/gnulib-tool.texi: Likewise.
80055         * doc/gnulib.texi: Likewise.
80056         * doc/inet_ntoa.texi: Likewise.
80057         * doc/maintain.texi: Likewise.
80058         * doc/make-stds.texi: Likewise.
80059         * doc/quote.texi: Likewise.
80060         * doc/regexprops-generic.texi: Likewise.
80061         * doc/standards.texi: Likewise.
80062         * doc/verify.texi: Likewise.
80063         * doc/visibility.texi: Likewise.
80064         * doc/gnulib.texi (GNU Free Documentation License): Include
80065         fdl-1.3.texi instead of fdl.texi.
80067 2008-11-04  Simon Josefsson  <simon@josefsson.org>
80069         * doc/fdl-1.3.texi: New file, from
80070         <http://www.gnu.org/licenses/fdl-1.3.texi>.
80071         * modules/fdl-1.3: Add.
80072         * MODULES.html.sh: Add fdl-1.3.
80074 2008-11-03  Bruno Haible  <bruno@clisp.org>
80076         Make determination of absolute name of header file work with AIX xlc.
80077         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
80078         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
80079         preprocessing.
80080         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
80081         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
80083 2008-11-03  Simon Josefsson  <simon@josefsson.org>
80085         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
80086         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
80087         <ludo@gnu.org>.
80089 2008-11-02  Bruno Haible  <bruno@clisp.org>
80091         Mark 'strpbrk' obsolete.
80092         * modules/strpbrk (Status, Notice): New sections.
80093         * modules/strtok_r (Depends-on): Add strpbrk.
80095 2008-11-02  Bruno Haible  <bruno@clisp.org>
80097         Mark 'strdup' obsolete.
80098         * modules/strdup (Status, Notice): New sections.
80099         * modules/findprog (Depends-on): Add strdup.
80100         * modules/getaddrinfo (Depends-on): Likewise.
80101         * modules/localename (Depends-on): Likewise.
80102         * modules/relocatable-lib (Depends-on): Likewise.
80103         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
80104         * modules/relocatable-prog (Depends-on): Likewise.
80105         * modules/trim (Depends-on): Likewise.
80106         * modules/unictype/gen-ctype (Depends-on): Likewise.
80107         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
80109 2008-11-02  Bruno Haible  <bruno@clisp.org>
80111         Mark 'strcspn' obsolete.
80112         * modules/strcspn (Status, Notice): New sections.
80114 2008-11-02  Bruno Haible  <bruno@clisp.org>
80116         Mark 'rmdir' obsolete.
80117         * modules/rmdir (Status, Notice): New sections.
80118         * modules/clean-temp (Depends-on): Add rmdir.
80119         * modules/openat (Depends-on): Likewise.
80121 2008-11-02  Bruno Haible  <bruno@clisp.org>
80123         Mark 'raise' obsolete.
80124         * modules/raise (Status, Notice): New sections.
80125         (Include): Specify <signal.h>.
80126         * modules/stdio (Depends-on): Add raise.
80127         * modules/write (Depends-on): Likewise.
80129 2008-11-02  Bruno Haible  <bruno@clisp.org>
80131         Mark 'memset' obsolete.
80132         * modules/memset (Status, Notice): New sections.
80134 2008-11-02  Bruno Haible  <bruno@clisp.org>
80136         Mark 'memmove' obsolete.
80137         * modules/memmove (Status, Notice): New sections.
80138         * modules/argp (Depends-on): Add memmove.
80139         * modules/argz (Depends-on): Likewise.
80140         * modules/canonicalize (Depends-on): Likewise.
80141         * modules/canonicalize-lgpl (Depends-on): Likewise.
80142         * modules/fts (Depends-on): Likewise.
80143         * modules/getcwd (Depends-on): Likewise.
80144         * modules/human (Depends-on): Likewise.
80145         * modules/regex (Depends-on): Likewise.
80146         * modules/striconveh (Depends-on): Likewise.
80147         * modules/trim (Depends-on): Likewise.
80148         * modules/unistr/u8-move (Depends-on): Likewise.
80149         * modules/unistr/u16-move (Depends-on): Likewise.
80150         * modules/unistr/u32-move (Depends-on): Likewise.
80152 2008-11-02  Bruno Haible  <bruno@clisp.org>
80154         Mark 'memcpy' obsolete.
80155         * modules/memcpy (Status, Notice): New sections.
80157 2008-11-02  Bruno Haible  <bruno@clisp.org>
80159         Mark 'memcmp' obsolete.
80160         * modules/memcmp (Status, Notice): New sections.
80161         * modules/argmatch (Depends-on): Add memchr.
80162         * modules/backupfile (Depends-on): Likewise.
80163         * modules/c-strcasestr (Depends-on): Likewise.
80164         * modules/crypto/des (Depends-on): Likewise.
80165         * modules/csharpcomp (Depends-on): Likewise.
80166         * modules/fnmatch (Depends-on): Likewise.
80167         * modules/git-merge-changelog (Depends-on): Likewise.
80168         * modules/isnand (Depends-on): Likewise.
80169         * modules/isnand-nolibm (Depends-on): Likewise.
80170         * modules/isnanf (Depends-on): Likewise.
80171         * modules/isnanf-nolibm (Depends-on): Likewise.
80172         * modules/isnanl (Depends-on): Likewise.
80173         * modules/isnanl-nolibm (Depends-on): Likewise.
80174         * modules/mbchar (Depends-on): Likewise.
80175         * modules/memcoll (Depends-on): Likewise.
80176         * modules/quotearg (Depends-on): Likewise.
80177         * modules/regex (Depends-on): Likewise.
80178         * modules/relocatable-prog (Depends-on): Likewise.
80179         * modules/same (Depends-on): Likewise.
80180         * modules/signbit (Depends-on): Likewise.
80181         * modules/strcasestr-simple (Depends-on): Likewise.
80182         * modules/unictype/gen-ctype (Depends-on): Likewise.
80183         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
80184         * modules/uniname/uniname (Depends-on): Likewise.
80185         * modules/unistr/u8-cmp (Depends-on): Likewise.
80187 2008-11-02  Bruno Haible  <bruno@clisp.org>
80189         Mark 'memchr' obsolete.
80190         * modules/memchr (Status, Notice): New sections.
80191         * modules/argp (Depends-on): Add memchr.
80192         * modules/base64 (Depends-on): Likewise.
80193         * modules/c-strcasestr (Depends-on): Likewise.
80194         * modules/chdir-long (Depends-on): Likewise.
80195         * modules/fnmatch (Depends-on): Likewise.
80196         * modules/getsubopt (Depends-on): Likewise.
80197         * modules/git-merge-changelog (Depends-on): Likewise.
80198         * modules/glob (Depends-on): Likewise.
80199         * modules/strcasestr-simple (Depends-on): Likewise.
80200         * modules/strnlen (Depends-on): Likewise.
80202 2008-11-02  Bruno Haible  <bruno@clisp.org>
80204         Mark 'atexit' obsolete.
80205         * modules/atexit (Status, Notice): New sections.
80206         * modules/chdir-long (Depends-on): Add atexit.
80207         * modules/wait-process (Depends-on): Likewise.
80209 2008-11-02  Bruno Haible  <bruno@clisp.org>
80211         * gnulib-tool: New option --with-obsolete.
80212         (func_usage): Document it.
80213         (func_modules_transitive_closure): Drop obsolete dependencies if
80214         incobsolete is not true.
80215         (func_import): Read and save the incobsolete variable to the cache.
80217 2008-11-02  Bruno Haible  <bruno@clisp.org>
80219         * modules/TEMPLATE-EXTENDED: New field 'Status'.
80220         * gnulib-tool: New option --extract-status.
80221         (func_usage): Document it.
80222         (sed_extract_prog): Recognize it.
80223         (func_get_status): New function.
80225 2008-10-30  Simon Josefsson  <simon@josefsson.org>
80227         * modules/sockets (License): Change from LGPL to LGPLv2+.
80229 2008-10-28  Simon Josefsson  <simon@josefsson.org>
80231         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
80233 2008-10-28  Simon Josefsson  <simon@josefsson.org>
80235         * MODULES.html.sh (Support for systems lacking POSIX:2001):
80236         Mention times and sys_times.
80237         * modules/sys_times, modules/sys_times-tests: New modules.
80238         * modules/times, modules/times-tests: Likewise
80239         * m4/sys_times_h.m4: New file.
80240         * lib/sys_times.in.h: Likewise
80241         * lib/times.c: Likewise.
80242         * tests/test-sys_times.c: Likewise.
80243         * tests/test-times.c: Likewise.
80244         * doc/posix-headers/sys_times.texi: Update.
80245         * doc/posix-functions/times.texi: Update.
80247 2008-10-28  Jim Meyering  <meyering@redhat.com>
80249         * modules/tempname (Depends-on): Add lstat.
80251         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
80253 2008-10-28  Simon Josefsson  <simon@josefsson.org>
80255         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
80256         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
80257         using idiom used elsewhere in gnulib.
80259 2008-10-27  Jim Meyering  <meyering@redhat.com>
80261         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
80263 2008-10-27  Simon Josefsson  <simon@josefsson.org>
80265         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
80266         TESTS_ENVIRONMENT, for shell scripts that needs to call built
80267         programs.
80268         * tests/test-argp-2.sh: Use $EXEEXT when needed.
80270 2008-10-27  Simon Josefsson  <simon@josefsson.org>
80272         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
80274 2008-10-27  Bruno Haible  <bruno@clisp.org>
80276         * tests/test-lstat.c: Include <stdio.h>.
80278 2008-10-27  Simon Josefsson  <simon@josefsson.org>
80280         * modules/lstat-tests: New module.
80281         * tests/test-lstat.c: New file.
80283 2008-10-26  Jim Meyering  <meyering@redhat.com>
80285         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
80287 2008-10-26  Simon Josefsson  <simon@josefsson.org>
80288             Bruno Haible  <bruno@clisp.org>
80290         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
80291         * modules/configmake (Include): Add a note that the include must come
80292         after all system headers.
80293         * lib/javaversion.c: Include configmake.h after all other includes.
80295 2008-10-26  Bruno Haible  <bruno@clisp.org>
80297         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
80298         HAVE_STRUCT_RANDOM_DATA to 1.
80299         (gl_STDLIB_H): Simplify.
80301 2008-10-26  Simon Josefsson  <simon@josefsson.org>
80303         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
80304         substitute HAVE_STRUCT_RANDOM_DATA.
80305         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
80306         random_data.
80307         * modules/stdlib (Makefile.am): Substitute
80308         HAVE_STRUCT_RANDOM_DATA.
80310 2008-10-26  Simon Josefsson  <simon@josefsson.org>
80312         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
80313         * doc/gnulib-intro.texi (Copyright): Likewise.
80315 2008-10-26  Simon Josefsson  <simon@josefsson.org>
80317         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
80318         findings.
80320 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
80321             Bruno Haible  <bruno@clisp.org>
80323         * lib/unistd.in.h: Include <winsock2.h>.
80324         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
80325         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
80326         Provide dummy declarations.
80327         (gethostname): Override.
80328         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
80329         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
80330         gl_PREREQ_SYS_H_WINSOCK2.
80331         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
80332         * doc/posix-functions/gethostname.texi: More details.
80334 2008-10-25  Bruno Haible  <bruno@clisp.org>
80336         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
80337         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
80338         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
80340         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
80341         here ...
80342         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
80343         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
80344         gl_UNISTD_H_DEFAULTS.
80346 2008-10-25  Eric Blake  <ebb9@byu.net>
80348         signbit: avoid spurious compiler failure
80349         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
80350         declarations inside function.
80352 2008-10-24  Simon Josefsson  <simon@josefsson.org>
80353             Bruno Haible  <bruno@clisp.org>
80355         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
80356         * modules/random_r (Depends-on): Add stdint.
80358 2008-10-24  Bruno Haible  <bruno@clisp.org>
80360         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
80361         Eggert.
80362         * modules/strerror (License): Likewise.
80364 2008-10-24  Jim Meyering  <meyering@redhat.com>
80366         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
80367         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
80369 2008-10-24  Eric Blake  <ebb9@byu.net>
80371         getgroups: fix compilation when getgroups is available
80372         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
80373         but with <config.h> override of getgroups disabled.
80375 2008-10-24  Simon Josefsson  <simon@josefsson.org>
80377         * doc/gnulib.texi (Header files): Add note about C++ problems.
80378         Explained by Bruno Haible <bruno@clisp.org>.
80380 2008-10-23  Bruno Haible  <bruno@clisp.org>
80382         Define a dummy SA_NODEFER macro on Interix.
80383         * lib/signal.in.h (SA_NODEFER): Define fallback.
80384         Reported by Aleksey Cheusov <cheusov@tut.by> via
80385         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
80387 2008-10-23  Bruno Haible  <bruno@clisp.org>
80389         * modules/freadahead (License): Change to LGPLv2+.
80390         Suggested by Simon Josefsson.
80392 2008-10-23  Jim Meyering  <meyering@redhat.com>
80394         random_r: new module
80395         * modules/random_r: New file.
80396         * m4/random_r.m4: New file.
80397         * lib/random_r.c: New file, from glibc.
80398         * modules/random_r-tests: New file.
80399         * tests/test-random_r.c: New file.
80400         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
80401          Declare.
80402         (RAND_MAX): Define.
80403         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
80404         * modules/stdlib: Substitute them, too.
80405         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
80406         * doc/glibc-functions/initstate_r.texi: Mention the new module.
80407         * doc/glibc-functions/random_r.texi: Likewise.
80408         * doc/glibc-functions/setstate_r.texi: Likewise.
80409         * doc/glibc-functions/srandom_r.texi: Likewise.
80410         * config/srclist.txt: Mention it.
80412 2008-10-23  David Lutterkort  <lutter@redhat.com>
80414         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
80415         link requirement
80417 2008-10-23  Jim Meyering  <meyering@redhat.com>
80419         selinux-h: mark parameters of stub functions as intentionally unused
80420         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
80421         * lib/se-context.in.h: Likewise.
80423 2008-10-22  Simon Josefsson  <simon@josefsson.org>
80425         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
80427 2008-10-22  Simon Josefsson  <simon@josefsson.org>
80429         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
80431 2008-10-22  Eric Blake  <ebb9@byu.net>
80433         glthread/thread: avoid compiler warning
80434         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
80435         Add unreachable abort to silence compiler.
80437 2008-10-22  Eric Blake  <ebb9@byu.net>
80439         netdb: also supply struct addrinfo for cygwin 1.5.x
80440         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
80441         older cygwin.
80442         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
80443         cygwin.
80444         * doc/posix-headers/netdb.texi (netdb.h): Document this.
80446 2008-10-22  Bruno Haible  <bruno@clisp.org>
80448         * users.txt: Update entry about pspp.
80450 2008-10-21  Bruno Haible  <bruno@clisp.org>
80452         Simplification.
80453         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
80454         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
80456         Simplification.
80457         * lib/ioctl.c (ioctl): Don't undefine.
80458         * lib/socket.c (socket): Don't undefine.
80460         Remove unused module indicator macros.
80461         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
80462         GNULIB_$1 as a C macro.
80464         * doc/posix-functions/close.texi: Undo last change.
80465         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
80466         Windows platforms.
80468 2008-10-21  Bruno Haible  <bruno@clisp.org>
80470         Add gethostname() declaration to <unistd.h>.
80471         * lib/unistd.in.h (gethostname): New declaration.
80472         * lib/gethostname.c: Include <unistd.h>.
80473         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
80474         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
80475         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
80476         and HAVE_GETHOSTNAME.
80477         * modules/gethostname (Depends-on): Add unistd.
80478         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80479         (Include): Specify <unistd.h>.
80480         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
80481         HAVE_GETHOSTNAME.
80482         * tests/test-gethostname.c: Include <unistd.h> first.
80484 2008-10-21  Bruno Haible  <bruno@clisp.org>
80486         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
80487         * modules/select-tests (Depends-on): Likewise.
80488         Reported by Simon Josefsson.
80490 2008-10-21  Simon Josefsson  <simon@josefsson.org>
80492         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
80493         * lib/accept.c: New file, based on winsock.c.
80494         * lib/bind.c: New file, based on winsock.c.
80495         * lib/connect.c: New file, based on winsock.c.
80496         * lib/getpeername.c: New file, based on winsock.c.
80497         * lib/getsockname.c: New file, based on winsock.c.
80498         * lib/getsockopt.c: New file, based on winsock.c.
80499         * lib/ioctl.c: New file, based on winsock.c.
80500         * lib/listen.c: New file, based on winsock.c.
80501         * lib/recv.c: New file, based on winsock.c.
80502         * lib/recvfrom.c: New file, based on winsock.c.
80503         * lib/send.c: New file, based on winsock.c.
80504         * lib/sendto.c: New file, based on winsock.c.
80505         * lib/setsockopt.c: New file, based on winsock.c.
80506         * lib/shutdown.c: New file, based on winsock.c.
80507         * lib/socket.c: New file, based on winsock.c.
80508         * lib/w32sock.h: New file, based on winsock.c.
80509         * lib/winsock.c: Remove file.
80510         * modules/accept: Likewise.
80511         * modules/bind: Likewise.
80512         * modules/connect: Likewise.
80513         * modules/getpeername: Likewise.
80514         * modules/getsockname: Likewise.
80515         * modules/getsockopt: Likewise.
80516         * modules/ioctl: Likewise.
80517         * modules/listen: Likewise.
80518         * modules/recv: Likewise.
80519         * modules/recvfrom: Likewise.
80520         * modules/send: Likewise.
80521         * modules/sendto: Likewise.
80522         * modules/setsockopt: Likewise.
80523         * modules/shutdown: Likewise.
80524         * modules/socket: Use socket.c instead of winsock.c.
80525         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
80526         * doc/posix-functions/accept.texi: Doc fix.
80527         * doc/posix-functions/bind.texi: Doc fix.
80528         * doc/posix-functions/close.texi: Doc fix.
80529         * doc/posix-functions/connect.texi: Doc fix.
80530         * doc/posix-functions/getpeername.texi: Doc fix.
80531         * doc/posix-functions/getsockname.texi: Doc fix.
80532         * doc/posix-functions/getsockopt.texi: Doc fix.
80533         * doc/posix-functions/ioctl.texi: Doc fix.
80534         * doc/posix-functions/listen.texi: Doc fix.
80535         * doc/posix-functions/recv.texi: Doc fix.
80536         * doc/posix-functions/recvfrom.texi: Doc fix.
80537         * doc/posix-functions/send.texi: Doc fix.
80538         * doc/posix-functions/sendto.texi: Doc fix.
80539         * doc/posix-functions/setsockopt.texi: Doc fix.
80540         * doc/posix-functions/shutdown.texi: Doc fix.
80541         * doc/posix-functions/socket.texi: Doc fix.
80543 2008-10-20  Bruno Haible  <bruno@clisp.org>
80545         Take into account the role of SIGABRT_COMPAT on Windows 2008.
80546         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
80547         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
80548         as an alias for SIGABRT.
80549         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
80550         (sigaction): Map it to SIGABRT.
80551         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
80553 2008-10-20  Bruno Haible  <bruno@clisp.org>
80555         * lib/fts.c: Don't include lstat.h.
80556         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
80558         Move the lstat() declaration to <sys/stat.h>.
80559         * lib/lstat.h: Remove file.
80560         * lib/sys_stat.in.h: Add special invocation convention.
80561         (lstat): New declaration.
80562         * lib/lstat.c (orig_lstat): New function.
80563         (rpl_lstat): Use orig_lstat instead of lstat.
80564         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
80565         AC_C_INLINE. Set REPLACE_LSTAT.
80566         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
80567         and REPLACE_LSTAT.
80568         * modules/lstat (Files): Remove lib/lstat.h.
80569         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
80570         (Include): Specify <sys/stat.h> instead of lstat.h.
80571         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
80572         REPLACE_LSTAT.
80573         * NEWS: Mention the change.
80575 2008-10-20  Bruno Haible  <bruno@clisp.org>
80577         * modules/posix_spawn-tests: New file.
80578         * tests/test-posix_spawn3.c: New file.
80580 2008-10-20  Bruno Haible  <bruno@clisp.org>
80582         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
80583         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
80584         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
80585         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
80586         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
80588 2008-10-20  Bruno Haible  <bruno@clisp.org>
80590         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
80591         of posix_spawn on AIX 5.3.
80593 2008-10-20  Bruno Haible  <bruno@clisp.org>
80595         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
80597 2008-10-20  Bruno Haible  <bruno@clisp.org>
80599         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
80600         of AC_LANG_PROGRAM.
80602 2008-10-20  Simon Josefsson  <simon@josefsson.org>
80604         * lib/netdb.in.h: Don't define GNU specific constants until they
80605         are supported or needed.  Reported by Bruno Haible
80606         <bruno@clisp.org>.
80608 2008-10-20  Simon Josefsson  <simon@josefsson.org>
80610         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
80612 2008-10-20  Simon Josefsson  <simon@josefsson.org>
80614         * lib/getaddrinfo.h: Remove file.
80615         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
80616         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
80617         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
80618         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
80619         * modules/netdb: Substitute GNULIB_GETADDRINFO.
80620         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
80621         * tests/test-getaddrinfo.c: Likewise.
80622         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
80623         * NEWS: Mention change.
80625 2008-10-19  Bruno Haible  <bruno@clisp.org>
80627         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
80629 2008-10-19  Bruno Haible  <bruno@clisp.org>
80631         * lib/wait-process.c: Include simply <sys/wait.h>.
80632         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
80633         WIFSTOPPED): Remove fallback definitions.
80634         * modules/wait-process (Depends-on): Add sys_wait.
80636         New module 'sys_wait'.
80637         * modules/sys_wait: New file.
80638         * lib/sys_wait.in.h: New file, partially copied from
80639         lib/wait-process.c.
80640         * m4/sys_wait_h.m4: New file.
80641         * doc/posix-headers/sys_wait.texi: Mention the new module.
80643 2008-10-19  Bruno Haible  <bruno@clisp.org>
80645         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
80647 2008-10-19  Bruno Haible  <bruno@clisp.org>
80649         Assume that waitpid() fills an 'int' status, not a 'union wait'.
80650         * lib/wait-process.c (WAIT_T): Remove type.
80651         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
80652         (wait_subprocess): Update.
80654 2008-10-19  Bruno Haible  <bruno@clisp.org>
80656         New module 'atoll'.
80657         * modules/atoll: New file.
80658         * lib/stdlib.in.h (atoll): New declaration.
80659         * lib/atoll.c: New file, from glibc with modifications.
80660         * m4/atoll.m4: New file.
80661         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
80662         HAVE_ATOLL.
80663         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
80664         * doc/posix-functions/atoll.texi: Mention the new module.
80666 2008-10-19  Bruno Haible  <bruno@clisp.org>
80668         Add strtoull() declaration to <stdlib.h>.
80669         * lib/stdlib.in.h (strtoull): New declaration.
80670         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
80671         Set HAVE_STRTOULL.
80672         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
80673         HAVE_STRTOULL.
80674         * modules/strtoull (Depends-on): Add stdlib.
80675         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
80676         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
80677         HAVE_STRTOULL.
80679 2008-10-19  Bruno Haible  <bruno@clisp.org>
80681         Add strtoll() declaration to <stdlib.h>.
80682         * lib/stdlib.in.h (strtoll): New declaration.
80683         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
80684         Set HAVE_STRTOLL.
80685         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
80686         HAVE_STRTOLL.
80687         * modules/strtoll (Depends-on): Add stdlib.
80688         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
80689         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
80691 2008-10-19  Bruno Haible  <bruno@clisp.org>
80693         * modules/bcopy (Depends-on): Add strings.
80694         (Include): Specify <strings.h>.
80696 2008-10-19  Bruno Haible  <bruno@clisp.org>
80698         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
80700 2008-10-19  Bruno Haible  <bruno@clisp.org>
80702         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
80703         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
80704         mingw.
80706 2008-10-19  Bruno Haible  <bruno@clisp.org>
80708         * lib/atanl.c: Don't include isnanl.h.
80709         * lib/cosl.c: Likewise.
80710         * lib/ldexpl.c: Likewise.
80711         * lib/logl.c: Likewise.
80712         * lib/sinl.c: Likewise.
80713         * lib/sqrtl.c: Likewise.
80714         * lib/tanl.c: Likewise.
80716         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
80717         * lib/isnanf.h: Remove file.
80718         * lib/isnand.h: Remove file.
80719         * lib/isnanl.h: Remove file.
80720         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
80721         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
80722         macros.
80723         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
80724         HAVE_ISNANF, don't define it as a C macro.
80725         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
80726         HAVE_ISNAND, don't define it as a C macro.
80727         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
80728         HAVE_ISNANL, don't define it as a C macro.
80729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
80730         HAVE_ISNAN[FDL].
80731         * modules/isnanf (Files): Remove lib/isnanf.h.
80732         (Depends-on): Add math.
80733         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
80734         (Include): Specify <math.h> instead of isnanf.h.
80735         * modules/isnand (Files): Remove lib/isnand.h.
80736         (Depends-on): Add math.
80737         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
80738         (Include): Specify <math.h> instead of isnand.h.
80739         * modules/isnanl (Files): Remove lib/isnanl.h.
80740         (Depends-on): Add math.
80741         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
80742         (Include): Specify <math.h> instead of isnanl.h.
80743         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
80744         HAVE_ISNAN[FDL].
80745         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
80746         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
80747         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
80748         * NEWS: Mention the change.
80750 2008-10-18  Bruno Haible  <bruno@clisp.org>
80752         Add getusershell(), setusershell(), endusershell() declarations to
80753         <unistd.h>.
80754         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
80755         declarations.
80756         * lib/getusershell.c: Include unistd.h.
80757         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
80758         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
80759         HAVE_GETUSERSHELL.
80760         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
80761         and HAVE_GETUSERSHELL.
80762         * modules/getusershell (Depends-on): Add unistd, extensions.
80763         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80764         (Include): Specify <unistd.h>.
80765         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
80766         HAVE_GETUSERSHELL.
80768 2008-10-18  Bruno Haible  <bruno@clisp.org>
80770         Add a getloadavg() declaration to <stdlib.h>.
80771         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
80772         getloadavg declaration.
80773         (getloadavg): New declaration.
80774         * lib/getloadavg.c: Include <stdlib.h> first.
80775         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
80776         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
80777         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
80778         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
80779         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
80780         * modules/getloadavg (Depends-on): Add stdlib, extensions.
80781         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
80782         (Include): Specify <stdlib.h>.
80783         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
80784         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
80786 2008-10-18  Bruno Haible  <bruno@clisp.org>
80788         * lib/dirchownmod.c: Don't include lchmod.h.
80790         Move the lchmod() declaration to <sys/stat.h>.
80791         * lib/lchmod.h: Remove file.
80792         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
80793         (lchmod): New declaration, moved here from lib/lchown.h.
80794         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
80795         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
80796         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
80797         and HAVE_LCHMOD.
80798         * modules/lchmod (Files): Remove lib/lchmod.h.
80799         (Depends-on): Add sys_stat, extensions.
80800         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
80801         (Include): Specify <sys/stat.h> instead of lchmod.h.
80802         * modules/sys_stat (Depends-on): Add link-warning.
80803         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
80804         definition of GL_LINK_WARNING.
80805         * NEWS: Mention the change.
80807 2008-10-18  Bruno Haible  <bruno@clisp.org>
80809         * lib/fchdir.c: Don't include dirfd.h.
80810         * lib/fts.c: Likewise.
80811         * lib/getcwd.c: Likewise.
80812         * lib/glob.c: Likewise.
80814         Move the dirfd() declaration to <dirent.h>.
80815         * lib/dirfd.h: Remove file.
80816         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
80817         (dirfd): New declaration.
80818         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
80819         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
80820         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
80821         HAVE_DECL_DIRFD.
80822         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
80823         HAVE_DECL_DIRFD.
80824         * modules/dirfd (Files): Remove lib/dirfd.h.
80825         (Depends-on): Add dirent, extensions.
80826         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
80827         (Include): Specify <dirent.h> instead of dirfd.h.
80828         * modules/dirent (Depends-on): Add link-warning.
80829         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
80830         definition of GL_LINK_WARNING.
80831         * NEWS: Mention the change.
80833 2008-10-18  Bruno Haible  <bruno@clisp.org>
80835         Move the euidaccess() declaration to <unistd.h>.
80836         * lib/euidaccess.h: Remove file.
80837         * lib/unistd.in.h (euidaccess): New declaration.
80838         * lib/euidaccess.c: Don't include euidaccess.h.
80839         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
80840         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
80841         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
80842         and HAVE_EUIDACCESS.
80843         * modules/euidaccess (Files): Remove lib/euidaccess.h.
80844         (Depends-on): Add unistd.
80845         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80846         (Include): Specify <unistd.h> instead of euidaccess.h.
80847         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
80848         HAVE_EUIDACCESS.
80849         * NEWS: Mention the change.
80851 2008-10-18  Bruno Haible  <bruno@clisp.org>
80853         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
80855         Move the getdomainname() declaration to <unistd.h>.
80856         * lib/getdomainname.h: Remove file.
80857         * lib/unistd.in.h (getdomainname): New declaration.
80858         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
80859         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
80860         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
80861         HAVE_GETDOMAINNAME.
80862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
80863         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
80864         * modules/getdomainname (Files): Remove lib/getdomainname.h.
80865         (Depends-on): Add unistd, extensions.
80866         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80867         (Includes): Specify <unistd.h> instead of getdomainname.h.
80868         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
80869         HAVE_GETDOMAINNAME.
80870         * NEWS: Mention the change.
80872 2008-10-18  Bruno Haible  <bruno@clisp.org>
80874         * modules/dirent: New file.
80875         * m4/dirent_h.m4: New file.
80876         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
80877         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
80878         * modules/fchdir (Files): Remove lib/dirent.in.h.
80879         (Depends-on): Add dirent.
80880         (Makefile.am): Move rules to modules/dirent.
80881         * doc/posix-headers/dirent.texi: Mention the new module.
80883 2008-10-18  Bruno Haible  <bruno@clisp.org>
80885         Avoid -Wunused-parameter warnings in public gnulib header files.
80886         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
80887         macro.
80888         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
80890 2008-10-18  Bruno Haible  <bruno@clisp.org>
80892         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
80893         * doc/glibc-functions/error.texi: Mention the module 'error'.
80894         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
80895         * doc/glibc-functions/getdomainname.texi: Mention the module
80896         'getdomainname'.
80897         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
80898         * doc/glibc-functions/getpagesize.texi: Mention the module
80899         'getpagesize'.
80900         * doc/glibc-functions/getusershell.texi: Mention the module
80901         'getusershell'.
80902         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
80903         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
80904         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
80905         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
80906         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
80907         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
80908         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
80909         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
80910         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
80911         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
80912         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
80913         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
80914         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
80915         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
80917 2008-10-17  Bruno Haible  <bruno@clisp.org>
80919         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
80920         HP-UX and IRIX, use -0.0L.
80921         * tests/test-ceill.c (minus_zero): Likewise.
80922         * tests/test-floorl.c (minus_zero): Likewise.
80923         * tests/test-frexpl.c (minus_zero): Likewise.
80924         * tests/test-isnan.c (minus_zerol): Likewise.
80925         * tests/test-isnanl.h (minus_zero): Likewise.
80926         * tests/test-ldexpl.c (minus_zero): Likewise.
80927         * tests/test-roundl.c (minus_zero): Likewise.
80928         * tests/test-signbit.c (minus_zerol): Likewise.
80929         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
80930         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
80931         * tests/test-truncl.c (minus_zero): Likewise.
80932         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
80933         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
80934         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
80935         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
80937 2008-10-17  Bruno Haible  <bruno@clisp.org>
80939         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
80940         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
80941         that it gets activated only for gcc >= 3.0.
80942         * lib/dirent.in.h: Likewise.
80943         * lib/errno.in.h: Likewise.
80944         * lib/fcntl.in.h: Likewise.
80945         * lib/float.in.h: Likewise.
80946         * lib/iconv.in.h: Likewise.
80947         * lib/inttypes.in.h: Likewise.
80948         * lib/locale.in.h: Likewise.
80949         * lib/math.in.h: Likewise.
80950         * lib/netdb.in.h: Likewise.
80951         * lib/netinet_in.in.h: Likewise.
80952         * lib/search.in.h: Likewise.
80953         * lib/signal.in.h: Likewise.
80954         * lib/spawn.in.h: Likewise.
80955         * lib/stdarg.in.h: Likewise.
80956         * lib/stdint.in.h: Likewise.
80957         * lib/stdio.in.h: Likewise.
80958         * lib/stdlib.in.h: Likewise.
80959         * lib/string.in.h: Likewise.
80960         * lib/strings.in.h: Likewise.
80961         * lib/sys_file.in.h: Likewise.
80962         * lib/sys_ioctl.in.h: Likewise.
80963         * lib/sys_select.in.h: Likewise.
80964         * lib/sys_socket.in.h: Likewise.
80965         * lib/sys_stat.in.h: Likewise.
80966         * lib/sys_time.in.h: Likewise.
80967         * lib/sysexits.in.h: Likewise.
80968         * lib/time.in.h: Likewise.
80969         * lib/unistd.in.h: Likewise.
80970         * lib/wchar.in.h: Likewise.
80971         * lib/wctype.in.h: Likewise.
80972         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80974 2008-10-17  Jim Meyering  <meyering@redhat.com>
80976         ignore-value: don't depend on inline module
80977         * modules/ignore-value (Depends-on): Remove 'inline'.
80978         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
80979         Suggestion from Bruno Haible.
80981 2008-10-17  Bruno Haible  <bruno@clisp.org>
80983         New implementation of condition variables for Win32.
80984         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
80985         (gl_linked_waitqueue_t): New type.
80986         (gl_cond_t): Use it.
80987         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
80988         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
80989         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
80990         (glthread_cond_init_func, glthread_cond_wait_func,
80991         glthread_cond_timedwait_func, glthread_cond_signal_func,
80992         glthread_cond_broadcast_func, glthread_cond_destroy_func):
80993         Reimplemented on the basis of gl_linked_waitqueue_t.
80994         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
80995         gl_waitqueue_t.
80996         (gl_rwlock_t): Update.
80997         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
80999 2008-10-17  Simon Josefsson  <simon@josefsson.org>
81001         * modules/recvfrom (Depends-on): Add dependency on getpeername.
81002         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81004 2008-10-17  Jim Meyering  <meyering@redhat.com>
81006         ignore-value: new module
81007         * modules/ignore-value: New file.
81008         * lib/ignore-value.h: New file.
81009         * MODULES.html.sh (Compiler warning management): New section,
81010         just for this module.  More to come.
81012 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
81014         open-safer.c: avoid 'signed and unsigned in conditional...' warning
81015         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
81016         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
81018 2008-10-16  Jim Meyering  <meyering@redhat.com>
81020         openat-die.c: avoid 'no previous prototype' warning
81021         * lib/openat-die.c: Include "openat.h".
81022         Reported by Reuben Thomas <rrt@sc3d.org>.
81024 2008-10-16  Simon Josefsson  <simon@josefsson.org>
81026         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
81027         * lib/netdb.in.h: Fix typo.
81028         Reported by Bruno Haible  <bruno@clisp.org>
81030         * lib/netdb.in.h: Include sys/socket.h for platforms without
81031         netdb.h, to get structures like hostent on MinGW.
81032         * modules/netdb (Depends-on): Add sys_socket.
81034 2008-10-15  Simon Josefsson  <simon@josefsson.org>
81036         * modules/netdb, modules/netdb-tests: New file.
81037         * m4/netdb_h.m4: New file.
81038         * lib/netdb.in.h: Add, currently just an empty file pending
81039         definitions.
81040         * tests/test-netdb.c: New file.
81041         * doc/posix-headers/netdb.texi: Mention that we replace it if
81042         needed.
81043         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81044         netdb.
81046 2008-10-15  Simon Josefsson  <simon@josefsson.org>
81048         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
81049         with code.
81051 2008-10-13  Bruno Haible  <bruno@clisp.org>
81053         * lib/glthread/cond.c (glthread_cond_wait_func,
81054         glthread_cond_timedwait_func): Add a comment.
81056 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81058         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
81059         * tests/test-select.c: Likewise,
81061 2008-10-13  Bruno Haible  <bruno@clisp.org>
81063         * lib/glthread/cond.c (glthread_cond_wait_func,
81064         glthread_cond_timedwait_func): Fix variable name.
81065         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81067 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
81069         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
81070         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
81071         struct sockaddr.sa_len.
81072         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
81074 2008-10-13  Simon Josefsson  <simon@josefsson.org>
81076         * build-aux/pmccabe2html: Add css and css_url parameters.
81078 2008-10-12  Bruno Haible  <bruno@clisp.org>
81080         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
81081         calling aclx_get.
81082         Reported by Rainer Tammer <tammer@tammer.net>.
81084 2008-10-12  Bruno Haible  <bruno@clisp.org>
81086         Use msvcrt aware primitives for creation/termination of Win32 threads.
81087         * lib/glthread/thread.c: Include <process.h>.
81088         (glthread_create_func): Use _beginthreadex instead of CreateThread.
81089         (wrapper_func): Update signature.
81090         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
81092 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81093             Bruno Haible  <bruno@clisp.org>
81095         Provide a Win32 implementation of the 'cond' module.
81096         * lib/glthread/cond.h [USE_WIN32]: New implementation.
81097         * lib/glthread/cond.c (glthread_cond_init_func,
81098         glthread_cond_wait_func, glthread_cond_timedwait_func,
81099         glthread_cond_signal_func, glthread_cond_broadcast_func,
81100         glthread_cond_destroy_func) [USE_WIN32]: New functions.
81101         * modules/cond (Dependencies): Add gettimeofday.
81103 2008-10-11  Bruno Haible  <bruno@clisp.org>
81105         Make sleep work on older versions of mingw.
81106         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
81107         only whether it exists.
81108         * doc/posix-functions/sleep.texi: Mention the problem with older
81109         versions of mingw.
81111 2008-10-11  Bruno Haible  <bruno@clisp.org>
81113         New module 'shutdown'.
81114         * modules/shutdown: New file.
81115         * lib/sys_socket.in.h (shutdown): New declaration.
81116         * lib/winsock.c (shutdown): New function.
81117         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
81118         GNULIB_SHUTDOWN.
81119         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
81120         * doc/posix-functions/shutdown.texi: Document the new module.
81122 2008-10-11  Jim Meyering  <meyering@redhat.com>
81124         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
81126 2008-10-11  Bruno Haible  <bruno@clisp.org>
81128         New module 'fclose'.
81129         * modules/fclose: New file.
81130         * lib/stdio.in.h (fclose): New declaration.
81131         * lib/fclose.c: New file.
81132         * m4/fclose.m4: New file.
81133         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
81134         REPLACE_FCLOSE.
81135         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
81136         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
81137         REPLACE_FCLOSE.
81138         * modules/close (Depends-on): fclose.
81139         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
81141 2008-10-11  Bruno Haible  <bruno@clisp.org>
81143         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
81144         set errno and don't call _close.
81146 2008-10-10  Bruno Haible  <bruno@clisp.org>
81148         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
81149         ACL, not afterwards. Fixes test failure on Cygwin.
81151 2008-10-09  Ben Pfaff  <blp@gnu.org>
81153         * build-aux/announce-gen: Fix gnulib version related part of usage
81154         message.  Die with a useful error message if no tarballs are
81155         found.
81157 2008-10-10  Jim Meyering  <meyering@redhat.com>
81159         bootstrap: use git's --depth=N option only if it's supported
81160         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
81161         recognize the --depth option.  Reported by Pádraig Brady.
81163 2008-10-09  Bruno Haible  <bruno@clisp.org>
81165         New module 'ioctl'.
81166         * modules/ioctl: New file.
81167         * lib/sys_socket.in.h (ioctl): Remove declaration.
81168         * lib/winsock.c: Include <sys/ioctl.h>.
81169         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
81170         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
81171         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
81172         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
81173         * doc/posix-functions/ioctl.texi: Mention the new module.
81175 2008-10-09  Bruno Haible  <bruno@clisp.org>
81177         New module 'sys_ioctl'.
81178         * lib/sys_ioctl.in.h: New file.
81179         * m4/sys_ioctl_h.m4: New file.
81180         * modules/sys_ioctl: New file.
81181         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
81183 2008-10-09  Bruno Haible  <bruno@clisp.org>
81185         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
81186         * lib/winsock.c: Include <stdarg.h>.
81187         (rpl_ioctl): Change to second argument 'int' and then varargs.
81189 2008-10-09  Bruno Haible  <bruno@clisp.org>
81191         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
81192         when the sys_socket module is present and the system has <winsock2.h>.
81194 2008-10-09  Bruno Haible  <bruno@clisp.org>
81196         * doc/posix-functions/close.texi: Mention module 'close' instead of
81197         module 'sys_socket'.
81199 2008-10-09  Bruno Haible  <bruno@clisp.org>
81201         * doc/glibc-headers/sys_ioctl.texi: New file.
81202         * doc/gnulib.texi: Include it.
81204 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
81205             Bruno Haible  <bruno@clisp.org>
81207         Combine the two replacements of 'close'.
81208         * lib/sys_socket.in.h (close): Define to a reminder to include
81209         <unistd.h>.
81210         (_gl_close_fd_maybe_socket): New declaration.
81211         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
81212         * lib/winsock.c (close): Remove undefinition.
81213         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
81214         needed for the gnulib module 'close'.
81215         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
81216         define to an error symbol or to a warning, if suitable.
81217         * lib/close.c: Include <sys/socket.h>.
81218         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
81219         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
81220         UNISTD_H_HAVE_WINSOCK2_H.
81221         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
81222         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81223         UNISTD_H_HAVE_WINSOCK2_H.
81224         * modules/sys_socket (Files): Add m4/unistd_h.m4.
81225         (configure.ac): Set a module indicator.
81226         (Makefile.am): Substitute GNULIB_CLOSE.
81227         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
81228         * modules/poll-tests (Depends-on): Add close.
81229         * modules/select-tests (Depends-on): Likewise.
81231 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
81232             Bruno Haible  <bruno@clisp.org>
81234         New module 'close'.
81235         * modules/close: New file.
81236         * lib/unistd.in.h (close): Move declaration out of the
81237         FCHDIR_REPLACEMENT scope.
81238         (_gl_unregister_fd): New declaration.
81239         * lib/close.c: New file.
81240         * lib/fchdir.c (rpl_close): Remove function.
81241         * m4/close.m4: New file.
81242         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
81243         close.
81244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
81245         REPLACE_CLOSE.
81246         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
81247         REPLACE_CLOSE.
81248         * modules/fchdir (Depends-on): Add close.
81250 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
81251             Bruno Haible  <bruno@clisp.org>
81253         * lib/fcntl.in.h (open): Simplify conditionals.
81254         (_gl_register_fd): New declaration.
81255         * lib/fchdir.c (rpl_open): Remove function.
81256         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
81257         also.
81258         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
81259         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
81260         open.
81262 2008-10-09  Jim Meyering  <meyering@redhat.com>
81264         GNUmakefile: use the more name-space-friendly "_version"
81265         * top/GNUmakefile (_dummy): Update.
81266         (_version): Rename from "version".
81268 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
81269             Bruno Haible  <bruno@clisp.org>
81271         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
81272         rpl_close.
81273         (_gl_register_fd): New function, extracted from rpl_open.
81274         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
81275         (rpl_open, rpl_opendir): Use _gl_register_fd.
81277 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
81279         Fix organization of 'open' replacement.
81280         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
81281         (gl_FUNC_OPEN): Use it.
81282         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
81284 2008-10-08  Bruno Haible  <bruno@clisp.org>
81286         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
81288 2008-10-08  Simon Josefsson  <simon@josefsson.org>
81290         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
81291         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
81292         listen).
81294 2008-10-08  Eric Blake  <ebb9@byu.net>
81296         GNUmakefile: add 'make version' target
81297         * top/GNUmakefile (_curr-ver): Split version update rules...
81298         (version): ...into a target.
81300 2008-10-07  Bruno Haible  <bruno@clisp.org>
81302         Use a more portable replacement expression for -0.0L.
81303         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
81304         instead of -0.0L. Fix m4 quotation.
81306         * tests/test-signbit.c: Include <float.h>.
81307         (minus_zero): New variable.
81308         (test_signbitl): Use minus_zero instead of -zero.
81309         * modules/signbit-tests (Depends-on): Add float.
81311         * tests/test-ceill.c: Include <float.h>.
81312         (zero): Remove variable.
81313         (minus_zero): New variable.
81314         (main): Use minus_zero instead of -zero.
81315         * modules/ceill-tests (Depends-on): Add float.
81317         * tests/test-floorl.c: Include <float.h>.
81318         (zero): Remove variable.
81319         (minus_zero): New variable.
81320         (main): Use minus_zero instead of -zero.
81321         * modules/floorl-tests (Depends-on): Add float.
81323         * tests/test-roundl.c: Include <float.h>.
81324         (zero): Remove variable.
81325         (minus_zero): New variable.
81326         (main): Use minus_zero instead of -zero.
81327         * modules/roundl-tests (Depends-on): Add float.
81329         * tests/test-truncl.c: Include <float.h>.
81330         (zero): Remove variable.
81331         (minus_zero): New variable.
81332         (main): Use minus_zero instead of -zero.
81333         * modules/truncl-tests (Depends-on): Add float.
81335         * tests/test-frexpl.c (zero): Remove variable.
81336         (minus_zero): New variable.
81337         (main): Use minus_zero instead of -zero.
81338         * modules/frexpl-tests (Depends-on): Add float.
81340         * tests/test-isnan.c (zerol): Remove variable.
81341         (minus_zerol): New variable.
81342         (test_long_double): Use minus_zerol instead of -zerol.
81343         * modules/isnan-tests (Depends-on): Add float.
81345         * tests/test-isnanl.h (zero): Remove variable.
81346         (minus_zero): New variable.
81347         (main): Use minus_zero instead of -zero.
81348         * modules/isnanl-nolibm-tests (Depends-on): Add float.
81349         * modules/isnanl-tests (Depends-on): Add float.
81351         * tests/test-ldexpl.c (zero): Remove variable.
81352         (minus_zero): New variable.
81353         (main): Use minus_zero instead of -zero.
81354         * modules/ldexpl-tests (Depends-on): Add float.
81356         * tests/test-snprintf-posix.h (zerol): Remove variable.
81357         (minus_zerol): New variable.
81358         (test_function): Use minus_zerol instead of -zerol.
81359         * modules/snprintf-posix-tests (Depends-on): Add float.
81360         * modules/vsnprintf-posix-tests (Depends-on): Add float.
81362         * tests/test-sprintf-posix.h (zerol): Remove variable.
81363         (minus_zerol): New variable.
81364         (test_function): Use minus_zerol instead of -zerol.
81365         * modules/sprintf-posix-tests (Depends-on): Add float.
81366         * modules/vsprintf-posix-tests (Depends-on): Add float.
81368         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
81369         (minus_zerol): New variable.
81370         (test_function): Use minus_zerol instead of -zerol.
81371         * modules/vasnprintf-posix-tests (Depends-on): Add float.
81373         * tests/test-vasprintf-posix.c (zerol): Remove variable.
81374         (minus_zerol): New variable.
81375         (test_function): Use minus_zerol instead of -zerol.
81376         * modules/vasprintf-posix-tests (Depends-on): Add float.
81378 2008-10-07  Simon Josefsson  <simon@josefsson.org>
81380         * MODULES.html.sh (Support for building documentation): Mention
81381         pmccabe2html.  Sort entries.
81383         Add pmccabe2html module, from gnupdf.
81384         * build-aux/pmccabe.css: New file.
81385         * build-aux/pmccabe2html: New file.
81386         * m4/pmccabe2html.m4: New file.
81387         * modules/pmccabe2html: New file.
81389 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
81391         flock: new module
81392         * MODULES.html.sh: Add to list of modules.
81393         * lib/flock.c: flock implementation for Windows and Unix systems
81394         which have fcntl.
81395         * doc/glibc-functions/flock.texi: Update documentation.
81396         * lib/sys_file.in.h: <sys/file.h> header file.
81397         * m4/flock.m4: M4 macros.
81398         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
81399         * modules/flock: flock module.
81400         * modules/flock-tests: flock tests module.
81401         * modules/sys_file: sys/file.h module.
81402         * tests/test-flock.c: test suite for flock.
81404 2008-10-06  Jim Meyering  <meyering@redhat.com>
81406         bootstrap: check for LT_INIT more portably still ;-)
81407         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
81408         Spotted by Bruno Haible.
81410 2008-10-06  Eric Blake  <ebb9@byu.net>
81412         test-signbit: avoid tripping Irix cc bug on -0.0L
81413         * tests/test-signbit.c (minus_zerol): Delete, and replace with
81414         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
81415         entire testsuite consistent and avoids an Irix 6.2 bug.
81417 2008-10-05  Bruno Haible  <bruno@clisp.org>
81418             Jim Meyering  <jim@meyering.net>
81420         Add an option for ignoring EPIPE during close_stdout.
81421         * lib/closeout.h: Include <stdbool.h>.
81422         (close_stdout_set_ignore_EPIPE): New declaration.
81423         * lib/closeout.c: Include <stdbool.h>.
81424         (ignore_EPIPE): New variable.
81425         (close_stdout_set_ignore_EPIPE): New function.
81426         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
81427         * lib/close-stream.c (close_stream): Mention the possible EPIPE
81428         failure.
81429         * modules/closeout (Depends-on): Add stdbool.
81431 2008-10-05  Bruno Haible  <bruno@clisp.org>
81433         * modules/accept: New file.
81434         * modules/bind: New file.
81435         * modules/connect: New file.
81436         * modules/getpeername: New file.
81437         * modules/getsockname: New file.
81438         * modules/getsockopt: New file.
81439         * modules/listen: New file.
81440         * modules/recv: New file.
81441         * modules/recvfrom: New file.
81442         * modules/send: New file.
81443         * modules/sendto: New file.
81444         * modules/setsockopt: New file.
81445         * modules/socket: New file.
81446         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
81447         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
81448         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
81449         the particular module is requested. Add a link warning when the
81450         particular module is not requested.
81451         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
81452         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
81453         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
81454         the particular module is requested.
81455         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
81456         gl_SYS_SOCKET_H_DEFAULTS): New macros.
81457         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
81458         * modules/sys_socket (Depends-on): Add link-warning.
81459         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
81460         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
81461         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
81462         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
81463         GL_LINK_WARNING.
81464         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
81465         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
81466         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
81467         * doc/posix-functions/getpeername.texi: Mention the new module
81468         'getpeername'.
81469         * doc/posix-functions/getsockname.texi: Mention the new module
81470         'getsockname'.
81471         * doc/posix-functions/getsockopt.texi: Mention the new module
81472         'getsockopt'.
81473         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
81474         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
81475         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
81476         * doc/posix-functions/send.texi: Mention the new module 'send'.
81477         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
81478         * doc/posix-functions/setsockopt.texi: Mention the new module
81479         'setsockopt'.
81480         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
81481         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
81482         listen, connect, accept.
81483         * modules/select-tests (Depends-on): Likewise.
81485 2008-10-05  Bruno Haible  <bruno@clisp.org>
81487         * lib/winsock.c (strerror): Remove unused #undef.
81488         (rpl_close): Remove unused local variable.
81490         * modules/sys_socket (Depends-on); Add errno.
81492 2008-10-05  Bruno Haible  <bruno@clisp.org>
81494         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
81495         (select): Add a link warning when the 'select' module is not used.
81496         * modules/sys_select (Depends-on): Add link-warning.
81497         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
81498         Suggested by Paolo Bonzini.
81500 2008-10-05  Jim Meyering  <meyering@redhat.com>
81502         bootstrap: check for LT_INIT more portably
81503         * build-aux/bootstrap: Avoid using grep -E, since it's not
81504         portable enough.  Suggestion from Bruno Haible.
81506 2008-10-05  Bruno Haible  <bruno@clisp.org>
81508         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
81509         as being fixed by gnulib.
81511 2008-10-05  Bruno Haible  <bruno@clisp.org>
81513         * modules/select-tests: New file, mostly copied from
81514         modules/sys_select-tests.
81515         * tests/test-select.c: New file, mostly copied from
81516         tests/test-sys_select.c.
81517         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
81518         * modules/sys_select-tests (Depends-on): Remove all dependencies.
81519         (Makefile.am): Remove test_sys_select_LDADD.
81521         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
81522         to an undefined symbol, for an error message.
81523         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
81524         (gl_SYS_SELECT_H_DEFAULTS): New macro.
81525         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
81526         winsock-select.c here.
81527         * modules/sys_select (Files): Remove lib/winsock-select.c.
81528         (Depends-on): Remove alloca.
81529         (Makefile.am): Substitute GNULIB_SELECT.
81530         * modules/select: New file.
81531         * doc/posix-functions/select.texi: Update.
81533 2008-10-05  Bruno Haible  <bruno@clisp.org>
81535         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
81536         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
81537         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
81538         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
81539         getdtablesize.
81540         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
81541         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
81543 2008-10-05  Bruno Haible  <bruno@clisp.org>
81545         * modules/getdtablesize-tests: New file.
81546         * tests/test-getdtablesize.c: New file.
81548         New module 'getdtablesize'.
81549         * lib/unistd.in.h (getdtablesize): New declaration.
81550         * lib/getdtablesize.c: New file.
81551         * m4/getdtablesize.m4: New file.
81552         * modules/getdtablesize: New file.
81553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81554         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
81555         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
81556         HAVE_GETDTABLESIZE.
81557         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
81559 2008-10-05  Bruno Haible  <bruno@clisp.org>
81561         * modules/sched (Makefile.am): Fix typo.
81562         Reported by Simon Josefsson.
81564 2008-10-05  Jim Meyering  <meyering@redhat.com>
81566         bootstrap: check for LT_INIT, too
81567         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
81568         are deprecated.  Suggestion from Ralf Wildenhues.
81570 2008-10-05  Bruno Haible  <bruno@clisp.org>
81572         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
81573         overriding them by ours.
81574         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
81576 2008-10-05  Jim Meyering  <meyering@redhat.com>
81578         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
81579         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
81580         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
81582 2008-10-04  Bruno Haible  <bruno@clisp.org>
81584         * modules/dup2 (License): Change to LGPLv2+.
81585         * modules/sleep (License): Likewise.
81586         * modules/perror (License): Likewise.
81587         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
81588         Blake.
81589         * modules/signal (License): Likewise.
81590         * modules/sigprocmask (License): Likewise.
81591         * modules/raise (License): Change to LGPLv2+, with approval by Jim
81592         Meyering.
81594 2008-10-04  Bruno Haible  <bruno@clisp.org>
81596         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
81597         Reported by Rainer Tammer <tammer@tammer.net>.
81599 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
81600             Bruno Haible  <bruno@clisp.org>
81602         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
81603         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
81604         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
81606 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
81608         filevercmp: new module
81609         * lib/filevercmp.h: New function filevercmp comparing version strings.
81610         * lib/filevercmp.c: Implementation of filevercmp function.
81611         * modules/filevercmp: Module metadata.
81612         * tests/test-filevercmp.c: Unit test for new module.
81613         * modules/filevercmp-tests: Unit test metadata.
81614         * MODULES.html.sh: Add filevercmp module.
81616 2008-10-03  Bruno Haible  <bruno@clisp.org>
81618         * lib/c-ctype.h: Add comment.
81619         Reported by Jim Meyering.
81621 2008-10-02  Bruno Haible  <bruno@clisp.org>
81623         * modules/posix_spawn-internal (Depends-on): Add 'open'.
81625 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
81627         * build-aux/bootstrap: Allow renaming bootstrap, and change the
81628         name of bootstrap.conf accordingly.
81630 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
81632         * build-aux/bootstrap: Install git-merge-changelog configuration
81633         items into .gitconfig if needed.
81635 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
81637         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
81638         git repository, and initialize/update it accordingly.
81640 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
81642         * modules/fsync-tests: New file.
81643         * tests/test-fsync.c: New file.
81645         New module 'fsync'.
81646         * lib/fsync.c: New file.
81647         * m4/fsync.m4: New file.
81648         * modules/fsync: New file.
81649         * lib/unistd.in.h (fsync): New declaration.
81650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
81651         GNULIB_FSYNC and HAVE_FSYNC.
81652         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
81653         * MODULES.html.sh (posix_functions): Add fsync.
81654         * doc/posix-functions/fsync.texi: Mention the new module.
81656 2008-10-02  Jim Meyering  <meyering@redhat.com>
81658         fts.c: sync with similar code from coreutils' remove.c
81659         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
81660         Guard also with "#if defined __linux__", since for now at least,
81661         this code is Linux-kernel-specific.
81663 2008-10-02  Jim Meyering  <meyering@redhat.com>
81665         fts: bug fixes
81666         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
81667         Include <sys/vfs.h>, not <sys/statfs.h>.
81669         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
81670         Include <sys/vfs.h>, not <sys/statfs.h>.
81672 2008-10-01  Bruno Haible  <bruno@clisp.org>
81674         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
81675         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
81676         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
81677         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
81678         * doc/posix-functions/posix_spawnp.texi: Likewise.
81679         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
81680         whether posix_spawn actually works.
81681         * m4/pipe.m4 (gl_PIPE): Likewise.
81682         * modules/execute (Files): Add m4/posix_spawn.m4.
81683         * modules/pipe (Files): Add m4/posix_spawn.m4.
81684         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
81686 2008-10-01  Jim Meyering  <meyering@redhat.com>
81688         remove trailing spaces
81689         * NEWS: Likewise.
81690         * lib/poll.c (poll): Likewise.
81691         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
81692         * lib/winsock.c (rpl_close): Likewise.
81693         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
81694         * modules/yield: Likewise.
81695         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
81696         * tests/test-sys_select.c (connect_to_socket): Likewise.
81698         fts.c: adjust a new interface to be more generally useful
81699         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
81700         (fts_build): Adjust caller.
81702 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81704         * modules/cond-tests: New file.
81705         * tests/test-cond.c: New file.
81707 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81708             Bruno Haible  <bruno@clisp.org>
81710         * modules/cond (Dependencies): Add errno, time.
81711         * lib/glthread/cond.h: Include <time.h>.
81712         (gl_cond_define, gl_cond_define_initialized): Use the same definition
81713         across platforms.
81715 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81716             Bruno Haible  <bruno@clisp.org>
81718         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
81720 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81721             Bruno Haible  <bruno@clisp.org>
81723         * modules/tls-tests (Depends-on): Add thread, yield.
81724         (configure.ac): Remove all checks.
81725         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
81726         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
81727         gl_thread_self): Remove definitions. Include glthread/thread.h and
81728         glthread/yield.h instead.
81729         (test_tls): Pass an additional NULL argument to gl_thread_join.
81731 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81732             Bruno Haible  <bruno@clisp.org>
81734         * modules/lock-tests (Depends-on): Add thread, yield.
81735         (configure.ac): Remove all checks.
81736         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
81737         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
81738         gl_thread_self): Remove definitions. Include glthread/thread.h and
81739         glthread/yield.h instead.
81740         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
81741         additional NULL argument to gl_thread_join.
81743 2008-09-30  Bruno Haible  <bruno@clisp.org>
81745         Fix the Win32 implementation of the 'thread' module.
81746         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
81747         pointer type.
81748         (gl_thread_self): Invoke gl_thread_self_func.
81749         (gl_thread_self_func): New declaration.
81750         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
81751         (do_init_self_key, init_self_key): New functions.
81752         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
81753         Remove some fields.
81754         (running_threads, running_lock): Remove variables.
81755         (get_current_thread_handle): New function.
81756         (gl_thread_self_func, wrapper_func, glthread_create_func,
81757         glthread_join_func, gl_thread_exit_func): Largely rewritten and
81758         simplified.
81760 2008-09-30  Bruno Haible  <bruno@clisp.org>
81762         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
81763         files.
81765 2008-09-30  Jim Meyering  <meyering@redhat.com>
81767         fts.m4: correct the test for statfs.f_type
81768         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
81769         when checking for statfs.f_type.
81771 2008-09-15  Simon Josefsson  <simon@josefsson.org>
81773         tests: avoid some compiler warnings
81774         * tests/test-memchr.c (main): Pass NULL indirectly.
81775         * tests/test-getdate.c (main): Remove unused variable 'ret'.
81777 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
81779         getdate.y: disallow countable dayshifts like "4 yesterday ago"
81780         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
81781         exactly specified dayshifts.
81782         (dayshift): New rule.
81783         (rel): Add dayshift.
81784         (relative_time_table) [tomorrow, yesterday, today, now]:
81785         Use tDAY_SHIFT in place of tDAY_UNIT.
81786         * tests/test-getdate.c: Add tests for now-disallowed countable
81787         dayshifts, e.g., "4 yesterday ago".
81789 2008-09-29  Bruno Haible  <bruno@clisp.org>
81791         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
81792         * tests/test-posix_spawn1.in.sh: Renamed from
81793         tests/test-posix_spawn.in.sh.
81794         * tests/test-posix_spawn2.c: New file.
81795         * tests/test-posix_spawn2.in.sh: New file.
81796         * modules/posix_spawnp-tests (Files): Update.
81797         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
81799 2008-09-29  Bruno Haible  <bruno@clisp.org>
81801         Propagate effects of putenv/setenv/unsetenv to child processes.
81802         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
81803         * lib/pipe.c (create_pipe): Likewise.
81805 2008-09-29  Bruno Haible  <bruno@clisp.org>
81807         Enable use of shell scripts as executables in mingw.
81808         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
81809         run the program as a shell script.
81810         * lib/pipe.c (create_pipe): Likewise.
81811         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
81812         resulting array.
81814 2008-09-29  Eric Blake  <ebb9@byu.net>
81816         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
81818 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
81820         * doc/posix-functions/accept.texi: Update mingw problems.
81821         * doc/posix-functions/bind.texi: Update mingw problems.
81822         * doc/posix-functions/close.texi: Update mingw problems.
81823         * doc/posix-functions/connect.texi: Update mingw problems.
81824         * doc/posix-functions/getpeername.texi: Update mingw problems.
81825         * doc/posix-functions/getsockname.texi: Update mingw problems.
81826         * doc/posix-functions/getsockopt.texi: Update mingw problems.
81827         * doc/posix-functions/ioctl.texi: Update mingw problems.
81828         * doc/posix-functions/listen.texi: Update mingw problems.
81829         * doc/posix-functions/recv.texi: Update mingw problems.
81830         * doc/posix-functions/recvfrom.texi: Update mingw problems.
81831         * doc/posix-functions/select.texi: Update mingw problems.
81832         * doc/posix-functions/send.texi: Update mingw problems.
81833         * doc/posix-functions/sendto.texi: Update mingw problems.
81834         * doc/posix-functions/setsockopt.texi: Update mingw problems.
81835         * doc/posix-functions/socket.texi: Update mingw problems.
81837 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
81838             Bruno Haible  <bruno@clisp.org>
81840         * lib/sys_select.in.h: Include sys/time.h.
81841         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
81842         * modules/sys_select: Depend on sys_time.
81843         * tests/test-sys_select.c: Test that sys/select.h defines struct
81844         timeval fully.
81846 2008-09-29  Bruno Haible  <bruno@clisp.org>
81848         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
81849         * lib/sys_select.in.h: Likewise.
81851 2008-09-29  Bruno Haible  <bruno@clisp.org>
81853         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
81855 2008-09-29  Bruno Haible  <bruno@clisp.org>
81857         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
81858         Set LIBSOCKET instead of augmenting LIBS.
81859         * modules/sockets (Link): New section.
81860         * modules/sockets-tests (test_sockets_LDADD): New variable.
81861         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
81862         * modules/poll-tests (test_poll_LDADD): New variable.
81863         * NEWS: Document the change.
81865 2008-09-29  Bruno Haible  <bruno@clisp.org>
81867         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
81868         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
81869         ARPA_INET_H directly.
81870         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
81872 2008-09-28  Bruno Haible  <bruno@clisp.org>
81874         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
81875         from gl_HEADER_SYS_SOCKET.
81876         (gl_HEADER_SYS_SOCKET): Invoke it.
81877         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
81879 2008-09-28  Bruno Haible  <bruno@clisp.org>
81881         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
81882         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
81883         Needed on OSF/1 4.0.
81885 2008-09-28  Bruno Haible  <bruno@clisp.org>
81887         Override open more carefully.
81888         * lib/open.c (orig_open): New function.
81889         (rpl_open): Use orig_open instead of open.
81890         * lib/fcntl.in.h: Add special invocation convention.
81891         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
81892         (gl_FUNC_OPEN): Invoke it.
81894         Override freopen more carefully.
81895         * lib/freopen.c (orig_freopen): New function.
81896         (rpl_freopen): Use orig_freopen instead of freopen.
81897         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
81898         (gl_FUNC_FREOPEN): Invoke it.
81900         Override fopen more carefully.
81901         * lib/fopen.c (orig_fopen): New function.
81902         (rpl_fopen): Use orig_fopen instead of fopen.
81903         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
81904         (gl_FUNC_FOPEN): Invoke it.
81905         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
81907 2008-09-28  Bruno Haible  <bruno@clisp.org>
81909         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
81910         SIGPIPE.
81912 2008-09-28  Bruno Haible  <bruno@clisp.org>
81914         * tests/test-sigaction.c (handler, main): Disable the check whether
81915         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
81916         glibc systems with LinuxThreads.
81918 2008-09-28  Bruno Haible  <bruno@clisp.org>
81920         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
81922         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
81923         with AIX xlc.
81924         * lib/fcntl.in.h (open): Likewise.
81925         Reported by Rainer Tammer <tammer@tammer.net>.
81927 2008-09-28  Bruno Haible  <bruno@clisp.org>
81929         * modules/posix_spawnp-tests: New file.
81930         * tests/test-posix_spawn.c: New file.
81931         * tests/test-posix_spawn.in.sh: New file.
81933         New module 'posix_spawnp'.
81934         * modules/posix_spawnp: New file.
81935         * lib/spawnp.c: New file, from GNU libc with modifications.
81936         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
81938         New module 'posix_spawn'.
81939         * modules/posix_spawn: New file.
81940         * lib/spawn.c: New file, from GNU libc with modifications.
81941         * doc/posix-functions/posix_spawn.texi: Mention the new module.
81943         New module 'posix_spawnattr_destroy'.
81944         * modules/posix_spawnattr_destroy: New file.
81945         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
81946         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
81947         module.
81949         New module 'posix_spawnattr_setsigmask'.
81950         * modules/posix_spawnattr_setsigmask: New file.
81951         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
81952         modifications.
81953         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
81954         new module.
81956         New module 'posix_spawnattr_getsigmask'.
81957         * modules/posix_spawnattr_getsigmask: New file.
81958         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
81959         modifications.
81960         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
81961         new module.
81963         New module 'posix_spawnattr_setsigdefault'.
81964         * modules/posix_spawnattr_setsigdefault: New file.
81965         * lib/spawnattr_setdefault.c: New file, from GNU libc with
81966         modifications.
81967         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
81968         new module.
81970         New module 'posix_spawnattr_getsigdefault'.
81971         * modules/posix_spawnattr_getsigdefault: New file.
81972         * lib/spawnattr_getdefault.c: New file, from GNU libc with
81973         modifications.
81974         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
81975         new module.
81977         New module 'posix_spawnattr_setschedpolicy'.
81978         * modules/posix_spawnattr_setschedpolicy: New file.
81979         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
81980         modifications.
81981         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
81982         new module.
81984         New module 'posix_spawnattr_getschedpolicy'.
81985         * modules/posix_spawnattr_getschedpolicy: New file.
81986         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
81987         modifications.
81988         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
81989         new module.
81991         New module 'posix_spawnattr_setschedparam'.
81992         * modules/posix_spawnattr_setschedparam: New file.
81993         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
81994         modifications.
81995         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
81996         new module.
81998         New module 'posix_spawnattr_getschedparam'.
81999         * modules/posix_spawnattr_getschedparam: New file.
82000         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
82001         modifications.
82002         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
82003         new module.
82005         New module 'posix_spawnattr_setpgroup'.
82006         * modules/posix_spawnattr_setpgroup: New file.
82007         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
82008         modifications.
82009         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
82010         module.
82012         New module 'posix_spawnattr_getpgroup'.
82013         * modules/posix_spawnattr_getpgroup: New file.
82014         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
82015         modifications.
82016         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
82017         module.
82019         New module 'posix_spawnattr_setflags'.
82020         * modules/posix_spawnattr_setflags: New file.
82021         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
82022         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
82023         module.
82025         New module 'posix_spawnattr_getflags'.
82026         * modules/posix_spawnattr_getflags: New file.
82027         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
82028         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
82029         module.
82031         New module 'posix_spawnattr_init'.
82032         * modules/posix_spawnattr_init: New file.
82033         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
82034         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
82035         module.
82037         New module 'posix_spawn_file_actions_destroy'.
82038         * modules/posix_spawn_file_actions_destroy: New file.
82039         * lib/spawn_faction_destroy.c: New file, from GNU libc with
82040         modifications.
82041         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
82042         the new module.
82044         New module 'posix_spawn_file_actions_addopen'.
82045         * modules/posix_spawn_file_actions_addopen: New file.
82046         * lib/spawn_faction_addopen.c: New file, from GNU libc with
82047         modifications.
82048         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
82049         the new module.
82051         New module 'posix_spawn_file_actions_adddup2'.
82052         * modules/posix_spawn_file_actions_adddup2: New file.
82053         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
82054         modifications.
82055         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
82056         the new module.
82058         New module 'posix_spawn_file_actions_addclose'.
82059         * modules/posix_spawn_file_actions_addclose: New file.
82060         * lib/spawn_faction_addclose.c: New file, from GNU libc with
82061         modifications.
82062         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
82063         the new module.
82065         New module 'posix_spawn_file_actions_init'.
82066         * modules/posix_spawn_file_actions_init: New file.
82067         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
82068         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
82069         new module.
82071         New module 'posix_spawn-internal'.
82072         * modules/posix_spawn-internal: New file.
82073         * lib/spawn_int.h: New file, from GNU libc with modifications.
82074         * lib/spawni.c: New file, from GNU libc with modifications.
82075         * m4/posix_spawn.m4: New file.
82077         New module 'spawn'.
82078         * modules/spawn: New file.
82079         * lib/spawn.in.h: New file, from GNU libc with modifications.
82080         * m4/spawn_h.m4: New file.
82081         * doc/posix-headers/spawn.texi: Mention the new module.
82083 2008-09-28  Bruno Haible  <bruno@clisp.org>
82085         * modules/sched-tests: New file.
82086         * tests/test-sched.c: New file.
82088         New module 'sched'.
82089         * modules/sched: New file.
82090         * lib/sched.in.h: New file.
82091         * m4/sched_h.m4: New file.
82092         * doc/posix-headers/sched.texi: Mention the new module.
82094 2008-09-27  Eric Blake  <ebb9@byu.net>
82096         Fix previous patch, and tweak references to $0.
82097         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
82098         (func_version, func_gnulib_dir): Don't call this program
82099         gnulib-tool.
82100         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
82101         with using $0 in function.
82102         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
82103         (func_fatal_error): Reuse the name the user invoked us with.
82105 2008-09-27  Bruno Haible  <bruno@clisp.org>
82107         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
82108         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
82109         (gl_ICONV_H): Not here.
82110         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
82111         instead of assigning ICONV_H directly.
82113         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
82114         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
82115         WCHAR_H directly.
82117 2008-09-27  Bruno Haible  <bruno@clisp.org>
82119         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
82120         * modules/arpa_inet (Depends-on): Add link-warning.
82121         (Makefile.am): Insert the definition of GL_LINK-WARNING.
82122         * modules/unistd (Makefile.am): Likewise.
82124 2008-09-26  Bruno Haible  <bruno@clisp.org>
82126         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
82127         variables.
82128         (func_version): Essentially copied from gnulib-tool.
82129         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
82130         func_readlink): Copied from gnulib-tool.
82132 2008-09-26  Bruno Haible  <bruno@clisp.org>
82134         * gnulib-tool (func_version): Change directory to $gnulib_dir before
82135         invoking git-version-gen.
82137 2008-09-26  Bruno Haible  <bruno@clisp.org>
82139         * posix-modules: Update to directory names changed on 2008-01-19.
82140         Remove commas in output before splitting into words. No more need to
82141         avoid 'ftruncate' since 2007-02-19.
82143 2008-09-26  Bruno Haible  <bruno@clisp.org>
82145         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
82147 2008-09-26  Bruno Haible  <bruno@clisp.org>
82149         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
82150         * modules/fwriteerror (Depends-on): Add errno.
82152 2008-09-26  Bruno Haible  <bruno@clisp.org>
82154         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
82155         * tests/test-vc-list-files-cvs.sh: Likewise.
82157 2008-09-26  Bruno Haible  <bruno@clisp.org>
82159         * doc/posix-headers/sys_resource.texi: Reorder items.
82161 2008-09-26  Jim Meyering  <meyering@redhat.com>
82163         fts: tweak inode comparison function
82164         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
82165         inode numbers, as documented.
82167         fts: sort dirent entries on inode number before traversing
82168         This avoids a quadratic, seek-related performance penalty when
82169         operating on a directory containing many entries (measurable at 10k;
82170         3.5 hours at 2 million entries with a cold cache) on certain types
82171         of file systems, including ext3 and ext4, but not tmpfs.
82172         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
82173         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
82174         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
82175         (fs_handles_readdir_ordered_dirents_efficiently): New function.
82176         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
82177         (fts_build): Set the stat.st_ino member from D_INO.
82178         If it is likely to be useful, sort dirent entries on inode number.
82180         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
82181         and the struct statfs.f_type member.
82182         * modules/fts (Depends-on): Add d-ino.
82184 2008-09-26  Bruno Haible  <bruno@clisp.org>
82186         * modules/sigpipe-die (Depends-on): Add sigpipe.
82188         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
82189         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
82190         and GNULIB_STDIO_H_SIGPIPE are set.
82191         * lib/stdio-write.c: New file.
82192         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
82193         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
82194         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
82195         REPLACE_STDIO_WRITE_FUNCS.
82196         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
82197         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
82198         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
82199         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
82200         * modules/stdio (Files): Add lib/stdio-write.c.
82201         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
82202         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
82203         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
82204         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
82205         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
82206         REPLACE_FPRINTF_POSIX.
82207         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
82208         REPLACE_PRINTF_POSIX.
82209         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
82210         REPLACE_VFPRINTF_POSIX.
82211         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
82212         REPLACE_VPRINTF_POSIX.
82213         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
82214         SIGPIPE issue.
82215         * doc/posix-functions/fputc.texi: Likewise.
82216         * doc/posix-functions/fputs.texi: Likewise.
82217         * doc/posix-functions/fwrite.texi: Likewise.
82218         * doc/posix-functions/printf.texi: Likewise.
82219         * doc/posix-functions/putc.texi: Likewise.
82220         * doc/posix-functions/putchar.texi: Likewise.
82221         * doc/posix-functions/puts.texi: Likewise.
82222         * doc/posix-functions/vfprintf.texi: Likewise.
82223         * doc/posix-functions/vprintf.texi: Likewise.
82225         * modules/safe-write (Depends-on): Add write.
82227         * modules/sigpipe-tests: New file.
82228         * tests/test-sigpipe.c: New file.
82229         * tests/test-sigpipe.sh: New file.
82231         * modules/write: New file.
82232         * lib/unistd.in.h: Include <sys/types.h>.
82233         (write): New declaration.
82234         * lib/write.c: New file.
82235         * m4/write.m4: New file.
82236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82237         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
82238         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
82239         GNULIB_WRITE, REPLACE_WRITE.
82240         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
82241         and the SIGPIPE issue.
82243         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
82244         (raise): New declaration.
82245         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
82246         (ext_signal): New function.
82247         (rpl_raise): New function.
82248         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
82249         GNULIB_SIGNAL_H_SIGPIPE.
82250         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
82251         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
82253         * modules/sigpipe: New file.
82254         * m4/sigpipe.m4: New file.
82256 2008-09-25  Derek Price  <derek@ximbiot.com>
82257             Bruno Haible  <bruno@clisp.org>
82259         * gnulib-tool (func_import): Report all license incompatibilities, not
82260         just the first one.
82262 2008-09-25  Bruno Haible  <bruno@clisp.org>
82264         * gnulib-tool (func_import): When computing the edits, consider not
82265         only the Makefile.ams that exist but also those that will be generated.
82267 2008-09-25  Simon Josefsson  <simon@josefsson.org>
82269         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
82270         fixes gnulib-tool --test warning about duplicate dependency.
82272 2008-09-25  Bruno Haible  <bruno@clisp.org>
82274         * gnulib-tool: Don't ask the user to perform edits in the generated
82275         Makefile.ams.
82276         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
82277         apply to the Makefile.am being generated.
82278         (func_emit_tests_Makefile_am): Execute edits that apply to the
82279         Makefile.am being generated.
82280         (func_import): Setup list of Makefile.am edits before emitting the
82281         Makefile.ams, not at the end.
82282         (func_create_testdir): Update.
82283         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82285 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82287         * gnulib-tool (func_import): Store the --tests-base option in the
82288         comment in gnulib-cache.m4.
82290 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
82292         * NEWS: Document increased portability that sys_select now provides.
82294         * lib/sys_select.in.h: Install select wrapper.
82295         * lib/sys_socket.in.h: Use more descriptive name when there is no
82296         select wrapper.
82297         * lib/winsock-select.c: New.
82298         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
82299         Require gl_HEADER_SYS_SOCKET.
82300         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
82301         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
82302         * tests/test-sys_select.c: Add functional tests.
82304 2008-09-24  Eric Blake  <ebb9@byu.net>
82306         open, fopen: close fd leak in last patch
82307         * lib/open.c (rpl_open): Close fd before returning error.
82308         * lib/fopen.c (rpl_fopen): Close fd before returning error.
82309         * doc/posix-functions/open.texi (open): Document that Irix also
82310         has the bug.
82311         * doc/posix-functions/fopen.texi (fopen): Likewise.
82312         Reported by Paolo Bonzini.
82314 2008-09-24  Bruno Haible  <bruno@clisp.org>
82316         Ensure that a filename ending in a slash cannot be used to access a
82317         non-directory.
82318         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
82319         to check whether it's really a directory.
82320         * lib/fopen.c: Include fcntl.h, unistd.h.
82321         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
82322         and fdopen().
82323         * modules/fopen (Depends-on): Add unistd.
82324         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
82325         * tests/test-fopen.c (main): Likewise.
82326         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
82327         * doc/posix-functions/fopen.texi: Likewise.
82328         Reported by Eric Blake.
82330 2008-09-23  Eric Blake  <ebb9@byu.net>
82332         c-stack: avoid compiler optimizations when provoking overflow
82333         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
82334         recursion harder to optimize, to ensure a stack overflow occurs.
82335         * tests/test-c-stack.c (recurse): Likewise.
82336         Borrowed from libsigsegv.
82338         c-stack: work around Irix sigaltstack bug
82339         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
82340         whether sigaltstack uses wrong end of stack_t (copied in part from
82341         libsigsegv).
82342         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
82343         Irix bug, without requiring an over-allocation.
82344         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
82345         bug.
82347         fopen: document mingw bug on directories
82348         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
82349         not allowing a stream visiting a directory, even though reading
82350         from such a stream is not portable.
82352 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
82354         * lib/poll.c: Rewrite.
82355         * modules/poll: Depend on alloca.
82357 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
82359         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
82360         instead define prototypes for a full set of wrappers.  Ensure
82361         that Cygwin does not use the compatibility code, which is only
82362         for MinGW.
82363         * lib/winsock.c: New.
82364         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
82365         * modules/sys_socket: Add lib/winsock.c.
82367         * modules/poll-tests: Add errno and perror.
82368         * tests/test-poll.c: Use ioctl, not ioctlsocket.
82370 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
82372         * tests/test-poll.c: Downgrade minimum needed Winsock version.
82374 2008-09-23  Bruno Haible  <bruno@clisp.org>
82376         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
82377         * doc/glibc-functions/*: Likewise.
82379 2008-09-23  Simon Josefsson  <simon@josefsson.org>
82381         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
82382         success.
82384 2008-09-22  Eric Blake  <ebb9@byu.net>
82385             Bruno Haible  <bruno@clisp.org>
82387         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
82388         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
82389         supply %A but mishandle pseudo-NaN.
82390         Reported by Simon Josefsson.
82392 2008-09-21  Bruno Haible  <bruno@clisp.org>
82394         * tests/test-lock.c (main): Tweak skip message.
82395         * tests/test-tls.c (main): Likewise.
82397 2008-09-21  Bruno Haible  <bruno@clisp.org>
82399         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
82400         whether 'struct sigaction' has sa_sigaction here...
82401         (gl_PREREQ_SIG_HANDLER_H): ... not here.
82402         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
82404 2008-09-21  Bruno Haible  <bruno@clisp.org>
82406         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
82407         section.
82408         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
82409         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
82410         the new section.
82411         (Support for obsolete systems lacking POSIX:2001): New section.
82412         (String handling <string.h>): Move strdup to the new section.
82413         Suggested by Simon Josefsson and Paolo Bonzini.
82415 2008-09-21  Bruno Haible  <bruno@clisp.org>
82417         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
82418         exponents in %e and %g results on 'long double'. Needed for mingw's
82419         improved *printf functions.
82420         * tests/test-vasprintf-posix.c (test_function): Likewise.
82421         * tests/test-snprintf-posix.h (test_function): Likewise.
82422         * tests/test-sprintf-posix.h (test_function): Likewise.
82423         Reported by Eric Blake.
82425 2008-09-21  Bruno Haible  <bruno@clisp.org>
82427         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
82428         * tests/test-sprintf-posix.h (test_function): Likewise.
82430 2008-09-21  Bruno Haible  <bruno@clisp.org>
82432         * modules/getpass (Depends-on): Add strdup-posix.
82434         New module 'strdup-posix'.
82435         * modules/strdup-posix: New file.
82436         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
82437         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
82438         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
82439         REPLACE_STRDUP.
82440         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
82441         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
82442         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82443         strdup-posix.
82445         * modules/strdup (Depends-on): Remove malloc-posix.
82447 2008-09-20  Bruno Haible  <bruno@clisp.org>
82449         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
82450         Wildenhues.
82452 2008-09-20  Bruno Haible  <bruno@clisp.org>
82454         Ensure that wint_t gets defined on IRIX 5.3.
82455         * lib/wchar.in.h (wint_t): Define if not defined by the system.
82456         * lib/wctype.in.h (wint_t): Likewise.
82457         (__wctype_wint_t): Remove type.
82458         (isw*): Use wint_t instead of __wctype_wint_t.
82459         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
82460         * modules/wchar (Files): Add m4/wint_t.m4.
82461         (Makefile.am): Substitute HAVE_WINT_T.
82462         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
82463         * tests/test-wctype.c: Check that wint_t is defined.
82464         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
82465         * doc/posix-headers/wctype.texi: Likewise.
82466         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82468 2008-09-18  Bruno Haible  <bruno@clisp.org>
82470         * gnulib-tool (func_exit): Update comment.
82472 2008-09-18  Simon Josefsson  <simon@josefsson.org>
82474         * modules/getaddrinfo (Depends-on): Remove strdup, this module
82475         assumes strdup exists and does not depend on strdup to return
82476         ENOMEM on out of memory conditions.
82478 2008-09-18  Bruno Haible  <bruno@clisp.org>
82480         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
82481         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
82482         digits for the exponent.
82484 2008-09-18  Jim Meyering  <meyering@redhat.com>
82485             Bruno Haible  <bruno@clisp.org>
82487         * lib/vasnprintf.c (decimal_point_char): Define also if
82488         NEED_PRINTF_INFINITE_LONG_DOUBLE.
82490 2008-09-16  Bruno Haible  <bruno@clisp.org>
82491         and Eric Blake  <ebb9@byu.net>
82493         vasnprintf: support Irix 5.3
82494         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
82495         that mishandle long double infinity.
82496         Reported by Tom G. Christensen.
82498 2008-09-16  Bruno Haible  <bruno@clisp.org>
82500         * doc/glibc-functions/scandir.texi: Mention the function is missing on
82501         Solaris 9.
82502         * doc/glibc-functions/alphasort.texi: Likewise.
82503         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
82505 2008-09-16  Jim Meyering  <meyering@redhat.com>
82507         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
82508         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
82509         a umask modification leak out of a subshell.  Otherwise, the
82510         opensolaris /bin/sh would be accepted and thus cause unwarranted
82511         failures in the coreutils test suite.
82513 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
82515         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
82516         to succeed.
82518 2008-09-16  Jim Meyering  <meyering@redhat.com>
82520         avoid spurious test failure when library is built without ACL support
82521         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
82522         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
82523         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
82524         * tests/test-copy-acl.sh: Likewise.
82526 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82528         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
82529         based on character occurrence counts.
82531 2008-09-15  Eric Blake  <ebb9@byu.net>
82533         tests: avoid some compiler warnings
82534         * tests/test-memchr.c (main): Pass NULL indirectly.
82535         * tests/test-closein.c (main): Avoid unused variable.
82537 2008-09-15  Bruno Haible  <bruno@clisp.org>
82539         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
82540         are missing on OpenBSD 4.0 individually.
82541         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82543 2008-09-15  Bruno Haible  <bruno@clisp.org>
82545         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
82546         * doc/posix-functions/strerror.texi: Mention also Cygwin.
82547         * doc/posix-functions/perror.texi: Likewise.
82548         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
82549         is missing.
82550         Reported by Eric Blake.
82552         * lib/errno.in.h: Use replacement values >= 2000.
82553         Reported by Eric Blake.
82555 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82557         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
82558         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
82559         limit.
82560         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
82561         compareseq was aborted.
82563 2008-09-14  Bruno Haible  <bruno@clisp.org>
82565         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
82566         yvec_edit_count.
82567         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
82568         (fstrcmp_bounded): Simplify result computation accordingly.
82570 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82572         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
82573         (fstrcmp): Define in terms of fstrcmp_bounded.
82574         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
82575         lower_bound argument.
82576         Return quickly if the result is certainly < lower_bound.
82577         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
82579 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82581         * lib/diffseq.h (EARLY_ABORT): New macro.
82582         (compareseq): Change return type to bool. Return true when EARLY_ABORT
82583         evaluates to true.
82585 2008-09-14  Bruno Haible  <bruno@clisp.org>
82587         * modules/perror-tests: New file.
82588         * tests/test-perror.sh: New file.
82589         * tests/test-perror.c: New file.
82591         New module 'perror'.
82592         * lib/stdio.in.h (perror): New declaration.
82593         * lib/perror.c: New file.
82594         * m4/perror.m4: New file.
82595         * modules/perror: New file.
82596         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
82597         * doc/posix-functions/perror.texi: Mention the perror module.
82598         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
82599         REPLACE_PERROR.
82600         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
82601         REPLACE_PERROR.
82603 2008-09-14  Bruno Haible  <bruno@clisp.org>
82605         * modules/stdio (Makefile.am): Reorder to match the order in
82606         lib/stdio.in.h.
82607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
82609 2008-09-13  Bruno Haible  <bruno@clisp.org>
82611         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
82613 2008-09-13  Bruno Haible  <bruno@clisp.org>
82615         Extend strerror to cover the added errno values.
82616         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
82617         (rpl_strerror): Provide error messages for the added errno values and
82618         for the WSA* values.
82619         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
82620         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
82621         strerror.
82622         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
82623         * modules/strerror (Depends-on): Add errno.
82624         * doc/posix-functions/strerror.texi: Document the change.
82625         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
82626         and EOVERFLOW.
82628 2008-09-13  Bruno Haible  <bruno@clisp.org>
82630         * modules/EOVERFLOW: Remove file.
82631         * m4/eoverflow.m4: Remove file.
82632         * modules/EOVERFLOW-tests: Remove file.
82633         * tests/test-EOVERFLOW.c: Remove file.
82634         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
82635         * modules/ftell (Depends-on): Likewise.
82636         * modules/getdelim (Depends-on): Likewise.
82637         * modules/getugroups (Depends-on): Likewise.
82638         * modules/poll (Depends-on): Likewise.
82639         * modules/snprintf (Depends-on): Likewise.
82640         * modules/sprintf-posix (Depends-on): Likewise.
82641         * modules/vasnprintf (Depends-on): Likewise.
82642         * modules/vasprintf (Depends-on): Likewise.
82643         * modules/vfprintf-posix (Depends-on): Likewise.
82644         * modules/vsnprintf (Depends-on): Likewise.
82645         * modules/vsprintf-posix (Depends-on): Likewise.
82646         * modules/xvasprintf (Depends-on): Likewise.
82647         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
82648         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
82649         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
82650         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
82651         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
82652         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
82653         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
82654         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
82655         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
82656         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
82657         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
82658         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
82659         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
82660         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
82661         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
82662         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
82663         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
82664         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
82665         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
82666         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
82667         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
82668         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
82669         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
82670         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
82671         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
82672         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
82673         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
82674         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
82675         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
82676         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
82677         * MODULES.html.sh: Remove EOVERFLOW.
82678         * NEWS: Mention the change.
82680 2008-09-13  Bruno Haible  <bruno@clisp.org>
82682         * modules/errno-tests: New file.
82683         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
82685         * lib/errno.in.h: New file.
82686         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
82687         * modules/errno: New file.
82688         * doc/posix-headers/errno.texi: Update documentation.
82689         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
82691 2008-09-13  Bruno Haible  <bruno@clisp.org>
82693         * tests/test-poll.c: Use #if for native Windows, rather than testing
82694         __MSVCRT__.
82696 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82697             Bruno Haible  <bruno@clisp.org>
82699         * lib/glob.c: Don't include <pwd.h> on native Windows.
82700         (WINDOWS32): New macro.
82701         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
82703 2008-09-13  Bruno Haible  <bruno@clisp.org>
82705         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
82706         (ETIMEDOUT): Remove macro.
82707         (glthread_cond_timedwait_multithreaded): New declaration.
82708         (glthread_cond_timedwait): Use it.
82709         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
82710         (glthread_cond_timedwait_multithreaded): New function.
82712 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
82714         * modules/poll-tests: Do not check for io.h.
82715         * tests/test-poll.c: Check for __MSVCRT__ instead.
82717 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
82719         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
82720         * modules/poll-tests: Add inet_pton, stdbool, sockets.
82721         * tests/test-poll.c: Use them.  Use _pipe on Windows.
82723 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
82725         * modules/poll-tests: New.
82726         * tests/test-poll.c: New.
82728 2008-09-12  Eric Blake  <ebb9@byu.net>
82730         frexp: test for NetBSD failure on -0.0
82731         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
82732         not all, bugs from NetBSD 3.0 have been fixed.
82733         * doc/posix-functions/frexp.texi (frexp): Document bug.
82734         Reported by Thomas Klausner.
82736         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
82737         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
82738         literal -0.0.
82739         Reported by Jonathan C. Patschke <jp@centtech.com>.
82741 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82743         * lib/glthread/cond.h: Use dummy implementation also if
82744         USE_WIN32_THREADS.
82746 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82748         * modules/fnmatch-posix (License): Change to LGPLv2+.
82749         * modules/fnmatch-gnu (License): Likewise.
82751 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82753         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
82755 2008-09-11  Jim Meyering  <meyering@redhat.com>
82757         * users.txt: Add gtk-vnc.
82759 2008-09-08  Simon Josefsson  <simon@josefsson.org>
82761         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
82762         rotate amounts.
82764         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
82765         required for 16-bit and 8-bit rotates.
82766         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
82767         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
82768         UINT8_MAX instead of hard-coded constants.
82769         Suggested by Paul Eggert.
82771 2008-09-07  Bruno Haible  <bruno@clisp.org>
82773         * tests/test-striconveh.c (main): Check behaviour when converting from
82774         UTF-7.
82776         Make striconveh work better with stateful encodings.
82777         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
82778         that iconv does not increment the inptr when returning -1/EINVAL.
82780 2008-09-07  Bruno Haible  <bruno@clisp.org>
82782         * build-aux/config.rpath: Update according to libtool-2.2.6.
82783         * build-aux/config.libpath: Likewise.
82785 2008-09-06  Bruno Haible  <bruno@clisp.org>
82787         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
82788         * lib/freadptr.c (freadptr): Likewise.
82789         * lib/freadseek.c (freadptrinc): Likewise.
82790         Reported by Simon Josefsson.
82792 2008-09-06  Bruno Haible  <bruno@clisp.org>
82794         * modules/freadptr (License): Change to LGPLv2+.
82795         * modules/freadseek (License): Likewise.
82796         Suggested by Eric Blake.
82798         * modules/memchr2 (License): Change to LGPLv2+.
82799         Approved by Eric Blake.
82801 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82802             Bruno Haible  <bruno@clisp.org>
82804         Make gnulib-tool work with native 'sed' on AIX.
82805         * gnulib-tool (sed_noop): New variable.
82806         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
82807         func_add_or_update, func_create_testdir): Use it to initialize sed
82808         script variables.
82809         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
82811 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
82812             Bruno Haible  <bruno@clisp.org>
82814         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
82815         also works after #include directives.
82817 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
82819         getdate.y: reject an out-of-range timezone value
82820         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
82821         the range [-24...+24].  When specified with only one or two digits,
82822         * tests/test-getdate.c: Tests for the fix.
82823         * doc/getdate.texi: Document this change.
82825 2008-09-03  Bruno Haible  <bruno@clisp.org>
82827         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
82829 2008-09-02  Simon Josefsson  <simon@josefsson.org>
82831         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
82832         <bruce.korb@gmail.com> with ideas from Ben Pfaff
82833         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
82834         Blake <ebb9@byu.net>.
82836         * tests/test-bitrotate.c: Add more test vectors.
82838 2008-09-02  Eric Blake  <ebb9@byu.net>
82840         vasnprintf-posix: handle large precision via %.*d
82841         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
82842         when handling it ourselves.
82843         * tests/test-vasnprintf-posix.c (test_function): Add test.
82844         * tests/test-snprintf-posix.h (test_function): Likewise.
82845         * tests/test-sprintf-posix.h (test_function): Likewise.
82846         * tests/test-vasprintf-posix.c (test_function): Likewise.
82847         Reported by Alain Guibert.
82849 2008-09-01  Eric Blake  <ebb9@byu.net>
82851         c-stack: make configure-time check more robust
82852         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
82853         successful sigaction call.
82854         Reported by Tom G. Christensen.
82856 2008-09-01  Bruno Haible  <bruno@clisp.org>
82858         New module 'findprog-lgpl'.
82859         * modules/findprog-lgpl: New file.
82860         * lib/findprog-lgpl.c: New file.
82861         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
82862         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
82863         to decide whether to use strdup or xstrdup, concatenated_filename or
82864         xconcatenated_filename.
82866 2008-09-01  Bruno Haible  <bruno@clisp.org>
82868         Split module 'concat-filename' into 'concat-filename' (LGPL) and
82869         'xconcat-filename' (GPL).
82870         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
82871         (License): Change to LGPLv2+.
82872         * modules/xconcat-filename: New file.
82873         * lib/concat-filename.h (concatenated_filename): Change specification.
82874         (xconcatenated_filename): New declaration.
82875         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
82876         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
82877         memory situations.
82878         * lib/xconcat-filename.c: New file.
82879         * NEWS: Mention the change.
82880         * lib/findprog.c: Include concat-filename.h, not filename.h.
82881         (find_in_path): Use xconcatenated_filename instead of
82882         concatenated_filename.
82883         * lib/javacomp.c: Include concat-filename.h, not filename.h.
82884         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
82885         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
82886         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
82887         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
82888         instead of concatenated_filename.
82889         * lib/javaexec.c: Include concat-filename.h, not filename.h.
82890         (execute_java_class): Use xconcatenated_filename instead of
82891         concatenated_filename.
82892         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
82893         * modules/javacomp (Depends-on): Likewise.
82894         * modules/javaexec (Depends-on): Likewise.
82896 2008-09-01  Bruno Haible  <bruno@clisp.org>
82898         Split module 'filename' into 'filename' and 'concat-filename'.
82899         * modules/filename: Keep only lib/filename.h.
82900         (License): Change to LGPLv2+.
82901         * modules/concat-filename: New file, extracted from modules/filename.
82902         * lib/filename.h (concatenated_filename): Remove declaration.
82903         * lib/concat-filename.h: New file, extracted from lib/filename.h.
82904         * lib/concat-filename.c: Include concat-filename.h.
82905         * NEWS: Mention the change.
82907 2008-09-01  Simon Josefsson  <simon@josefsson.org>
82909         * lib/bitrotate.h (rotl8, rotr8): Add.
82911         * modules/bitrotate (configure.ac): Need
82912         AC_REQUIRE([AC_C_INLINE]).
82913         (Description): Mention stdint.h.  Reported by Bruno Haible
82914         <bruno@clisp.org>.
82916         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
82917         Paolo Bonzini <bonzini@gnu.org>.
82919 2008-08-31  Bruno Haible  <bruno@clisp.org>
82921         Assume Solaris specific bi-arch conventions on Solaris systems.
82922         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
82923         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
82924         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
82925         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
82926         like acl_libdirstem.
82927         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
82928         acl_libdirstem.
82929         * NEWS: Mention the change.
82930         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
82932 2008-08-31  Jim Meyering  <meyering@redhat.com>
82934         * lib/strftime.h: Add comments describing the two added arguments.
82936         remove duplicate #include directives
82937         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
82938         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
82940 2008-08-31  Bruno Haible  <bruno@clisp.org>
82942         New module 'sigpipe-die'.
82943         * modules/sigpipe-die: New file.
82944         * lib/sigpipe-die.h: New file.
82945         * lib/sigpipe-die.c: New file.
82946         * MODULES.html.sh (Signal handling): Add sigpipe-die.
82948 2008-08-31  Bruno Haible  <bruno@clisp.org>
82950         Don't override previously installed signal handlers.
82951         * lib/fatal-signal.c (saved_sigactions): New variable.
82952         (uninstall_handlers): Reset the signal to the saved handler, not
82953         to SIG_DFL (except when ignored).
82954         (install_handlers): Save the previous handlers.
82956 2008-08-30  Bruno Haible  <bruno@clisp.org>
82958         * gnulib-tool (func_reset_sigpipe): New function.
82959         (func_get_automake_snippet, func_modules_transitive_closure,
82960         func_import): Invoke it before a join command that reads from stdin,
82961         to avoid "echo: write error: Broken pipe" error messages on stderr.
82962         Reported by Sam Steingold <sds@gnu.org>.
82964 2008-08-30  Bruno Haible  <bruno@clisp.org>
82966         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
82967         Code copied from m4/open.m4.
82968         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
82969         access and the filename ends in a slash. Code copied from lib/open.c.
82970         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
82971         * tests/test-fopen.c (main): Check against bug with trailing slash.
82973 2008-08-29  Bruno Haible  <bruno@clisp.org>
82975         Avoid some "gcc -pedantic" warnings.
82976         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
82977         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
82978         * lib/dirent.in.h: Likewise.
82979         * lib/fcntl.in.h: Likewise.
82980         * lib/float.in.h: Likewise.
82981         * lib/iconv.in.h: Likewise.
82982         * lib/inttypes.in.h: Likewise.
82983         * lib/locale.in.h: Likewise.
82984         * lib/math.in.h: Likewise.
82985         * lib/netinet_in.in.h: Likewise.
82986         * lib/search.in.h: Likewise.
82987         * lib/signal.in.h: Likewise.
82988         * lib/stdarg.in.h: Likewise.
82989         * lib/stdint.in.h: Likewise.
82990         * lib/stdio.in.h: Likewise.
82991         * lib/stdlib.in.h: Likewise.
82992         * lib/string.in.h: Likewise.
82993         * lib/strings.in.h: Likewise.
82994         * lib/sys_select.in.h: Likewise.
82995         * lib/sys_socket.in.h: Likewise.
82996         * lib/sys_stat.in.h: Likewise.
82997         * lib/sys_time.in.h: Likewise.
82998         * lib/sysexits.in.h: Likewise.
82999         * lib/time.in.h: Likewise.
83000         * lib/unistd.in.h: Likewise.
83001         * lib/wchar.in.h: Likewise.
83002         * lib/wctype.in.h: Likewise.
83003         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
83004         * modules/fchdir (Makefile.am): Likewise.
83005         * modules/fcntl (Makefile.am): Likewise.
83006         * modules/float (Makefile.am): Likewise.
83007         * modules/iconv_open (Makefile.am): Likewise.
83008         * modules/inttypes (Makefile.am): Likewise.
83009         * modules/locale (Makefile.am): Likewise.
83010         * modules/math (Makefile.am): Likewise.
83011         * modules/netinet_in (Makefile.am): Likewise.
83012         * modules/search (Makefile.am): Likewise.
83013         * modules/signal (Makefile.am): Likewise.
83014         * modules/stdarg (Makefile.am): Likewise.
83015         * modules/stdint (Makefile.am): Likewise.
83016         * modules/stdio (Makefile.am): Likewise.
83017         * modules/stdlib (Makefile.am): Likewise.
83018         * modules/string (Makefile.am): Likewise.
83019         * modules/strings (Makefile.am): Likewise.
83020         * modules/sys_select (Makefile.am): Likewise.
83021         * modules/sys_socket (Makefile.am): Likewise.
83022         * modules/sys_stat (Makefile.am): Likewise.
83023         * modules/sys_time (Makefile.am): Likewise.
83024         * modules/sysexits (Makefile.am): Likewise.
83025         * modules/time (Makefile.am): Likewise.
83026         * modules/unistd (Makefile.am): Likewise.
83027         * modules/wchar (Makefile.am): Likewise.
83028         * modules/wctype (Makefile.am): Likewise.
83029         Reported by Reuben Thomas <rrt@sc3d.org>.
83031 2008-08-29  Bruno Haible  <bruno@clisp.org>
83033         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
83034         any more.
83036 2008-08-29  Simon Josefsson  <simon@josefsson.org>
83038         * MODULES.html.sh (Misc): Add bitrotate.
83040         * modules/bitrotate: New file.
83042         * lib/bitrotate.h: New file.
83044         * modules/bitrotate-tests: New file.
83046         * tests/test-bitrotate.c: New file.
83048         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
83049         on the bitrotate module.
83051         * lib/arctwo.c: Use new bitrotate module.
83053 2008-08-29  Jim Meyering  <meyering@redhat.com>
83055         bootstrap: merge changes from coreutils
83056         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
83057         of copied files.  Remove a kludge, now that this is fixed.
83058         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
83059         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
83060         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
83062 2008-08-29  Bruno Haible  <bruno@clisp.org>
83064         * MODULES.html.sh: Remove --cvs-urls option.
83066 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
83068         maint.mk: adjust to file name change
83069         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
83071 2008-08-28  Jim Meyering  <meyering@redhat.com>
83073         * modules/getndelim2 (License): Relicense to LGPLv2+.
83074         Approved by Richard Stallman for the version of 1995, and by
83075         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
83077 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
83079         * lib/getdelim.c (flockfile, funlockfile): Make all of them
83080         dummy if one is not available.  Do not touch them if
83081         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
83082         (getc_maybe_unlocked): New.
83083         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
83085 2008-08-26  Eric Blake  <ebb9@byu.net>
83087         doc/INSTALL: resync from autoconf
83088         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
83089         (INSTALL_PRELUDE): Delete; this is done more efficiently by
83090         moving...
83091         * install.texi [!autoconf]: ...here.  Resync from autoconf.
83092         * INSTALL: Regenerate.
83093         * INSTALL.ISO: New file.
83094         * INSTALL.UTF-8: Likewise.
83096 2008-08-26  Jim Meyering  <meyering@redhat.com>
83098         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
83099         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
83100         these definitions conditional, so that they may be overridden, too.
83102 2008-08-26  Bruno Haible  <bruno@clisp.org>
83104         Generate INSTALL file variants with prettier quotes.
83105         * doc/Makefile (INSTALL_PRELUDE): New macro.
83106         (INSTALL): Use it.
83107         (INSTALL.ISO, INSTALL.UTF-8): New rules.
83109 2008-08-26  Bruno Haible  <bruno@clisp.org>
83111         Run makeinfo in an English locale.
83112         * doc/Makefile (MAKEINFO): New variable.
83114 2008-08-26  Bruno Haible  <bruno@clisp.org>
83116         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
83117         Suggested by Eric Blake.
83119 2008-08-25  Bruno Haible  <bruno@clisp.org>
83121         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
83123 2008-08-25  Eric Blake  <ebb9@byu.net>
83125         c-stack: test that stack overflow can be caught
83126         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
83127         that platform allows handling stack overflow; at least OS/2 EMX
83128         has sigaltstack, but crashes before transferring control to
83129         handler on stack overflow.
83130         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
83131         check for HAVE_STACK_OVERFLOW_HANDLING.
83132         Reported by Elbert Pol.
83134 2008-08-25  Bruno Haible  <bruno@clisp.org>
83136         * doc/posix-functions/strftime.texi: Fix description of strftime
83137         module.
83139 2008-08-24  Bruno Haible  <bruno@clisp.org>
83141         * tests/uniwidth/test-uc_width2.c: New file.
83142         * tests/uniwidth/test-uc_width2.sh: New file.
83143         * modules/uniwidth/width-tests (Files): Add the new files.
83144         (TESTS): Add uniwidth/test-uc_width2.sh.
83145         (TESTS_ENVIRONMENT): New variable.
83146         (check_PROGRAMS): Add test-uc_width2.
83147         (test_uc_width2_SOURCES): New variable.
83149         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
83150         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
83151         not 0x00AB.
83152         Reported by Alexander V. Lukyanov <lav@netis.ru>.
83154 2008-08-22  Eric Blake  <ebb9@byu.net>
83156         test-lock, test-tls: mention why a test is skipped
83157         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
83158         skipped.
83159         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
83161         count-one-bits: relax license
83162         * modules/count-one-bits (License): Relicense to LGPLv2+.
83163         Suggested by Ludovic Courtès, approved by Ben Pfaff.
83165 2008-08-22  Andreas Schwab  <schwab@suse.de>
83167         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
83168         Remove spurious space in assignment.
83170 2008-08-21  Simon Josefsson  <simon@josefsson.org>
83172         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
83173         Paul Eggert <eggert@CS.UCLA.EDU>.
83175 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
83177         * modules/gettext: Add m4/threadlib.m4.
83179 2008-08-19  Eric Blake  <ebb9@byu.net>
83181         test-c-stack: fix compilation failure on FreeBSD 5.0
83182         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
83183         headers before <sys/resource.h>.
83184         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
83185         the bug.
83186         Reported by Nelson H. F. Beebe.
83188         strverscmp: migrate from "strverscmp.h" to <string.h>
83189         * modules/string (Makefile.am): Add new hooks.
83190         * modules/strverscmp (Files): Remove strverscmp.h.
83191         (Depends-on): Add string.
83192         (configure.ac): Add indicator.
83193         (Include): Mention new header.
83194         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
83195         defaults.
83196         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
83197         results.
83198         * lib/strverscmp.h: Delete.
83199         * lib/string.in.h (strverscmp): Provide declaration, when needed.
83200         * tests/test-strverscmp.c (includes): Adjust client.
83201         * lib/check-version.c (includes): Likewise.
83202         * NEWS: Document the change.
83204         strverscmp: add unit test
83205         * modules/strverscmp-tests: New file.
83206         * tests/test-strverscmp.c: Likewise.
83208 2008-08-19  Simon Josefsson  <simon@josefsson.org>
83210         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
83211         regarding Windows crypto stuff, from Mono.
83213 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
83215         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
83216         if present, for intel RND.  Return error on failures.
83218 2008-08-18  Ben Pfaff  <blp@gnu.org>
83220         gitlog-to-changelog: give better diagnostic for failed pipe-open
83221         * build-aux/gitlog-to-changelog: Improve error message: suggest
83222         that the version of Git may be too old.
83224 2008-08-18  Simon Josefsson  <simon@josefsson.org>
83226         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
83227         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
83229 2008-08-18  Bruno Haible  <bruno@clisp.org>
83231         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
83232         pthread_in_use().
83234 2008-08-18  Bruno Haible  <bruno@clisp.org>
83236         * lib/glthread/threadlib.c: Include <pthread.h>.
83238 2008-08-18  Bruno Haible  <bruno@clisp.org>
83240         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
83241         glthread_recursive_lock_* macros.
83242         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
83243         Fix syntax error.
83245 2008-08-18  Bruno Haible  <bruno@clisp.org>
83247         * lib/glthread/thread.c: Avoid forcing a context switch right after
83248         thread creation.
83250 2008-08-17  Bruno Haible  <bruno@clisp.org>
83252         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
83253         * lib/glthread/thread.h: Provide Win32 specific implementation.
83254         * modules/thread (Files): Add lib/glthread/thread.c.
83255         (Depends-on): Add lock.
83256         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
83258 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83260         New module 'yield'.
83261         * modules/yield: New file.
83262         * lib/glthread/yield.h: New file.
83263         * m4/yield.m4: New file.
83264         * MODULES.html.sh (Multithreading): Add yield.
83266 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83268         New module 'thread'.
83269         * modules/thread: New file.
83270         * lib/glthread/thread.h: New file.
83271         * m4/thread.m4: New file.
83272         * MODULES.html.sh (Multithreading): Add thread.
83274 2008-08-17  Bruno Haible  <bruno@clisp.org>
83276         * lib/glthread/lock.h: Include <stdlib.h> always.
83277         * lib/glthread/tls.h: Likewise.
83278         * lib/glthread/cond.h: Likewise.
83280 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83282         New module 'cond'.
83283         * modules/cond: New file.
83284         * lib/glthread/cond.h: New file.
83285         * lib/glthread/cond.c: New file.
83286         * m4/cond.m4: New file.
83287         * MODULES.html.sh (Multithreading): Add cond.
83289 2008-08-16  Eric Blake  <ebb9@byu.net>
83291         c-stack: fix regression on Irix 5.3 from 2008-06-21
83292         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
83293         sa_sigaction...
83294         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
83295         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
83296         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
83297         * modules/signal (Makefile.am): Use the value.
83298         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
83299         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
83300         * doc/posix-headers/signal.texi (signal.h): Document this
83301         portability issue.
83302         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
83303         Reported by Tom G. Christensen.
83305 2008-08-17  Bruno Haible  <bruno@clisp.org>
83307         New module 'threadlib'.
83308         * modules/threadlib: New file.
83309         * lib/glthread/threadlib.c: New file, extracted from
83310         lib/glthread/lock.c.
83311         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
83312         functions.
83313         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
83314         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
83315         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
83316         macros.
83317         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
83318         (gl_DISABLE_THREADS): Remove macro.
83319         * modules/lock (Files): Remove build-aux/config.rpath.
83320         (Depends-on): Remove havelib. Add threadlib.
83321         (configure.ac-early): Remove section.
83322         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
83323         * modules/tls (Depends-on): Remove lock. Add threadlib.
83324         (Link): New section, copied from threadlib.
83325         * MODULES.html.sh (Multithreading): Add threadlib.
83327 2008-08-14  Bruno Haible  <bruno@clisp.org>
83329         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
83330         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
83331         glthread_rwlock_unlock, glthread_rwlock_destroy,
83332         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
83333         glthread_recursive_lock_destroy): Define as macros always.
83334         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
83335         glthread_lock_lock.
83336         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
83337         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
83338         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
83339         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
83340         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
83341         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
83342         (glthread_recursive_lock_lock_func): Renamed from
83343         glthread_recursive_lock_lock.
83344         (glthread_recursive_lock_unlock_func): Renamed from
83345         glthread_recursive_lock_unlock.
83346         (glthread_recursive_lock_destroy_func): Renamed from
83347         glthread_recursive_lock_destroy.
83349 2008-08-14  Bruno Haible  <bruno@clisp.org>
83351         * lib/glthread/lock.h: Renamed from lib/lock.h.
83352         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
83353         * lib/glthread/tls.h: Renamed from lib/tls.h.
83354         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
83355         * lib/fstrcmp.c: Update includes.
83356         * lib/strsignal.c: Update includes.
83357         * modules/lock (Files, Makefile.am): Update.
83358         (Include): Change to "glthread/lock.h".
83359         * modules/tls (Files, Makefile.am): Update.
83360         (Include): Change to "glthread/tls.h".
83361         * tests/test-lock.c: Update includes.
83362         * tests/test-tls.c: Update includes.
83363         * NEWS: Mention the renamed header files.
83365 2008-08-11  Jim Meyering  <meyering@redhat.com>
83367         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
83369 2008-08-11  Eric Blake  <ebb9@byu.net>
83371         test-c-stack: avoid C99-ism
83372         * tests/test-c-stack.c (main): Fix whitespace, move declaration
83373         before statement.
83374         Reported by Alain Guibert.
83376 2008-08-10  Jim Meyering  <meyering@redhat.com>
83378         ensure that return value of uinttostr et al are not ignored
83379         * lib/inttostr.h (__GNUC_PREREQ): Define.
83380         (__attribute_warn_unused_result__): Define.
83381         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
83383 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
83385         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
83386         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
83388 2008-08-07  Jim Meyering  <meyering@redhat.com>
83390         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
83392         * modules/mkstemp (License): Relicense under LGPLv2+.
83393         * modules/tempname (License): Likewise.
83395 2008-08-06  Bruno Haible  <bruno@clisp.org>
83397         * lib/poll.c (poll): Further micro-optimization.
83399 2008-08-06  Jim Meyering  <meyering@redhat.com>
83401         inet_pton.c: use locale-independent tolower
83402         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
83403         (inet_pton6): Use c_tolower rather than tolower.
83404         * modules/inet_pton (Depends-on): Add c-ctype.
83406 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
83408         * lib/poll.c (poll): Avoid division when timeout is 0, cache
83409         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
83411 2008-08-06  Jim Meyering  <meyering@redhat.com>
83413         * modules/inet_pton (License): Relicense under LGPLv2+.
83415 2008-08-03  Bruno Haible  <bruno@clisp.org>
83417         Additional non-aborting API for lock and tls.
83418         * lib/lock.h: Include <errno.h>.
83419         (glthread_lock_init): New macro/function.
83420         (gl_lock_init): Define as wrapper around glthread_lock_init.
83421         (glthread_lock_lock): New macro/function.
83422         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
83423         (glthread_lock_unlock): New macro/function.
83424         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
83425         (glthread_lock_destroy): New macro/function.
83426         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
83427         (glthread_rwlock_init): New macro/function.
83428         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
83429         (glthread_rwlock_rdlock): New macro/function.
83430         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
83431         (glthread_rwlock_wrlock): New macro/function.
83432         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
83433         (glthread_rwlock_unlock): New macro/function.
83434         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
83435         (glthread_rwlock_destroy): New macro/function.
83436         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
83437         (glthread_recursive_lock_init): New macro/function.
83438         (gl_recursive_lock_init): Define as wrapper around
83439         glthread_recursive_lock_init.
83440         (glthread_recursive_lock_lock): New macro/function.
83441         (gl_recursive_lock_lock): Define as wrapper around
83442         glthread_recursive_lock_lock.
83443         (glthread_recursive_lock_unlock): New macro/function.
83444         (gl_recursive_lock_unlock): Define as wrapper around
83445         glthread_recursive_lock_unlock.
83446         (glthread_recursive_lock_destroy): New macro/function.
83447         (gl_recursive_lock_destroy): Define as wrapper around
83448         glthread_recursive_lock_destroy.
83449         (glthread_once): New macro/function.
83450         (gl_once): Define as wrapper around glthread_once.
83451         Update function declarations.
83452         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
83453         glthread_rwlock_init. Return error code.
83454         (glthread_rwlock_rdlock_multithreaded): Renamed from
83455         glthread_rwlock_rdlock. Return error code.
83456         (glthread_rwlock_wrlock_multithreaded): Renamed from
83457         glthread_rwlock_wrlock. Return error code.
83458         (glthread_rwlock_unlock_multithreaded): Renamed from
83459         glthread_rwlock_unlock. Return error code.
83460         (glthread_rwlock_destroy_multithreaded): Renamed from
83461         glthread_rwlock_destroy. Return error code.
83462         (glthread_recursive_lock_init_multithreaded): Renamed from
83463         glthread_recursive_lock_init. Return error code.
83464         (glthread_recursive_lock_lock_multithreaded): Renamed from
83465         glthread_recursive_lock_lock. Return error code.
83466         (glthread_recursive_lock_unlock_multithreaded): Renamed from
83467         glthread_recursive_lock_unlock. Return error code.
83468         (glthread_recursive_lock_destroy_multithreaded): Renamed from
83469         glthread_recursive_lock_destroy. Return error code.
83470         (glthread_once_call): Make static.
83471         (glthread_once_multithreaded): Renamed from glthread_once.
83472         * lib/tls.h: Include <errno.h>.
83473         (glthread_tls_key_init): New macro/function.
83474         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
83475         (glthread_tls_set): New macro/function.
83476         (gl_tls_set): Define as wrapper around glthread_tls_set.
83477         (glthread_tls_key_destroy): New macro/function.
83478         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
83479         Update function declarations.
83480         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
83481         glthread_tls_get.
83482         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
83484 2008-08-04  Eric Blake  <ebb9@byu.net>
83486         gnumakefile: use space, not TAB, outside of targets
83487         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
83489 2008-08-02  Jim Meyering  <meyering@redhat.com>
83491         getdate.y: avoid locale-dependent date parsing failure
83492         In Turkish locales, getdate would fail to recognize keywords
83493         containing a lowercase "i".  The solution is not to rely on
83494         locale-sensitive case-conversion.
83495         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
83496         (lookup_word): Use c_toupper in place of toupper.
83497         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
83498         Reported by Vefa Bicakci <bicave@superonline.com> in
83499         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
83500         * modules/getdate (Depends-on): Add c-ctype.
83502 2008-08-02  Bruno Haible  <bruno@clisp.org>
83504         * gnulib-tool (func_import): When updating or creating a .gitignore
83505         file, prepend each added line with a slash, and ignore leading slashes
83506         from the existing lines.
83507         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
83509 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83511         Portability fix for GNU make 3.79.1.
83512         * top/GNUmakefile: Avoid 'else COND', which older GNU make
83513         versions do not understand.
83515 2008-08-01  Bruno Haible  <bruno@clisp.org>
83517         Work around bug of HP-UX 10.20 cc with -0.0 literal.
83518         * tests/test-isnanf.h (zero): New variable.
83519         (main): Avoid literal -0.0f.
83520         * tests/test-isnand.h (zero): New variable.
83521         (main): Avoid literal -0.0.
83522         * tests/test-isnanl.h (zero): New variable.
83523         (main): Avoid literal -0.0L.
83524         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
83525         (test_float, test_double, test_long_double): Avoid literals -0.0f,
83526         -0.0, -0.0L.
83527         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
83528         (test_signbitd): Avoid literal -0.0.
83529         (test_signbitl): Avoid literal -0.0L.
83530         * tests/test-ceilf1.c (zero): New variable.
83531         (main): Avoid literal -0.0f.
83532         * tests/test-ceill.c (zero): New variable.
83533         (main): Avoid literal -0.0L.
83534         * tests/test-floorf1.c (zero): New variable.
83535         (main): Avoid literal -0.0f.
83536         * tests/test-floorl.c (zero): New variable.
83537         (main): Avoid literal -0.0L.
83538         * tests/test-roundf1.c (zero): New variable.
83539         (main): Avoid literal -0.0f.
83540         * tests/test-round1.c (zero): New variable.
83541         (main): Avoid literal -0.0.
83542         * tests/test-roundl.c (zero): New variable.
83543         (main): Avoid literal -0.0L.
83544         * tests/test-truncf1.c (zero): New variable.
83545         (main): Avoid literal -0.0f.
83546         * tests/test-trunc1.c (zero): New variable.
83547         (main): Avoid literal -0.0.
83548         * tests/test-truncl.c (zero): New variable.
83549         (main): Avoid literal -0.0L.
83550         * tests/test-frexp.c (zero): New variable.
83551         (main): Avoid literal -0.0.
83552         * tests/test-frexpl.c (zero): New variable.
83553         (main): Avoid literal -0.0L.
83554         * tests/test-ldexpl.c (zero): New variable.
83555         (main): Avoid literal -0.0L.
83556         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
83557         (zerod, zerol): New variables.
83558         (test_function): Avoid literals -0.0, -0.0L.
83559         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
83560         (zerod, zerol): New variables.
83561         (test_function): Avoid literals -0.0, -0.0L.
83562         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
83563         (zerod, zerol): New variables.
83564         (test_function): Avoid literals -0.0, -0.0L.
83565         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
83566         (zerod, zerol): New variables.
83567         (test_function): Avoid literals -0.0, -0.0L.
83568         * tests/test-strtod.c (zero): New variable.
83569         (main): Avoid literal -0.0.
83570         Reported by Jonathan C. Patschke <jp@centtech.com>.
83572 2008-07-31  Jim Meyering  <meyering@redhat.com>
83574         sha256.h: correct definition of SHA224_DIGEST_SIZE
83575         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
83576         Reported by Paulie Pena IV <paulie4@gmail.com>.
83577         Define as 224 / 8, rather than as a literal.
83578         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
83579         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
83580         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
83582 2008-07-31  Bruno Haible  <bruno@clisp.org>
83584         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
83585         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
83586         Reported by Jonathan Patschke <jp@centtech.com>.
83588 2008-07-31  Bruno Haible  <bruno@clisp.org>
83590         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
83591         Reported by Paolo Bonzini <bonzini@gnu.org>.
83593 2008-07-30  Eric Blake  <ebb9@byu.net>
83595         test-strtod: allow compilation without -lm
83596         * tests/test-strtod.c (main): Avoid link dependence on fabs.
83597         Reported by Dennis Clarke <blastwave@gmail.com>.
83599 2008-07-28  Jim Meyering  <meyering@redhat.com>
83601         bootstrap: work also when there are no .po files in po/
83602         * build-aux/bootstrap (update_po_files): Complete the change
83603         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
83605 2008-07-27  Jim Meyering  <meyering@redhat.com>
83607         * users.txt: Add zile.
83609 2008-07-26  Ben Pfaff  <blp@gnu.org>
83611         Add missing dependencies on new m4/exponent[fdl].m4 files.
83612         * modules/isnanf-nolibm: Add m4/exponentf.m4.
83613         * modules/isnand-nolibm: Add m4/exponentd.m4.
83614         * modules/isnanl-nolibm: Add m4/exponentl.m4.
83615         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
83616         m4/isnan[fdl].m4, because the macros actually used moved.
83617         Reported by Jim Meyering.
83619 2008-07-14  Ben Pfaff  <blp@gnu.org>
83621         Add isinf module.
83622         * lib/isinf.c: New file.
83623         * lib/math.in.h: Define isinf macro if we have decided to replace
83624         it.
83625         * m4/isinf.m4: New file.
83626         * m4/math_h.m4: Initialize and substitute variables for isinf
83627         module.
83628         * modules/isinf: New file.
83629         * modules/isinf-tests: New file.
83630         * modules/math: Add substitutions for new module.
83631         * tests/test-isinf.c: New file.
83632         * doc/posix-functions/isinf.texi: Mention new module.
83633         * MODULES.html.sh: Mention new module.
83635 2008-07-14  Ben Pfaff  <blp@gnu.org>
83637         Factor out some macros for use by additional modules.
83638         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
83639         exponentf.m4.
83640         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
83641         exponentd.m4.
83642         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
83643         file exponentl.m4.
83644         * m4/exponentf.m4: New file.
83645         * m4/exponentd.m4: New file.
83646         * m4/exponentl.m4: New file.
83647         * modules/isnanf: Use new file m4/exponentf.m4.
83648         * modules/isnand: Use new file m4/exponentd.m4.
83649         * modules/isnanl: Use new file m4/exponentl.m4.
83651 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
83653         mktime.c: normalize tp->tm_isdst value to -1/0/1.
83654         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
83655         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
83656         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
83658         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
83659         readlink on platforms without PATH_MAX.
83661 2008-07-21  Eric Blake  <ebb9@byu.net>
83663         Warn, not fail, on stale version.
83664         * top/GNUmakefile (_curr-ver): Tone down previous patch.
83666         Don't allow installation with stale devel version number.
83667         * top/GNUmakefile (_is-install-target): New macro.
83668         (_curr-ver): Forbid installation with stale version number.
83670 2008-07-20  Bruno Haible  <bruno@clisp.org>
83672         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
83673         TESTS_ENVIRONMENT.
83674         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
83676 2008-07-20  Bruno Haible  <bruno@clisp.org>
83678         * lib/c-stack.h (c_stack_action): Add documentation.
83679         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
83681 2008-07-20  Bruno Haible  <bruno@clisp.org>
83683         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
83684         * modules/readlink (License): Likewise.
83686 2008-07-17  Eric Blake  <ebb9@byu.net>
83688         * modules/c-stack (Link): Fix typo.
83690         Make c-stack use libsigsegv, when available.
83691         * modules/c-stack (Depends-on): Add libsigsegv.
83692         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
83693         needed.
83694         * lib/c-stack.c (SIGSTKSZ): Define fallback.
83695         (segv_handler, overflow_handler, c_stack_action)
83696         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
83697         implementation when libsigsegv is available, but only when using
83698         the library is necessary.
83699         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
83700         comment, explaining why XSI check fails on Linux.
83701         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
83702         * tests/test-c-stack2.sh: Tweak skip message.
83703         * NEWS: Document new link-time requirements.
83705 2008-07-16  Eric Blake  <ebb9@byu.net>
83707         c-stack: Expose false positives when not using libsigsegv.
83708         * modules/c-stack-tests (Files): Expand test.
83709         * tests/test-c-stack.c (main): Add means to conditionally trigger
83710         non-overflow SIGSEGV.
83711         * tests/test-c-stack2.sh: New file.
83713 2008-07-14  Bruno Haible  <bruno@clisp.org>
83715         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
83716         Reported by Eric Blake.
83718 2008-07-14  Sam Steingold  <sds@gnu.org>
83719             Bruno Haible  <bruno@clisp.org>
83721         New module libsigsegv.
83722         * modules/libsigsegv: New file.
83723         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
83724         modifications.
83725         * MODULES.html.sh (Signal handling): New section.
83727 2008-07-14  Bruno Haible  <bruno@clisp.org>
83729         * modules/unictype/ctype-* (Description): Add the word "function".
83730         Improves the resulting doc in MODULES.html.
83732 2008-07-12  Ben Pfaff  <blp@gnu.org>
83734         Add longlong module.
83735         * modules/longlong: New file.
83737 2008-07-12  Bruno Haible  <bruno@clisp.org>
83739         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
83740         to empty.
83742 2008-07-10  Ben Pfaff  <blp@gnu.org>
83744         Add isnan module.
83745         * doc/posix-functions/isnan.texi: Mention new module.
83746         * lib/math.in.h: Define isnan macro if we have decided to replace
83747         it.
83748         * m4/isnan.m4: New file.
83749         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
83750         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
83751         also.
83752         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
83753         redundancy.
83754         * m4/math_h.m4: Initialize and substitute variables for isnan
83755         module.
83756         * modules/isnan: New file.
83757         * modules/isnan-tests: New file.
83758         * modules/math: Add substitutions for new module.
83759         * tests/test-isnan.c: New file.
83760         * MODULES.html.sh: Mention new module.
83762 2008-07-10  Ben Pfaff  <blp@gnu.org>
83764         Add isnanf module.
83765         * lib/isnanf.m4: New file.
83766         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
83767         (gl_HAVE_ISNANF_IN_LIBM): New macro.
83768         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
83769         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
83770         * modules/isnanf: New file.
83771         * modules/isnanf-tests: New file.
83772         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
83773         files.
83774         * tests/test-isnanf-nolibm.c: factored most of its contents into
83775         new file tests/test-isnanf.h.
83776         * tests/test-isnanf.h: New file.
83777         * tests/test-isnanf.c: New file.
83778         * MODULES.html.sh: Mention new module.
83779         * doc/glibc-functions/isnanf.texi: Mention new module.
83781 2008-07-10  Ben Pfaff  <blp@gnu.org>
83783         Add isnand module.
83784         * lib/isnand.h: New file.
83785         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
83786         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
83787         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
83788         functionality also.
83789         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
83790         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
83791         (gl_HAVE_ISNAND_IN_LIBM): New macro.
83792         * modules/isnand: New file.
83793         * modules/isnand-tests: New file.
83794         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
83795         files.
83796         * tests/test-isnand-nolibm.c: factored most of its contents into
83797         new file tests/test-isnand.h.
83798         * tests/test-isnand.h: New file.
83799         * tests/test-isnand.c: New file.
83800         * MODULES.html.sh: Mention new module.
83802 2008-07-10  Ben Pfaff  <blp@gnu.org>
83804         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
83805         * lib/isnand.h: Rename lib/isnand-nolibm.h.
83806         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
83807         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
83808         * modules/isnanf-nolibm: Update references to renamed files.
83809         * modules/isnand-nolibm: Likewise.
83810         * modules/isnanf-nolibm-tests: Likewise.
83811         * modules/isnand-nolibm-tests: Likewise.
83812         * lib/frexp.c: Likewise.
83813         * lib/isfinite.c: Likewise.
83814         * lib/signbitd.c: Likewise.
83815         * lib/signbitf.c: Likewise.
83816         * lib/vasnprintf.c: Likewise.
83817         * tests/test-ceilf1.c: Likewise.
83818         * tests/test-ceilf2.c: Likewise.
83819         * tests/test-floorf1.c: Likewise.
83820         * tests/test-floorf2.c: Likewise.
83821         * tests/test-frexp.c: Likewise.
83822         * tests/test-round1.c: Likewise.
83823         * tests/test-round2.c: Likewise.
83824         * tests/test-roundf1.c: Likewise.
83825         * tests/test-strtod.c: Likewise.
83826         * tests/test-trunc1.c: Likewise.
83827         * tests/test-trunc2.c: Likewise.
83828         * tests/test-truncf1.c: Likewise.
83829         * tests/test-truncf2.c: Likewise.
83830         * NEWS: Mention the renamed header files.
83832 2008-07-11  Jim Meyering  <meyering@redhat.com>
83834         vc-list-files: make the last-resort awk code more portable
83835         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
83836         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
83837         does not support it.
83839 2008-07-10  Eric Blake  <ebb9@byu.net>
83841         Work with tar's bootstrap.
83842         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
83843         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
83844         an m4 comment.
83846 2008-07-09  Jim Meyering  <meyering@redhat.com>
83848         posix-shell.m4: fix typo that made this test malfunction
83849         * m4/posix-shell.m4: Remove capitalization in variable name.
83851 2008-07-08  Bruno Haible  <bruno@clisp.org>
83853         * m4/onceonly.m4: Update comments.
83854         Reported by Ben Pfaff <blp@cs.stanford.edu>.
83856 2008-07-04  Jim Meyering  <meyering@redhat.com>
83858         * users.txt: Add vc-dwim.
83859         (bison, coreutils): Use the gitweb URL.
83861 2008-07-03  Jim Meyering  <meyering@redhat.com>
83863         * users.txt: Add libffcall.  From Sam Steingold.
83865 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
83867         getdate.y: do not ignore TZ with relative day, month or year offset
83868         * lib/getdate.y (get_date): Move the tz-handling block to follow the
83869         relative-date-handling, since otherwise, the latter would clobber the
83870         sole output (an updated Start value) of the tz-handling block.
83871         * tests/test-getdate.c: Tests for the fix
83873 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83875         Recognize 'foo_LIBRARIES += libgnu.a'.
83876         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
83877         makefile snippet has already specified an installation location,
83878         also using '+='.
83880 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
83882         getdate.y: factor out common actions
83883         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
83884         Use them in place of open-coded actions.
83886 2008-07-01  Simon Josefsson  <simon@josefsson.org>
83888         Add self-test for getdate module.
83889         * modules/getdate-tests: New file.
83890         * tests/test-getdate.c: New file.
83892 2008-06-29  Bruno Haible  <bruno@clisp.org>
83894         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
83895         .gitignore.
83896         Reported by Sylvain Beucler <beuc@beuc.net>.
83898 2008-06-29  Bruno Haible  <bruno@clisp.org>
83900         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
83901         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
83903 2008-06-29  Bruno Haible  <bruno@clisp.org>
83905         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
83906         EXTRA_DIST.
83907         Reported by Sylvain Beucler <beuc@beuc.net>.
83909 2008-06-26  Jim Meyering  <meyering@redhat.com>
83911         make several modules depend on the "open" module
83912         This provides slightly increased consistency when opening-for-write
83913         the name of a non-directory spelled with a trailing slash.
83914         * modules/chdir-safer: Likewise.
83915         * modules/chown: Likewise.
83916         * modules/clean-temp: Likewise.
83917         * modules/copy-file: Likewise.
83918         * modules/fchdir: Likewise.
83919         * modules/fcntl-safer: Likewise.
83920         * modules/pipe: Likewise.
83921         * modules/utime: Likewise.
83922         Prompted by Eric Blake and Bruno Haible.
83924 2008-06-24  Andreas Schwab  <schwab@suse.de>
83926         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
83927         literals can be used as initializers for global variables.
83929 2008-06-23  Eric Blake  <ebb9@byu.net>
83931         Make gnulib-cache.m4 easier to diff.
83932         * gnulib-tool (func_import): Allow newlines when reading cached
83933         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
83935 2008-06-23  Bruno Haible  <bruno@clisp.org>
83937         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
83938         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
83939         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
83940         m4/signalblocking.m4.
83941         (gl_PREREQ_SIGACTION): Don't invoke it.
83942         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
83943         gl_PREREQ_SIG_HANDLER_H.
83944         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
83945         Don't check for sigaction here.
83947 2008-06-23  Bruno Haible  <bruno@clisp.org>
83949         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
83950         (install_handlers): Don't set the SA_RESETHAND flag.
83952 2008-06-23  Bruno Haible  <bruno@clisp.org>
83954         * m4/sigaction.m4: Comment fixes.
83955         * lib/signal.in.h: Likewise.
83957 2008-06-23  Eric Blake  <ebb9@byu.net>
83959         Fix typo.
83960         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
83962         Avoid SA_ namespace.
83963         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
83964         Reported by Ralf Wildenhues.
83966         Avoid test failure due to SA_RESTORER.
83967         * tests/test-sigaction.c (SA_MASK): New macro.
83968         (main): Avoid failing due to extension flags being set.
83969         Reported by Jim Meyering.
83971         Revert use of sig-handler.h in sigprocmask.c.
83972         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
83973         it requires the existence of struct sigaction.
83974         * lib/sigprocmask.c (handler_t): Restore typedef.
83975         (rpl_signal, old_handlers): Use local type.
83977 2008-06-22  Bruno Haible  <bruno@clisp.org>
83979         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
83980         conditionally.
83981         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
83983 2008-06-22  Bruno Haible  <bruno@clisp.org>
83985         * doc/posix-functions/siginterrupt.texi: Move note.
83987         * lib/signal.in.h (SA_RESTART): New macro.
83988         * lib/sigaction.c: Update comment.
83990         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
83992         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
83993         (gl_PREREQ_SIGPROCMASK): Invoke it.
83994         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
83996         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
83998         * lib/sigprocmask.c: Update a comment.
84000 2008-06-21  Eric Blake  <ebb9@byu.net>
84002         Use sigaction module rather than signal().
84003         * modules/c-stack (Depends-on): Add sigaction.
84004         * modules/fatal-signal (Depends-on): Likewise.
84005         * modules/nanosleep (Depends-on): Likewise.
84006         * modules/sigprocmask (Files): Add sig-handler.h.
84007         * modules/sigaction (Files): Likewise.
84008         * lib/sig-handler.h (get_handler): New file, suggested by Paul
84009         Eggert.
84010         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
84011         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
84012         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
84013         (init_fatal_signals): Likewise.
84014         * lib/nanosleep.c (rpl_nanosleep): Likewise.
84015         (siginterrupt): Delete fallback.
84016         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
84017         instead.
84018         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
84019         siginterrupt.
84021         New module sigaction, for mingw.
84022         * modules/sigaction: New module...
84023         * modules/sigaction-tests: ...and its test.
84024         * m4/sigaction.m4: New file.
84025         * lib/sigaction.c: Likewise.
84026         * tests/test-sigaction.c: Likewise.
84027         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
84028         * modules/signal (Makefile.am): Likewise.
84029         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
84030         needed.
84031         * doc/posix-headers/signal.texi (signal.h): Mention provided
84032         types.
84033         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
84034         that sigaction is preferable.
84035         * doc/posix-functions/sigaction.texi (sigaction): Mention new
84036         module.
84037         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84038         sigaction.
84040         Improve robustness of sigprocmask by overriding signal.
84041         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
84042         is in use.
84043         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
84044         (SIGKILL, SIGSTOP): Provide fallbacks.
84045         (rpl_signal): Implement.
84046         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
84047         signal can be called inside handlers.
84049         Fix nanosleep module on mingw.
84050         * modules/nanosleep (Depends-on): Add sys_select.
84051         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
84053         Fix licensing of sigprocmask.
84054         * modules/raise (License): Relicense as LGPL.
84056 2008-06-21  Bruno Haible  <bruno@clisp.org>
84058         * lib/propername.c (proper_name_utf8): Don't use the transliterated
84059         result if it contains question marks.
84060         Reported by Michael Geng <linux@michaelgeng.de>.
84062 2008-06-19  Bruno Haible  <bruno@clisp.org>
84064         Fix CVS-ism.
84065         * doc/gnulib.texi: Include updated-stamp.texi.
84066         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
84067         (updated-stamp.texi): New rule.
84068         (gnulib.info): Depend on it.
84069         * doc/.gitignore: Add updated-stamp.texi.
84070         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
84072 2008-06-19  Bruno Haible  <bruno@clisp.org>
84074         * doc/Makefile (gnulib.info): Update and simplify dependencies.
84075         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
84077 2008-06-19  Eric Blake  <ebb9@byu.net>
84079         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
84080         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
84081         Reported by Stepan Kasal.
84083 2008-06-18  Bruno Haible  <bruno@clisp.org>
84085         * lib/fatal-signal.c (init_fatal_signals): Add comment.
84086         Reported by Eric Blake.
84088 2008-06-18  Eric Blake  <ebb9@byu.net>
84090         Work around cygwin 1.5.25 strsignal bug.
84091         * tests/test-strsignal.c: Allow for const char *.
84092         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
84094 2008-06-18  Simon Josefsson  <simon@josefsson.org>
84096         * users.txt: Update URL to article and add author/date
84097         information.
84099 2008-06-17  Bruno Haible  <bruno@clisp.org>
84101         New macro gl_DISABLE_THREADS.
84102         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
84103         if the user did not pass --enable-threads or --disable-threads option.
84104         (gl_DISABLE_THREADS): New macro.
84105         Reported by Eric Blake <ebb9@byu.net>.
84107 2008-06-17  Bruno Haible  <bruno@clisp.org>
84109         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
84110         when the macro ignores it.
84111         Based on a patch by Eric Blake <ebb9@byu.net>.
84113 2008-06-17  Bruno Haible  <bruno@clisp.org>
84115         * modules/tls (License): Change to LGPLv2+.
84116         Reported by Eric Blake.
84118 2008-06-17  Eric Blake  <ebb9@byu.net>
84120         Simplify c-stack prerequisites.
84121         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
84122         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
84123         no longer requires <ucontext.h> to exist.  Optimize setrlimit
84124         check.
84125         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
84126         <sys/resource.h>.
84128         Move c-stack test into testsuite.
84129         * modules/c-stack-tests: New file.
84130         * lib/c-stack.c [DEBUG]: Move test program...
84131         * tests/test-c-stack.c: ...into this new file.  Skip rather than
84132         fail test if sigaltstack is lacking.
84133         * tests/test-c-stack.sh: New driver file.
84135 2008-06-16  Eric Blake  <ebb9@byu.net>
84137         Use raise module consistently.
84138         * modules/fatal-signal (Depends-on): Add raise.
84139         * modules/sigprocmask (Depends-on): Likewise.
84140         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
84141         * lib/sigprocmask.c (sigprocmask): Likewise.
84142         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
84143         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
84145         Fix compliance bug in sigpending.
84146         * lib/sigprocmask.c (sigpending): Return pending array via
84147         parameter, not return value.
84149 2008-06-14  Eric Blake  <ebb9@byu.net>
84151         Improve obstack-printf test code.
84152         * tests/test-obstack-printf.c (test_function): Fix comment, and
84153         simplify usage of obstack_* in macros.  Add a test for coverage.
84154         Reported by Bruno Haible.
84156 2008-06-14  Bruno Haible  <bruno@clisp.org>
84158         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
84159         array size as a constant, not as a const variable.
84160         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
84161         AC_USE_SYSTEM_EXTENSIONS.
84162         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
84163         Test whether the obstack_printf function actually exists.
84164         * modules/obstack-printf (Depends-on): Add extensions.
84165         (Include): Remove obstack.h.
84166         * modules/obstack-printf-posix (Depends-on): Add extensions.
84167         (Include): Remove obstack.h.
84169 2008-06-13  Eric Blake  <ebb9@byu.net>
84171         Add obstack-printf and obstack-printf-posix modules.
84172         * modules/obstack-printf: New file.
84173         * modules/obstack-printf-posix: Likewise.
84174         * MODULES.html.sh (Misc): Mention them.
84175         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
84176         Likewise.
84177         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
84178         Likewise.
84179         * modules/stdio (Makefile.am): Accomodate new modules.
84180         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
84181         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
84182         Declare.
84183         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
84184         functions.
84185         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
84186         (gl_REPLACE_OBSTACK_PRINTF): New macros
84187         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
84188         * tests/test-obstack-printf.c: New file.
84189         * modules/obstack-printf-tests: Likewise.
84190         * modules/obstack-printf-posix-tests: Likewise.
84192 2008-06-11  Bruno Haible  <bruno@clisp.org>
84194         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
84195         * lib/open.c: Include errno.h.
84196         (open): Fail when attempting to write to a file that has a trailing
84197         slash.
84198         * tests/test-open.c (main): Test against trailing slash bug.
84199         * doc/posix-functions/open.texi: Mention the trailing slash bug.
84201 2008-06-10  Bruno Haible  <bruno@clisp.org>
84203         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
84204         for $? to work inside the trap command, with various /bin/sh-s.
84205         * tests/test-vc-list-files-cvs.sh: Likewise.
84207 2008-06-10  Bruno Haible  <bruno@clisp.org>
84209         * lib/acl-internal.h: Don't include gettext.h here.
84210         * lib/set-mode-acl.c: Include gettext.h here.
84211         * lib/copy-acl.c: Likewise.
84213 2008-06-10  Bruno Haible  <bruno@clisp.org>
84215         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
84216         * lib/wait-process.c (wait_subprocess): Likewise.
84217         * lib/execute.h (execute): Add termsigp argument.
84218         * lib/execute.c (execute): Likewise.
84219         * lib/csharpcomp.c (compile_csharp_using_pnet,
84220         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
84221         * lib/csharpexec.c (execute_csharp_using_pnet,
84222         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
84223         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
84224         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
84225         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
84226         is_jikes_present): Update.
84227         * lib/javaexec.c (execute_java_class): Update.
84228         * lib/javaversion.c (execute_and_read_line): Update.
84229         * NEWS: Document the changes.
84230         Reported by Eric Blake.
84232 2008-06-10  Eric Blake  <ebb9@byu.net>
84234         Add missing include.
84235         * tests/test-strstr.c (includes): Add <signal.h>.
84236         * tests/test-strcasestr.c (includes): Likewise.
84237         * tests/test-memmem.c (includes): Likewise.
84239 2008-06-10  Bruno Haible  <bruno@clisp.org>
84241         * lib/wait-process.c (wait_subprocess): Add an assertion.
84243 2008-06-10  Bruno Haible  <bruno@clisp.org>
84245         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
84247 2008-06-10  Bruno Haible  <bruno@clisp.org>
84249         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
84250         using alarm().
84251         * tests/test-strcasestr.c (main): Likewise.
84252         * tests/test-strstr.c (main): Likewise.
84254 2008-06-09  Bruno Haible  <bruno@clisp.org>
84256         Work around the Solaris 10 ACE ACLs ABI change.
84257         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
84258         declare if ACL_NO_TRIVIAL is present.
84259         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
84260         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
84261         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
84262         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
84263         define if ACL_NO_TRIVIAL is present.
84264         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
84265         and use the current ABI.
84266         (file_has_acl): Use same #if condition as elsewhere.
84267         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
84268         in use, and use the current ABI.
84269         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
84270         Reported by Jim Meyering.
84272 2008-06-09  Eric Blake  <ebb9@byu.net>
84274         Work around environments that (stupidly) ignore SIGALRM.
84275         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
84276         before using alarm().
84277         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
84278         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
84279         Reported by Ian Beckwith <ianb@erislabs.net>.
84281         Produce autobuild blurb earlier in log.
84282         * modules/autobuild (configure.ac-early): Move AB_INIT here.
84284 2008-06-09  Jim Meyering  <meyering@redhat.com>
84285         and Ondřej Vašík  <ovasik@redhat.com>
84287         utimens.c: correct kernel bug work-around
84288         Ondřej Vašík found that the invalid return value of 280 indicates
84289         failure, not success, and the kernel bug we're trying to work
84290         around affects not just the utimensat call, but also the fallback
84291         futimens call.
84292         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
84293         not success.
84294         [HAVE_FUTIMENS]: Use the same work-around, here.
84296 2008-06-09  Jim Meyering  <meyering@redhat.com>
84298         add more guards around definition of ACE_-related code
84299         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
84300         ALLOW and ACE_OWNER are also defined.
84302 2008-06-08  Bruno Haible  <bruno@clisp.org>
84304         * lib/acl-internal.h: Add me as co-author.
84305         * lib/file-has-acl.c: Likewise.
84306         * lib/set-mode-acl.c: Likewise.
84307         * lib/copy-acl.c: Likewise.
84309 2008-06-08  Bruno Haible  <bruno@clisp.org>
84311         Add support for AIX ACLs.
84312         * lib/acl-internal.h (acl_nontrivial): New declaration.
84313         * lib/file-has-acl.c (acl_nontrivial): New function.
84314         (file_has_acl): Add implementation using AIX 4 ACL API.
84315         * lib/set-mode-acl.c (qset_acl): Likewise.
84316         * lib/copy-acl.c (qcopy_acl): Likewise.
84318 2008-06-08  Bruno Haible  <bruno@clisp.org>
84320         Add support for HP-UX ACLs.
84321         * lib/acl-internal.h (acl_nontrivial): New declaration.
84322         * lib/file-has-acl.c (acl_nontrivial): New function.
84323         (file_has_acl): Add implementation using HP-UX 11 ACL API.
84324         * lib/set-mode-acl.c (qset_acl): Likewise.
84325         * lib/copy-acl.c (qcopy_acl): Likewise.
84327 2008-06-08  Bruno Haible  <bruno@clisp.org>
84329         Add support for Cygwin ACLs.
84330         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
84331         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
84332         the chmod_or_fchmod call.
84333         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
84335 2008-06-08  Bruno Haible  <bruno@clisp.org>
84337         Fix bug with setuid modes in Solaris 10+ code.
84338         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
84339         succeeded, when the mode contains some special bits.
84341 2008-06-08  Bruno Haible  <bruno@clisp.org>
84343         Add support for Solaris 7..10 ACLs.
84344         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
84345         declarations.
84346         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
84347         functions.
84348         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
84349         * lib/set-mode-acl.c (qset_acl): Likewise.
84350         * lib/copy-acl.c (qcopy_acl): Likewise.
84352 2008-06-08  Bruno Haible  <bruno@clisp.org>
84354         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
84355         declaration.
84356         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
84357         (acl_access_nontrivial): Remove MacOS X case.
84358         (file_has_acl): Use acl_extended_nontrivial.
84359         * lib/copy-acl.c (qcopy_acl): Likewise.
84361 2008-06-08  Bruno Haible  <bruno@clisp.org>
84363         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
84365 2008-06-08  Jim Meyering  <meyering@redhat.com>
84367         * modules/acl (Maintainer): Add Bruno Haible.
84369 2008-06-07  Bruno Haible  <bruno@clisp.org>
84371         Improve support for Tru64 ACLs.
84372         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
84373         ACL on OSF/1.
84375 2008-06-07  Bruno Haible  <bruno@clisp.org>
84377         Add support for MacOS X ACLs.
84378         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
84379         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
84380         * lib/set-mode-acl.c (qset_acl): Likewise.
84381         * lib/copy-acl.c (qcopy_acl): Likewise.
84383 2008-06-07  Bruno Haible  <bruno@clisp.org>
84385         Fix memory leak introduced on 2008-05-22.
84386         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
84387         use.
84389 2008-06-07  Bruno Haible  <bruno@clisp.org>
84391         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
84392         to construct an empty ACL.
84394 2008-06-07  Bruno Haible  <bruno@clisp.org>
84396         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
84397         precisely.
84398         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
84400 2008-06-07  Bruno Haible  <bruno@clisp.org>
84402         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
84403         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
84405 2008-06-07  Bruno Haible  <bruno@clisp.org>
84407         * doc/posix-functions/_setjmp.texi: Explain the use of this function
84408         regardless of POSIX.
84409         * doc/posix-functions/_longjmp.texi: Likewise.
84410         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
84411         SystemV platform in this case.
84413 2008-06-06  Eric Blake  <ebb9@byu.net>
84415         Document abort() bugs.
84416         * doc/posix-functions/abort.texi (abort): Mention anomalies.
84418         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
84419         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
84420         sigsetjmp.
84421         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
84422         siglongjmp, but only as a macro.
84423         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
84424         is obsolete.
84425         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
84427         Tweak documentation to cover cygwin argz bugs.
84428         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
84429         argz bug fix; no code change needed since no cygwin releases
84430         occurred between the last fix and the bug being tested.
84431         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
84432         module and recently fixed cygwin bugs.
84433         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
84434         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
84435         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
84436         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
84437         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
84438         Likewise.
84439         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
84440         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
84441         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
84442         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
84443         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
84444         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
84445         Likewise.
84447         Avoid gcc warning on cygwin.
84448         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
84449         !ACL_NO_TRIVIAL]: Avoid unused variable.
84451 2008-06-05  Eric Blake  <ebb9@byu.net>
84453         Be tolerant of UNKNOWN version in gnulib-tool test dir.
84454         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
84455         git-version-gen fails to come up with a version.
84456         Reported by Simon Josefsson.
84458 2008-06-05  Jim Meyering  <meyering@redhat.com>
84459             Paul Eggert  <eggert@cs.ucla.edu>
84461         utimens.c: work around a probable Linux kernel bug
84462         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
84463         appears to be a kernel bug that causes utimensat to return 280
84464         instead of 0, indicating success.
84466 2008-06-04  Bruno Haible  <bruno@clisp.org>
84468         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
84469         2008-06-01 commit.
84471 2008-06-04  Bruno Haible  <bruno@clisp.org>
84473         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
84474         * lib/file-has-acl.c (acl_access_nontrivial): New function.
84475         (file_has_acl): Use it. Save errno afterwards.
84476         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
84478 2008-06-03  Bruno Haible  <bruno@clisp.org>
84480         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
84481         draft code. Simplify #ifs.
84482         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
84483         Put Solaris code after POSIX-draft code. Fix comments regarding
84484         Solaris 10, HP-UX. Mention Cygwin.
84485         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
84487 2008-06-03  Eric Blake  <ebb9@byu.net>
84489         Provide fallback for older kernels.
84490         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
84491         Provide runtime fallback if kernel lacks support.
84492         Reported by Mike Frysinger.
84494 2008-06-02  Bruno Haible  <bruno@clisp.org>
84496         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
84497         it exists.
84499 2008-06-02  Bruno Haible  <bruno@clisp.org>
84501         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
84502         * lib/copy-acl.c (qcopy_acl): Update comment.
84504 2008-06-02  Bruno Haible  <bruno@clisp.org>
84506         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
84507         like ACL APIs.
84509 2008-06-02  Bruno Haible  <bruno@clisp.org>
84511         * tests/test-file-has-acl.sh: Use different code for Cygwin.
84512         * tests/test-set-mode-acl.sh: Likewise.
84513         * tests/test-copy-acl.sh: Likewise.
84514         * tests/test-copy-file.sh: Likewise.
84516 2008-06-02  Bruno Haible  <bruno@clisp.org>
84518         * tests/test-file-has-acl.sh: Remove unused code.
84520 2008-06-01  Bruno Haible  <bruno@clisp.org>
84522         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
84523         (copy_acl): Just a wrapper around qcopy_acl that emits the error
84524         messages.
84525         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
84527 2008-06-01  Bruno Haible  <bruno@clisp.org>
84529         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
84530         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
84531         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
84532         APIs.
84533         * modules/acl-tests (configure.ac): Remove tests now contained in
84534         m4/acl.m4.
84536 2008-06-02  Jim Meyering  <meyering@redhat.com>
84538         announce-gen: use a better key-server host name
84539         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
84540         it may be more consistently reliable.  Suggested by Werner Koch
84541         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
84543 2008-06-01  Bruno Haible  <bruno@clisp.org>
84545         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
84546         Reported by Voroskoi Andras <voroskoi@gmail.com>.
84548 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
84550         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
84552 2008-06-01  Bruno Haible  <bruno@clisp.org>
84554         New ACL tests.
84555         * tests/test-file-has-acl.sh: New file.
84556         * tests/test-file-has-acl.c: New file.
84557         * tests/test-set-mode-acl.sh: New file.
84558         * tests/test-set-mode-acl.c: New file.
84559         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
84560         * tests/test-copy-acl.c: New file.
84561         * modules/acl-tests: New file, based on modules/copy-file-tests.
84562         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
84563         (Depends-on): Add acl-tests.
84564         (configure.ac): Remove checks.
84565         (Makefile.am): Don't create test-sameacls program here any more.
84567 2008-06-01  Bruno Haible  <bruno@clisp.org>
84569         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
84570         * tests/test-sameacls.c: Include progname.h.
84571         (main): Invoke set_program_name. Portability fixes for MacOS X,
84572         Solaris, HP-UX.
84574 2008-06-01  Bruno Haible  <bruno@clisp.org>
84576         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
84577         function.
84578         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
84580 2008-06-01  Bruno Haible  <bruno@clisp.org>
84582         * modules/rpmatch (Depends-on): Add strdup.
84584 2008-06-01  Bruno Haible  <bruno@clisp.org>
84586         * lib/pipe.c: Include unistd-safer.h.
84587         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
84588         * modules/pipe (Depends-on): Add unistd-safer.
84590 2008-05-30  Simon Josefsson  <simon@josefsson.org>
84592         * modules/autobuild (configure.ac): Call AB_INIT.
84594 2008-05-30  Simon Josefsson  <simon@josefsson.org>
84596         * tests/test-getaddrinfo.c: Don't print debug messages by default.
84597         Suggested by Bruno Haible <bruno@clisp.org>.
84599 2008-05-30  Simon Josefsson  <simon@josefsson.org>
84601         * tests/test-base64.c: Cast size_t to unsigned long when invoking
84602         printf.  Use %lu instead of %d.  Reported by Bruno Haible
84603         <bruno@clisp.org>.
84605 2008-05-29  Eric Blake  <ebb9@byu.net>
84607         Prefer new POSIX 200x interfaces over futimesat.
84608         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
84609         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
84610         when available.
84611         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
84613 2008-05-28  Bruno Haible  <bruno@clisp.org>
84615         * modules/stpcpy (License): Change to LGPLv2+.
84616         Requested by David Lutterkort <dlutter@redhat.com>.
84618 2008-05-27  Bruno Haible  <bruno@clisp.org>
84620         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
84621         current mingw.
84622         Reported by Jose E. Marchesi <jemarch@gnu.org>.
84624 2008-05-27  Bruno Haible  <bruno@clisp.org>
84626         * modules/iconv_open (Link): New section, from module 'iconv'.
84627         * modules/striconv (Link): Likewise.
84628         * modules/striconveh (Link): Likewise.
84629         * modules/xstriconv (Link): Likewise.
84630         * modules/unicodeio (Link): Likewise.
84631         * modules/propername (Link): Likewise.
84632         Reported by Jim Meyering.
84634 2008-05-26  Jim Meyering  <meyering@redhat.com>
84636         sha256: do not artificially restrict buffer length to be < 2^32
84637         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
84638         uint32_t to size_t.
84639         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
84640         to match.
84642         avoid unaligned access errors, e.g., on sparc
84643         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
84644         direct access through a possibly-unaligned uint64* pointer.
84645         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
84646         direct access through a possibly-unaligned uint32* pointer.
84647         Prompted by this patch from Tom "spot" Callaway:
84648         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
84650         sha512.c: fix typo in comment
84651         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
84653 2008-05-25  Bruno Haible  <bruno@clisp.org>
84655         * lib/set-mode-acl.c: Renamed from lib/acl.c.
84656         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
84657         (Makefile.am): Update lib_SOURCES.
84659 2008-05-25  Bruno Haible  <bruno@clisp.org>
84661         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
84663 2008-05-25  Jim Meyering  <meyering@redhat.com>
84665         useless-if-before-free: freed expr may have white-space differences
84666         * build-aux/useless-if-before-free: Recognize cases in which the
84667         freed expression differs from the tested one in embedded white
84668         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
84669         $1 was used, so we can't make any regexp shy.  Improved tests now
84670         detect this.
84672         useless-if-before-free: accept white space in the expression.
84673         * build-aux/useless-if-before-free: For now, any white space
84674         in the expression must be identical in the free argument.
84676         useless-if-before-free: efficiency tweak
84677         * build-aux/useless-if-before-free: Make the expression-matching
84678         regexp "shy".
84679         Make the *outer* regexp shy, not the expr-matching one.
84681         update code-in-comment to accept cast of free arg
84682         * build-aux/useless-if-before-free: Update regexp.
84684 2008-05-25  Bruno Haible  <bruno@clisp.org>
84686         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
84687         * modules/copy-file-tests (Files, Makefile.am): Update.
84688         * tests/test-copy-file.c (func_test_copy): Update.
84690 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
84692         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
84694 2008-05-23  Bruno Haible  <bruno@clisp.org>
84696         Improve support for ACLs on OSF/1.
84697         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
84698         Remove fallback for unknown flavors of ACLs.
84700 2008-05-22  Bruno Haible  <bruno@clisp.org>
84702         Add support for ACLs on OSF/1.
84703         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
84704         replacements.
84705         (acl_free_text): New macro fallback.
84706         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
84707         acl_free.
84708         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
84709         acl_free_text function. Require AC_C_INLINE.
84711 2008-05-22  Bruno Haible  <bruno@clisp.org>
84713         Make copy_acl work on MacOS X 10.5.
84714         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
84715         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
84716         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
84717         If MODE_INSIDE_ACL, don't assume that every system has the same text
84718         representation for ACLs as FreeBSD.
84719         * lib/copy-acl.c (copy_acl): Add support for platforms with
84720         !MODE_INSIDE_ACL.
84721         * lib/file-has-acl.c (file_has_acl): Likewise.
84722         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
84723         FreeBSD, MacOS X, or IRIX, respectively.
84725 2008-05-22  Bruno Haible  <bruno@clisp.org>
84727         * lib/acl.h: Don't include <sys/acl.h>.
84728         (GETACLCNT): Move fallback to lib/acl-internal.h.
84729         * lib/acl-internal.h: Include <sys/acl.h> here.
84730         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
84732 2008-05-22  Bruno Haible  <bruno@clisp.org>
84734         Split off copy_acl function to separate file.
84735         * lib/copy-acl.c: New file, extracted from lib/acl.c.
84736         * lib/acl.c (copy_acl): Moved function to separate file.
84737         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
84738         * modules/acl (Files): Add lib/copy-acl.c.
84739         (Makefiles.am): Augment lib_SOURCES.
84741 2008-05-22  Bruno Haible  <bruno@clisp.org>
84743         * modules/copy-file-tests: New file.
84744         * tests/test-copy-file.sh: New file.
84745         * tests/test-copy-file.c: New file.
84746         * tests/test-copy-file-sameacls.c: New file.
84748 2008-05-22  Eric Blake  <ebb9@byu.net>
84750         Avoid gcc warning.
84751         * tests/test-memcmp.c (main): Pass NULL indirectly.
84753 2008-05-21  Bruno Haible  <bruno@clisp.org>
84755         Add reference doc about ACLs.
84756         * doc/acl-resources.txt: New file.
84757         * doc/acl-cygwin.txt: New file.
84759 2008-05-21  Bruno Haible  <bruno@clisp.org>
84761         Avoid one more warning from gcc.
84762         * lib/vasnprintf.c (IF_LINT): Update comments.
84763         (VASNPRINTF): Use it also for the 'prefix' array initializer.
84765 2008-05-21  Jim Meyering  <meyering@redhat.com>
84767         avoid a warning from gcc
84768         * lib/vasnprintf.c (IF_LINT): Define.
84769         (scale10_round_decimal_long_double):
84770         Use it to avoid a "may be used uninitialized" warning.
84771         (scale10_round_decimal_double): Likewise.
84773 2008-05-21  Simon Josefsson  <simon@josefsson.org>
84775         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
84776         declared.
84778 2008-05-20  Bruno Haible  <bruno@clisp.org>
84780         * tests/test-memcmp.c (main): Test also the sign of the result. Test
84781         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
84783 2008-05-20  Simon Josefsson  <simon@josefsson.org>
84785         * modules/memcmp-tests: New file.
84786         * tests/test-memcmp.c: New file.
84788 2008-05-19  Bruno Haible  <bruno@clisp.org>
84790         * modules/propername (Notice, configure.ac): Put quoted "..." into
84791         --keyword option.
84792         * lib/propername.h: Update comments accordingly.
84793         Reported by Eric Blake.
84795 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
84797         * modules/getpass-gnu (Depends-on): Add fseeko.
84799 2008-05-19  Simon Josefsson  <simon@josefsson.org>
84801         * modules/base64-tests: New file.
84803 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
84805         * lib/base64.c (base64_decode_ctx): If a decode context structure
84806         was passed in use it to ignore newlines.  If a context structure
84807         was _not_ passed in, continue to treat newlines as garbage (this
84808         is the historical behavior).  Formerly base64_decode.
84809         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
84810         takes a decode context structure.
84811         * lib/base64.h (base64_decode): Macro for four-argument calls.
84812         (base64_decode_alloc): Likewise.
84813         * lib/base64.c (base64_decode_ctx): If a decode context structure
84814         was passed in use it to ignore newlines.  If a context structure
84815         was _not_ passed in, continue to treat newlines as garbage (this
84816         is the historical behavior).  Formerly base64_decode.
84817         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
84818         takes a decode context structure.
84819         * lib/base64.h (base64_decode): Macro for four-argument calls.
84820         (base64_decode_alloc): Likewise.
84822 2008-05-19  Jim Meyering  <meyering@redhat.com>
84824         avoid a warning from gcc
84825         * lib/trim.c (IF_LINT): Define.
84826         (trim2): Use it to avoid a "may be used uninitialized" warning.
84828         Fix doc typo.
84829         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
84831 2008-05-19  Bruno Haible  <bruno@clisp.org>
84833         * doc/glibc-functions/getpass.texi: Document limits of other
84834         implementations.
84836 2008-05-19  Simon Josefsson  <simon@josefsson.org>
84837             Bruno Haible <bruno@clisp.org>
84839         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
84841 2008-05-18  Bruno Haible  <bruno@clisp.org>
84843         * modules/propername: New file, from GNU gettext.
84844         * lib/propername.h: New file, from GNU gettext.
84845         * lib/propername.c: New file, from GNU gettext.
84846         * MODULES.html.sh (Internationalization functions): Add propername.
84848 2008-05-16  Jim Meyering  <meyering@redhat.com>
84849             Bruno Haible  <bruno@clisp.org>
84851         Avoid some warnings from "gcc -Wshadow".
84852         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
84854 2008-05-15  Eric Blake  <ebb9@byu.net>
84856         Extend previous patch to cygwin 1.7.0.
84857         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
84858         fast implementation in cygwin >= 1.7.0.
84859         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
84860         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
84862 2008-05-15  Bruno Haible  <bruno@clisp.org>
84864         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
84865         implementation in glibc >= 2.9.
84866         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
84867         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
84869 2008-05-15  Bruno Haible  <bruno@clisp.org>
84871         * MODULES.html.sh (Internationalization functions): Remove linebreak.
84872         (Unicode string functions): Add unilbrk/*.
84873         Reported by Karl Berry.
84875 2008-05-15  Eric Blake  <ebb9@byu.net>
84877         Fix violation of <stdbool.h> replacement in regex.
84878         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
84879         * lib/regexec.c (re_search_internal): Likewise.
84880         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
84882 2008-05-15  Jim Meyering  <meyering@redhat.com>
84884         avoid distracting test output when git or cvs is not found
84885         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
84886         * tests/test-vc-list-files-git.sh: Likewise.
84888 2008-05-15  Eric Blake  <ebb9@byu.net>
84890         Glibc finally accepted the memmem speedup code, bugzilla #5514.
84891         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
84892         glibc version.
84893         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
84894         * doc/posix-functions/strstr.texi (strstr): Likewise.
84895         * lib/str-two-way.h (MAX): Sychronize with glibc.
84897 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
84899         * lib/regcomp.c (optimize_utf8): Add a note on why we test
84900         opr.ctx_type.
84901         (calc_first): Initialize constraint field.
84902         (duplicate_node_closure): Use it instead of special casing ANCHORS.
84903         Fix grammar.
84904         (duplicate_node): Merge constraint field for all node types.
84905         (calc_eclosure_iter): Look at constraint field for all node types.
84906         * lib/regex_internal.c (create_cd_newstate): Don't look at
84907         opr.ctx_type.
84909 2008-05-14  Bruno Haible  <bruno@clisp.org>
84911         Help GCC to do better code generation.
84912         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
84913         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
84914         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
84915         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
84916         Declare with attribute 'malloc' if supported.
84918 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
84920         use "echo STR|wc -c" rather than unportable "expr length STR"
84921         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
84922         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
84924 2008-05-14  Jim Meyering  <meyering@redhat.com>
84926         use dd ibs=$n count=1 ... rather than less-portable head -c$n
84927         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
84928         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
84929         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
84930         via Collin Lasse.
84932 2008-05-14  Eric Blake  <ebb9@byu.net>
84934         Avoid quadratic growth in gl_LIBSOURCES.
84935         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
84936         Suggested by Bruno Haible.
84938         Test xmemdup0.
84939         * modules/xmemdup0-tests: New file.
84940         * tests/test-xmemdup0.c: Likewise.
84942 2008-05-13  Eric Blake  <ebb9@byu.net>
84944         Split xmemdup0 into its own module.
84945         * modules/xmemdup0: New file.
84946         * lib/xmemdup0.h: Likewise.
84947         * lib/xmemdup0.c: Likewise.
84948         * MODULES.html.sh (Memory management functions): Add xmemdup0.
84949         * lib/xalloc.h (xmemdup0): Remove.
84950         * lib/xmalloc.c (xmemdup0): Likewise.
84952 2008-05-13  Eric Blake  <ebb9@byu.net>
84953             Bruno Haible  <bruno@clisp.org>
84955         Reduce number of forks required during autoconf.
84956         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
84957         and gl_LIBSOURCES_DIR.
84958         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
84959         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
84960         m4_syscmd per file.
84961         <m4_foreach_w>: Move...
84962         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
84964 2008-05-13  Eric Blake  <ebb9@byu.net>
84966         * gnulib-tool: Fix various comment typos.
84968 2008-05-12  Bruno Haible  <bruno@clisp.org>
84970         Tailor the linebreaking algorithm.
84971         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
84973 2008-05-12  Bruno Haible  <bruno@clisp.org>
84975         Update to Unicode 5.0.0.
84976         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
84977         LBP_JV, LBP_JT. Redistribute values.
84978         (unilbrk_table): Change size.
84979         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
84980         Unicode TR#14 rev. 22.
84981         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
84982         LBP_JV, LBP_JT. Redistribute values.
84983         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
84984         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
84985         Update.
84986         * lib/unilbrk/lbrkprop1.h: Regenerated.
84987         * lib/unilbrk/lbrkprop2.h: Regenerated.
84988         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
84989         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
84990         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
84991         Likewise.
84992         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
84993         Likewise.
84994         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
84995         result.
84996         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
84997         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
84998         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
84999         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
85000         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
85001         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
85003 2008-05-11  Bruno Haible  <bruno@clisp.org>
85005         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
85007 2008-05-11  Bruno Haible  <bruno@clisp.org>
85009         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
85010         * modules/unilbrk/gen-lbrk: New file.
85012 2008-05-11  Bruno Haible  <bruno@clisp.org>
85014         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
85015         * m4/sha512.m4 (gl_SHA512): Likewise.
85017 2008-05-11  Jim Meyering  <meyering@redhat.com>
85019         New modules: crypto/sha256, crypto/sha512 (from coreutils)
85020         * modules/crypto/sha256: New file.
85021         * modules/crypto/sha512: Likewise.
85022         * lib/sha256.c: Likewise.
85023         * lib/sha256.h: Likewise.
85024         * lib/sha512.c: Likewise.
85025         * lib/sha512.h: Likewise.
85026         * lib/u64.h: Likewise.
85027         * m4/sha256.m4: Likewise.
85028         * m4/sha512.m4: Likewise.
85029         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
85031 2008-05-10  Bruno Haible  <bruno@clisp.org>
85033         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
85034         (Input/Output <stdio.h>): Add xprintf.
85035         (Signal handling <signal.h>): Add strsignal.
85036         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
85037         (Core language properties): Add func.
85038         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
85039         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
85040         strings.
85041         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
85042         (Input/output): New section.
85043         (File system functions): Add openat-die, stat-macros.
85044         (Networking functions): Add sockets.
85045         (Unicode string functions): Add unictype/*.
85046         (Support for building libraries and executables): Add gperf.
85047         (Support for building documentation): Add agpl-3.0.
85048         (Misc): Add nocrash.
85050 2008-05-10  Bruno Haible  <bruno@clisp.org>
85052         * modules/unictype/gen-ctype: New file.
85054 2008-05-10  Jim Meyering  <meyering@redhat.com>
85056         Make chdir-safer.c more efficient on a system with no symlinks.
85057         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
85058         also if ELOOP is zero.  Suggested by Bruno Haible.
85060         Make chdir-safer.c slightly safer.
85061         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
85062         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
85064         Avoid compile failure on systems without ELOOP (like mingw).
85065         * lib/chdir-safer.c (ELOOP): Define if not already defined.
85066         Reported by Bruno Haible.
85068 2008-05-10  Bruno Haible  <bruno@clisp.org>
85070         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
85071         (is_utf8_encoding): Use a case-insensitive comparison.
85072         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
85073         streq.
85075 2008-05-10  Bruno Haible  <bruno@clisp.org>
85077         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
85078         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
85079         * lib/unilbrk/ulc-common.h (iconv_string_length,
85080         iconv_string_keeping_offsets): Remove declarations.
85081         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
85082         Don't include <iconv.h>, streq.h, xsize.h.
85083         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
85084         conversion.
85085         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
85086         <iconv.h>, streq.h, xsize.h.
85087         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
85088         conversion.
85089         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
85090         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
85091         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
85092         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
85094 2008-05-10  Bruno Haible  <bruno@clisp.org>
85096         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
85097         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
85099         * modules/unilbrk/u32-width-linebreaks-tests: New file.
85100         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
85102         * modules/unilbrk/u16-width-linebreaks-tests: New file.
85103         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
85105         * modules/unilbrk/u8-width-linebreaks-tests: New file.
85106         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
85108         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
85109         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
85111         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
85112         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
85114         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
85115         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
85117         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
85118         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
85120 2008-05-10  Bruno Haible  <bruno@clisp.org>
85122         Split up 'linebreak' module.
85123         * lib/unilbrk.h: New file, based on lib/linebreak.h.
85124         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
85125         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
85126         modifications.
85127         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
85128         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
85129         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
85130         lib/linebreak.c.
85131         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
85132         lib/linebreak.c.
85133         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
85134         lib/linebreak.c.
85135         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
85136         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
85137         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
85138         lib/linebreak.c.
85139         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
85140         lib/linebreak.c.
85141         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
85142         lib/linebreak.c.
85143         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
85144         lib/linebreak.c.
85145         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
85146         lib/linebreak.c.
85147         * modules/unilbrk/base: New file.
85148         * modules/unilbrk/tables: New file.
85149         * modules/unilbrk/u8-possible-linebreaks: New file.
85150         * modules/unilbrk/u16-possible-linebreaks: New file.
85151         * modules/unilbrk/u32-possible-linebreaks: New file.
85152         * modules/unilbrk/ulc-common: New file.
85153         * modules/unilbrk/ulc-possible-linebreaks: New file.
85154         * modules/unilbrk/u8-width-linebreaks: New file.
85155         * modules/unilbrk/u16-width-linebreaks: New file.
85156         * modules/unilbrk/u32-width-linebreaks: New file.
85157         * modules/unilbrk/ulc-width-linebreaks: New file.
85158         * lib/linebreak.h: Remove file.
85159         * lib/linebreak.c: Remove file.
85160         * m4/linebreak.m4: Remove file.
85161         * modules/linebreak: Remove file.
85162         * NEWS: Mention the changes.
85164 2008-05-09  Eric Blake  <ebb9@byu.net>
85166         Add xmemdup0.
85167         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
85168         implementation.
85169         * lib/xmalloc.c (xmemdup0): New C implementation.
85171 2008-05-08  Bruno Haible  <bruno@clisp.org>
85173         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
85175 2008-05-07  Eric Blake  <ebb9@byu.net>
85177         Support cross-compilation of <wctype.h>.
85178         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
85179         AC_CACHE_CHECK.
85181 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
85183         * build-aux/vc-list-files: Add support for bzr.
85185 2008-05-03  Jim Meyering  <meyering@redhat.com>
85187         avoid failed assertion with tight malloc
85188         * tests/test-getndelim2.c: Correct an off-by-one assertion.
85190 2008-05-03  Simon Josefsson  <simon@josefsson.org>
85192         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
85193         are needed from arpa/inet.h.
85194         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
85195         Reported by Bruno Haible.
85197 2008-05-02  Jim Meyering  <meyering@redhat.com>
85199         avoid compilation error on FreeBSD 6
85200         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
85202 2008-05-01  Jim Meyering  <meyering@redhat.com>
85204         useless-if-before-free: correct --help's exit status description
85205         * build-aux/useless-if-before-free (usage): Like grep, exit 0
85206         for one or more matches, etc.  Reported by Bruno Haible.
85208         vc-list-files: make the stand-alone gnulib test work
85209         * modules/vc-list-files-tests (configure.ac):
85210         Define and AC_SUBST abs_aux_dir.
85211         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
85212         $(abs_top_srcdir) to each script and having each of them
85213         duplicate the work of setting PATH, set PATH here, using
85214         the new variable, abs_aux_dir instead.
85215         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
85216         * tests/test-vc-list-files-git.sh: Likewise.
85217         Reported by Bruno Haible.
85219 2008-05-01  Bruno Haible  <bruno@clisp.org>
85221         * lib/getndelim2.c (getndelim2): Fix newsize computation during
85222         reallocation. Rename 'done' to 'found_delimiter'.
85224 2008-05-01  Jim Meyering  <meyering@redhat.com>
85226         vc-list-files: accommodate /bin/sh like the one from Solaris 10
85227         * build-aux/vc-list-files: Use `...`, not $(...).
85229 2008-04-30  Jim Meyering  <meyering@redhat.com>
85231         add tests for vc-list-files
85232         * modules/vc-list-files-tests: New module.
85233         * tests/test-vc-list-files-cvs.sh: New file.
85234         * tests/test-vc-list-files-git.sh: New file.
85236         avoid a warning from gcc
85237         * lib/getndelim2.c (IF_LINT): Define.
85238         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
85240         vc-list-files: work properly with build-aux/cvsu, too
85241         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
85242         to all cvs-based clauses.
85244         vc-list-files: work properly in the CVS+awk case, too
85245         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
85247         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
85248         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
85249         take more than one file argument, so .  Add quotes, just in case $dir
85250         ever contains a shell meta-character.  Prompted by Soren Hansen in
85251         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
85253 2008-04-29  Eric Blake  <ebb9@byu.net>
85255         Optimize getndelim2 to use block operations when possible.
85256         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
85257         freadseek, and memchr2.
85258         * lib/getndelim2.c (getndelim2): Use them for block reads.
85260 2008-04-29  Bruno Haible  <bruno@clisp.org>
85262         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
85263         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
85264         * modules/inet_ntop (Depends-on): Add extensions.
85265         * modules/inet_pton (Depends-on): Likewise.
85266         Reported by Simon Josefsson.
85268 2008-04-29  Jim Meyering  <meyering@redhat.com>
85270         When the is more than one match in a block, match all of them.
85271         * build-aux/useless-if-before-free: Iterate through each block
85272         until there are no more matches.
85274         Fix broken useless-if-before-free script.
85275         * build-aux/useless-if-before-free: Fix typo: missing "?" after
85276         the expression to match cast of argument to free-like function.
85278 2008-04-29  Eric Blake  <ebb9@byu.net>
85280         Use new header.
85281         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
85283 2008-04-29  Jim Meyering  <meyering@redhat.com>
85285         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
85286         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
85287         by gnulib to exist and to declare e.g., inet_ntop.
85288         Don't include "inet_ntop.h", now removed.
85290         * m4/arpa_inet_h.m4: Remove trailing blanks.
85292 2008-04-29  Eric Blake  <ebb9@byu.net>
85294         Silence valgrind on safe reads beyond potential array bounds.
85295         * lib/rawmemchr.valgrind: New file.
85296         * lib/strchrnul.valgrind: Likewise.
85297         * modules/rawmemchr (Files): Distribute new file.
85298         * modules/strchrnul (Files): Likewise.
85299         Suggested by Bruno Haible.
85301 2008-04-29  Bruno Haible  <bruno@clisp.org>
85303         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
85304         (inet_ntop, inet_pton): Change portability warning's wording.
85305         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
85306         Invoke gl_CHECK_NEXT_HEADERS.
85307         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
85308         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
85309         set ARPA_INET_H.
85310         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
85311         * modules/arpa_inet (Description): No longer only for systems that
85312         lack it.
85313         (Depends-on): Add include_next.
85314         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
85315         HAVE_ARPA_INET_H.
85317 2008-04-29  Jim Meyering  <meyering@redhat.com>
85319         * modules/mkdir (License): Re-license as LGPLv2+.
85321 2008-04-29  Bruno Haible  <bruno@clisp.org>
85323         * modules/rawmemchr (Maintainer): Set to Eric.
85324         * modules/strchrnul (Maintainer): Likewise.
85326 2008-04-29  Simon Josefsson  <simon@josefsson.org>
85328         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
85329         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
85331         * modules/arpa_inet (arpa/inet.h): Use them.
85333 2008-04-28  Eric Blake  <ebb9@byu.net>
85335         Test getndelim2.
85336         * modules/getndelim2-tests: New file.
85337         * tests/test-getndelim2.c: Likewise.
85338         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
85339         stream.
85340         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
85342         * MODULES.html.sh: Document new module.
85344 2008-04-20  Bruno Haible  <bruno@clisp.org>
85346         * lib/c-stack.c (die): Use raise.
85347         * modules/c-stack (Depends-on): Add raise.
85349 2008-04-28  Bruno Haible  <bruno@clisp.org>
85351         Expect rpmatch to be declared.
85352         * lib/yesno.c (rpmatch): Remove declaration.
85354         Declare rpmatch.
85355         * lib/stdlib.in.h (rpmatch): New declaration.
85356         * lib/rpmatch.c: Include <stdlib.h> first.
85357         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
85358         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
85359         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
85360         HAVE_RPMATCH.
85361         * modules/rpmatch (Depends-on): Add stdlib, extensions.
85362         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
85363         (Include): Set to <stdlib.h>.
85364         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
85365         HAVE_RPMATCH.
85366         * NEWS: Document the change.
85368 2008-04-28  Bruno Haible  <bruno@clisp.org>
85370         Change rpmatch to use nl_langinfo when appropriate.
85371         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
85372         (N_): New macro.
85373         (localized_pattern): New function/macro.
85374         (try): Remove match, nomatch arguments. Copy the pattern into safe
85375         memory before caching it.
85376         (rpmatch): Use localized_pattern. Add translator comments.
85377         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
85378         Suggested by Eric Blake.
85379         * modules/rpmatch (Depends-on): Add stdbool.
85381 2008-04-28  Eric Blake  <ebb9@byu.net>
85383         Add rawmemchr module, matching glibc.
85384         * modules/string (Makefile.am): New indicator.
85385         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
85386         * lib/string.in.h (rawmemchr): Declare when appropriate.
85387         * modules/rawmemchr: New file.
85388         * m4/rawmemchr.m4: Likewise.
85389         * lib/rawmemchr.c: Likewise.
85390         * modules/rawmemchr-tests: Likewise.
85391         * tests/test-rawmemchr.c: Likewise.
85392         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
85393         module.
85394         * modules/strchrnul (Depends-on): Add rawmemchr.
85395         * lib/strchrnul.c (strchrnul): Optimize a corner case.
85397         Whitespace cleanup.
85398         * tests/test-strchrnul.c: Reindent.
85399         * lib/strchrnul.c: Likewise.
85401         Optimize and test strchrnul.
85402         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
85403         * modules/strchrnul-tests: New file.
85404         * tests/test-strchrnul.c: Likewise.
85406         Remove intprops dependency.
85407         * modules/memchr (Depends-on): Remove intprops.
85408         * modules/memrchr (Depends-on): Likewise.
85409         * modules/memchr2 (Depends-on): Likewise.
85410         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
85411         * lib/memrchr.c (__memrchr): Likewise.
85412         * lib/memrchr2.c (memchr2): Likewise.
85413         Reported by Simon Josefsson.
85415 2008-04-28  Simon Josefsson  <simon@josefsson.org>
85417         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
85418         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
85420 2008-04-28  Simon Josefsson  <simon@josefsson.org>
85422         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
85424         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
85426         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
85428         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
85429         declarations.
85430         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
85432         * m4/inet_pton.m4: Don't check for header files.
85434         * m4/inet_ntop.m4: Don't check for header files.
85436 2008-04-28  Simon Josefsson  <simon@josefsson.org>
85438         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
85439         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
85440         trigger for cygwin).
85441         Reported by Bruno Haible  <bruno@clisp.org>.
85443 2008-04-28  Bruno Haible  <bruno@clisp.org>
85445         * doc/posix-functions/strdup.texi: Mention mingw problem.
85447 2008-04-27  Bruno Haible  <bruno@clisp.org>
85449         * modules/stat-time-tests (Depends-on): Add sleep.
85450         * tests/test-stat-time.c (force_unlink): New function.
85451         (cleanup): Use it.
85452         (test_mtime): Remove the ctime related tests.
85453         (test_ctime): New function, containing the ctime related tests.
85454         (main): Call test_ctime, except on native Windows platforms.
85456 2008-04-27  Bruno Haible  <bruno@clisp.org>
85458         * lib/rpmatch.c (rpmatch): Add some comments.
85459         Reported by James Youngman <jay@gnu.org>.
85461 2008-04-27  Bruno Haible  <bruno@clisp.org>
85463         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
85464         quiet NaNs.
85466 2008-04-27  Bruno Haible  <bruno@clisp.org>
85468         Make test-yesno.sh work on mingw.
85469         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
85470         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
85471         (main): Set stdin to binary mode.
85472         * modules/yesno-tests (Depends-on): Add binary-io.
85474 2008-04-27  Bruno Haible  <bruno@clisp.org>
85476         Fix 'isfinite' on x86, x86_64, ia64 platforms.
85477         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
85478         argument that lie outside the IEEE 854 domain.
85479         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
85480         (gl_ISFINITE): Use it.
85481         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
85483 2008-04-27  Bruno Haible  <bruno@clisp.org>
85485         Allow local renaming in config.h.
85486         * lib/memrchr.c (memrchr): Don't undefine outside libc.
85488 2008-04-27  Bruno Haible  <bruno@clisp.org>
85490         * lib/memchr.c (__memchr): Change type of 'i'.
85491         * lib/memchr2.c (memchr2): Likewise.
85493 2008-04-26  Eric Blake  <ebb9@byu.net>
85494         and Bruno Haible  <bruno@clisp.org>
85496         Optimize and test memrchr.
85497         * modules/memrchr (Depends-on): Add intprops.
85498         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
85499         * modules/memrchr-tests: New file.
85500         * tests/test-memrchr.c: New file.
85502 2008-04-26  Bruno Haible  <bruno@clisp.org>
85504         Add tentative support for DragonFly BSD.
85505         * lib/stdio-impl.h: Add macros for DragonFly BSD.
85506         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
85507         fp.
85508         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
85509         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
85510         * lib/fpurge.c (fpurge): Likewise.
85511         * lib/freadable.c (freaadable): Likewise.
85512         * lib/freadahead.c (freadahead): Likewise.
85513         * lib/freading.c (freading): Likewise.
85514         * lib/freadptr.c (freadptr): Likewise.
85515         * lib/freadseek.c (freadptrinc): Likewise.
85516         * lib/fseeko.c (fseeko): Likewise.
85517         * lib/fseterr.c (fseterr): Likewise.
85518         * lib/fwritable.c (fwritable): Likewise.
85519         * lib/fwriting.c (fwriting): Likewise.
85521 2008-04-26  Bruno Haible  <bruno@clisp.org>
85523         * lib/stdio-impl.h: New file.
85524         * lib/fbufmode.c: Include stdio-impl.h.
85525         (fbufmode): Use fp_, remove redundant #defines.
85526         * lib/fflush.c: Include stdio-impl.h.
85527         (clear_ungetc_buffer): Remove redundant #defines.
85528         * lib/fpurge.c: Include stdio-impl.h.
85529         (fpurge): Remove redundant #defines.
85530         * lib/freadable.c: Include stdio-impl.h.
85531         (freadable): Remove redundant #defines.
85532         * lib/freadahead.c: Include stdio-impl.h.
85533         (freadahead): Remove redundant #defines.
85534         * lib/freading.c: Include stdio-impl.h.
85535         (freading): Remove redundant #defines.
85536         * lib/freadptr.c: Include stdio-impl.h.
85537         (freadptr): Remove redundant #defines.
85538         * lib/freadseek.c: Include stdio-impl.h.
85539         (freadptrinc): Remove redundant #defines.
85540         * lib/fseeko.c: Include stdio-impl.h.
85541         (rpl_fseeko): Remove redundant #defines.
85542         * lib/fseterr.c: Include stdio-impl.h.
85543         (fseterr): Remove redundant #defines.
85544         * lib/fwritable.c: Include stdio-impl.h.
85545         (fwritable: Remove redundant #defines.
85546         * lib/fwriting.c: Include stdio-impl.h.
85547         (fwriting): Remove redundant #defines.
85548         * modules/fbufmode (Files): Add lib/stdio-impl.h.
85549         * modules/fflush (Files): Likewise.
85550         * modules/fpurge (Files): Likewise.
85551         * modules/freadable (Files): Likewise.
85552         * modules/freadahead (Files): Likewise.
85553         * modules/freading (Files): Likewise.
85554         * modules/freadptr (Files): Likewise.
85555         * modules/freadseek (Files): Likewise.
85556         * modules/fseeko (Files): Likewise.
85557         * modules/fseterr (Files): Likewise.
85558         * modules/fwritable (Files): Likewise.
85559         * modules/fwriting (Files): Likewise.
85561 2008-04-26  Bruno Haible  <bruno@clisp.org>
85563         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
85564         restore_seek_optimization, update_fpos_cache): New functions, extracted
85565         from rpl_fflush.
85566         (rpl_fflush): Use them.
85567         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
85568         (gl_REPLACE_FFLUSH): Use it.
85570 2008-04-26  Bruno Haible  <bruno@clisp.org>
85572         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
85573         on Solaris.
85574         * tests/test-xstrtoimax.sh: Likewise.
85575         * tests/test-xstrtoumax.sh: Likewise.
85576         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
85578 2008-04-26  Bruno Haible  <bruno@clisp.org>
85580         * modules/memchr-tests: New file.
85581         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
85583 2008-04-26  Eric Blake  <ebb9@byu.net>
85584             Bruno Haible  <bruno@clisp.org>
85586         * lib/memchr.c: Include intprops.h.
85587         (__memchr): Optimize parallel detection of matching bytes. Rename local
85588         variables. Add explanatory comments.
85590 2008-04-26  Bruno Haible  <bruno@clisp.org>
85592         Fix module 'memchr', broken since 2000-10-28.
85593         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
85595 2008-04-26  Bruno Haible  <bruno@clisp.org>
85597         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
85598         comments.
85600 2008-04-25  Eric Blake  <ebb9@byu.net>
85602         Use native fstatat on cygwin 1.7.0.
85603         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
85604         first.
85606 2008-04-23  Eric Blake  <ebb9@byu.net>
85608         Improve memchr2 performance.
85609         * lib/memchr2.c (memchr2): Further optimize parallel detection of
85610         NUL bytes.
85611         * modules/memchr2 (Depends-on): Use intprops.h.
85613 2008-04-23  Simon Josefsson  <simon@josefsson.org>
85615         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
85616         an inline function instead of a CPP macro.  Patch by Ben Pfaff
85617         <blp@cs.stanford.edu>.
85619 2008-04-23  Simon Josefsson  <simon@josefsson.org>
85621         * lib/arpa_inet.in.h: New file.
85623         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
85624         (Makefile.am): Sed in substitute header file.
85626         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
85627         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
85629         * modules/inet_ntop (configure.ac): Use
85630         gl_ARPA_INET_MODULE_INDICATOR.
85632         * modules/inet_pton (configure.ac): Use
85633         gl_ARPA_INET_MODULE_INDICATOR.
85635 2008-04-22  Jim Meyering  <meyering@redhat.com>
85637         * modules/verify (License): Re-license as LGPLv2+.
85639 2008-04-22  Simon Josefsson  <simon@josefsson.org>
85641         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
85642         parameter to void* as per POSIX standard (MinGW uses char*).
85644 2008-04-21  Bruno Haible  <bruno@clisp.org>
85646         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
85647         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
85648         Define to replacements if REPLACE_ISWCNTRL is 1.
85649         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
85650         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
85651         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
85652         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
85653         what it fixes.
85654         * doc/posix-functions/iswalpha.texi: Likewise.
85655         * doc/posix-functions/iswblank.texi: Likewise.
85656         * doc/posix-functions/iswcntrl.texi: Likewise.
85657         * doc/posix-functions/iswdigit.texi: Likewise.
85658         * doc/posix-functions/iswgraph.texi: Likewise.
85659         * doc/posix-functions/iswlower.texi: Likewise.
85660         * doc/posix-functions/iswprint.texi: Likewise.
85661         * doc/posix-functions/iswpunct.texi: Likewise.
85662         * doc/posix-functions/iswspace.texi: Likewise.
85663         * doc/posix-functions/iswupper.texi: Likewise.
85664         * doc/posix-functions/iswxdigit.texi: Likewise.
85665         Reported by Alain Guibert.
85667 2008-04-21  Bruno Haible  <bruno@clisp.org>
85669         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
85670         Patch by Alain Guibert.
85672 2008-04-21  Bruno Haible  <bruno@clisp.org>
85674         Fix test failures on mingw.
85675         * tests/test-xstrtol.c (print_no_progname): New function.
85676         (main): Install it in error_print_progname hook.
85677         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
85678         * tests/test-xstrtoimax.sh: Likewise.
85679         * tests/test-xstrtoumax.sh: Likewise.
85681 2008-04-21  Bruno Haible  <bruno@clisp.org>
85683         Fix test failure on mingw.
85684         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
85686 2008-04-21  Bruno Haible  <bruno@clisp.org>
85688         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
85689         Actually assign a value.
85691 2008-04-20  Bruno Haible  <bruno@clisp.org>
85693         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
85694         take 2.
85695         * lib/canonicalize.c (canonicalize_file_name): Elide if the
85696         'canonicalize-lgpl' module is also used.
85697         * lib/canonicalize-lgpl.c: Undo last change.
85698         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
85700 2008-04-20  Bruno Haible  <bruno@clisp.org>
85702         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
85703         config.h. Provide _mkdir based fallback for mingw.
85704         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
85705         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
85706         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
85707         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
85708         rather than defining mkdir in config.h.
85709         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
85710         (gl_SYS_STAT_H_DEFAULTS): New macro.
85711         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
85712         HAVE_IO_H any more.
85713         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
85714         HAVE_DECL_MKDIR and HAVE_IO_H.
85716 2008-04-20  Bruno Haible  <bruno@clisp.org>
85718         * lib/isapipe.c: Port to native Windows platforms.
85720 2008-04-20  Bruno Haible  <bruno@clisp.org>
85722         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
85724 2008-04-21  Eric Blake  <ebb9@byu.net>
85726         Work around preprocessors that don't handle UINTMAX_MAX.
85727         * lib/memchr2.c (memchr2): Avoid embedded #if.
85728         Reported by Alain Guibert, fix suggested by Bruno Haible.
85730 2008-04-21  Simon Josefsson  <simon@josefsson.org>
85732         * doc/posix-functions/strftime.texi (strftime): Explain better
85733         Windows incompatibility.  Suggested by Micah Cowan
85734         <micah@cowan.name>.
85736 2008-04-20  Bruno Haible  <bruno@clisp.org>
85738         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
85739         unistr/u8-mblen.
85741 2008-04-20  Bruno Haible  <bruno@clisp.org>
85743         Fix test failure on platforms with non-GNU iconv.
85744         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
85745         (U_TO_U8): Use it, rather than u16_to_u8.
85746         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
85747         units at the end of the input string.
85748         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
85750 2008-04-20  Bruno Haible  <bruno@clisp.org>
85752         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
85753         when the resulting length is 0.
85754         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
85756 2008-04-20  Bruno Haible  <bruno@clisp.org>
85758         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
85759         works.
85760         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
85762 2008-04-20  Bruno Haible  <bruno@clisp.org>
85764         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
85765         * modules/tsearch-tests (configure.ac): Test for initstate function.
85767 2008-04-20  Bruno Haible  <bruno@clisp.org>
85769         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
85770         for nlink_t if missing.
85771         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
85773 2008-04-19  Bruno Haible  <bruno@clisp.org>
85775         Work around snprintf bug on Linux libc5.
85776         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
85777         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
85778         gl_SNPRINTF_SIZE1.
85779         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
85780         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
85781         that test failed.
85782         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
85783         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
85784         * modules/snprintf (Files): Add m4/printf.m4.
85785         * modules/vsnprintf (Files): Likewise.
85786         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
85787         * doc/posix-functions/vsnprintf.texi: Likewise.
85789 2008-04-19  Bruno Haible  <bruno@clisp.org>
85791         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
85792         from 0.0058 to less than 10^-7.
85794 2008-04-19  Bruno Haible  <bruno@clisp.org>
85796         Fix rounding when a precision is given.
85797         * lib/vasnprintf.c (is_borderline): New function.
85798         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
85799         9...9x.
85800         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
85801         %e, %g.
85802         * tests/test-vasprintf-posix.c (test_function): Likewise.
85803         * tests/test-snprintf-posix.h (test_function): Likewise.
85804         * tests/test-sprintf-posix.h (test_function): Likewise.
85805         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
85806         * tests/test-printf-posix.h (test_function): Likewise.
85807         * tests/test-printf-posix.output: Update.
85808         Reported by John Darrington <john@darrington.wattle.id.au> via
85809         Ben Pfaff <blp@cs.stanford.edu>.
85811 2008-04-18  Simon Josefsson  <simon@josefsson.org>
85813         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
85814         Suggested by Bruno Haible <bruno@clisp.org>.
85816 2008-04-17  Bruno Haible  <bruno@clisp.org>
85818         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
85819         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
85820         implementation.
85821         Patch by Bruce Merry <bmerry@gmail.com>.
85823 2008-04-17  Simon Josefsson  <simon@josefsson.org>
85825         * doc/posix-functions/strftime.texi (strftime): Mention that %e
85826         doesn't work under Windows.
85828 2008-04-16  Bruno Haible  <bruno@clisp.org>
85830         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
85831         New macros.
85832         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
85833         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
85834         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
85835         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
85836         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
85837         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
85838         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
85839         macros.
85840         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
85841         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
85842         Northern Sotho, Uighur.
85844 2008-04-16  Bruno Haible  <bruno@clisp.org>
85846         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
85847         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
85848         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
85849         Reported by Daniel Bergström <daniel@octocode.com>.
85851 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
85852             Bruno Haible  <bruno@clisp.org>
85854         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
85855         function.
85856         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
85857         New functions, mostly extracted from gl_locale_name_default.
85858         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
85860 2008-04-16  Eric Blake  <ebb9@byu.net>
85862         Adjust strtod detection to catch glibc 2.7 bug.
85863         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
85864         Reported by John Gatewood Ham.
85866 2008-04-16  Bruno Haible  <bruno@clisp.org>
85868         Add tentative support for Linux libc5.
85869         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
85870         * lib/fpurge.c (fpurge): Likewise.
85871         * lib/freadable.c (freadable): Likewise.
85872         * lib/freadahead.c (freadahead): Likewise.
85873         * lib/freading.c (freading): Likewise.
85874         * lib/freadptr.c (freadptr): Likewise.
85875         * lib/freadseek.c (freadptrinc): Likewise.
85876         * lib/fseeko.c (rpl_fseeko): Likewise.
85877         * lib/fseterr.c (fseterr): Likewise.
85878         * lib/fwritable.c (fwritable): Likewise.
85879         * lib/fwriting.c (fwriting): Likewise.
85880         Reported by Alain Guibert <alguibert+bts@free.fr>.
85882 2008-04-15  Bruno Haible  <bruno@clisp.org>
85884         * modules/mathl (configure.ac): Define module indicator.
85886 2008-04-15  Bruno Haible  <bruno@clisp.org>
85888         * lib/logl.c (logl): Remove unused variables.
85890 2008-04-15  Bruno Haible  <bruno@clisp.org>
85892         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
85893         fails.
85895 2008-04-15  Bruno Haible  <bruno@clisp.org>
85897         * lib/trim.c (trim2): Fix argument of isspace() macro.
85899 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
85901         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
85902         to 0.
85903         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
85905 2008-04-14  Bruno Haible  <bruno@clisp.org>
85907         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
85908         AC_LANG_PROGRAM argument.
85909         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
85910         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
85911         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
85912         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
85913         * m4/math_h.m4 (gl_MATH_H): Likewise.
85914         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
85915         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
85916         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
85917         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
85918         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
85919         * m4/regex.m4 (gl_REGEX): Likewise.
85920         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
85921         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
85922         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
85923         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
85924         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
85925         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
85926         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
85927         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
85929 2008-04-14  Jim Meyering  <meyering@redhat.com>
85931         test-strtod: fix typos: s/abs/fabs/
85932         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
85934 2008-04-13  Bruno Haible  <bruno@clisp.org>
85936         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
85937         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
85938         module is also used and while not building the reloc-wrapper.
85940 2008-04-13  Bruno Haible  <bruno@clisp.org>
85942         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
85944 2008-04-13  Bruno Haible  <bruno@clisp.org>
85946         Fix AIX compilation failure introduced on 2008-04-02.
85947         * tests/test-frexp.c (exp): Undefine before redefining.
85948         * tests/test-frexpl.c (exp): Likewise.
85950 2008-04-13  Bruno Haible  <bruno@clisp.org>
85952         Work around a HP-UX stdio bug.
85953         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
85954         * tests/test-ftello.c (main): Likewise.
85955         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
85956         * doc/posix-functions/ftello.texi: Likewise.
85958 2008-04-13  Bruno Haible  <bruno@clisp.org>
85960         Make test-signbit pass on HP-UX/hppa.
85961         * tests/test-signbit.c (minus_zerol): New variable.
85962         (test_signbitl): Use it.
85964 2008-04-13  Bruno Haible  <bruno@clisp.org>
85966         Make truncl work on OSF/1 4.0.
85967         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
85968         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
85969         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
85970         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
85971         HAVE_DECL_TRUNCL.
85972         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
85973         HAVE_DECL_TRUNCL.
85974         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
85976 2008-04-13  Bruno Haible  <bruno@clisp.org>
85978         * lib/unictype.h: Remove trailing comma from enumeration definitions.
85980 2008-04-13  Bruno Haible  <bruno@clisp.org>
85982         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
85983         expression, so as to avoid HP-UX 11 cc compiler bug.
85985 2008-04-13  Bruno Haible  <bruno@clisp.org>
85987         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
85989 2008-04-13  Bruno Haible  <bruno@clisp.org>
85991         * lib/git-merge-changelog.c: Remove empty declaration outside of
85992         functions.
85994 2008-04-13  Bruno Haible  <bruno@clisp.org>
85996         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
85998 2008-04-13  Bruno Haible  <bruno@clisp.org>
86000         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
86001         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
86002         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
86003         also if it exists but lacks definitions of the SHUT_* macros.
86004         * modules/sys_socket (Description): Update.
86005         Reported by Elbert Pol <e.pol@chello.nl>.
86007 2008-04-13  Bruno Haible  <bruno@clisp.org>
86009         * lib/localcharset.c (OS2): Don't redefine if already defined.
86010         Reported by Elbert Pol <e.pol@chello.nl>.
86012 2008-04-13  Bruno Haible  <bruno@clisp.org>
86014         * lib/binary-io.h [__EMX__]: Include <io.h>.
86015         Reported by Elbert Pol <e.pol@chello.nl>.
86017 2008-04-12  Bruno Haible  <bruno@clisp.org>
86019         * lib/fpucw.h: Enable the definitions also for x86_64.
86020         Needed for NetBSD/x86_64.
86021         Reported by Thomas Klausner <tk@giga.or.at>.
86023 2008-04-12  Bruno Haible  <bruno@clisp.org>
86025         * tests/test-strtod.c: Include isnand.h.
86026         (main): Use isnand instead of isnan.
86027         Reported by Jim Meyering.
86029 2008-04-12  Bruno Haible  <bruno@clisp.org>
86031         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
86032         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
86034 2008-04-12  Jim Meyering  <meyering@redhat.com>
86036         * m4/math_h.m4 (gl_MATH_H): Fix typos.
86038 2008-04-12  Bruno Haible  <bruno@clisp.org>
86040         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
86041         Reported by Elbert Pol <e.pol@chello.nl>.
86043 2008-04-12  Eric Blake  <ebb9@byu.net>
86045         Work around Solaris 10 math.h bug.
86046         * m4/math_h.m4 (gl_MATH_H): Check for bug.
86047         (gl_MATH_H_DEFAULTS): Set up default.
86048         * modules/math (Makefile.am): Replace new indicators.
86049         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
86050         * tests/test-math.c (main): Test this.
86051         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
86052         * doc/posix-headers/math.texi (math.h): Mention bug.
86053         Reported by Nelson H. F. Beebe and Jim Meyering.
86055 2008-04-11  Bruno Haible  <bruno@clisp.org>
86057         Adapt to future versions of Apple GCC.
86058         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
86059         Reported by Peter O'Gorman <peter@pogma.com>.
86061 2008-04-11  Bruno Haible  <bruno@clisp.org>
86063         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
86065 2008-04-11  Bruno Haible  <bruno@clisp.org>
86067         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
86069         * modules/getaddrinfo-tests (Makefile.am): Define
86070         test_getaddrinfo_LDADD.
86072 2008-04-11  Bruno Haible  <bruno@clisp.org>
86074         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
86075         (init): Fix syntax error.
86076         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
86077         is declared.
86079 2008-04-11  Bruno Haible  <bruno@clisp.org>
86081         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
86082         * modules/glob (Depends-on): Add stdbool.
86084 2008-04-11  Bruno Haible  <bruno@clisp.org>
86086         * lib/trim.c: Include <string.h>.
86088 2008-04-11  Eric Blake  <ebb9@byu.net>
86090         Avoid compile failure on OS/2.
86091         * lib/regex_internal.h (internal_function): Disable optimization
86092         on OS/2 (__EMX__), where it caused compiler error.
86093         Reported by Elbert Pol.
86095 2008-04-11  Bruno Haible  <bruno@clisp.org>
86097         Flush the standard error stream before aborting. Needed on mingw.
86098         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
86099         * tests/test-array_list.c (ASSERT): Likewise.
86100         * tests/test-array_oset.c (ASSERT): Likewise.
86101         * tests/test-avltree_list.c (ASSERT): Likewise.
86102         * tests/test-avltree_oset.c (ASSERT): Likewise.
86103         * tests/test-avltreehash_list.c (ASSERT): Likewise.
86104         * tests/test-binary-io.c (ASSERT): Likewise.
86105         * tests/test-byteswap.c (ASSERT): Likewise.
86106         * tests/test-c-ctype.c (ASSERT): Likewise.
86107         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
86108         * tests/test-c-strcasestr.c (ASSERT): Likewise.
86109         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
86110         * tests/test-c-strstr.c (ASSERT): Likewise.
86111         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
86112         * tests/test-canonicalize.c (ASSERT): Likewise.
86113         * tests/test-carray_list.c (ASSERT): Likewise.
86114         * tests/test-ceilf1.c (ASSERT): Likewise.
86115         * tests/test-ceilf2.c (ASSERT): Likewise.
86116         * tests/test-ceill.c (ASSERT): Likewise.
86117         * tests/test-count-one-bits.c (ASSERT): Likewise.
86118         * tests/test-fbufmode.c (ASSERT): Likewise.
86119         * tests/test-fflush2.c (ASSERT): Likewise.
86120         * tests/test-floorf1.c (ASSERT): Likewise.
86121         * tests/test-floorf2.c (ASSERT): Likewise.
86122         * tests/test-floorl.c (ASSERT): Likewise.
86123         * tests/test-fopen.c (ASSERT): Likewise.
86124         * tests/test-fpending.c (ASSERT): Likewise.
86125         * tests/test-fprintf-posix.c (ASSERT): Likewise.
86126         * tests/test-fpurge.c (ASSERT): Likewise.
86127         * tests/test-freadable.c (ASSERT): Likewise.
86128         * tests/test-freadahead.c (ASSERT): Likewise.
86129         * tests/test-freading.c (ASSERT): Likewise.
86130         * tests/test-freadptr.c (ASSERT): Likewise.
86131         * tests/test-freadptr2.c (ASSERT): Likewise.
86132         * tests/test-freadseek.c (ASSERT): Likewise.
86133         * tests/test-freopen.c (ASSERT): Likewise.
86134         * tests/test-frexp.c (ASSERT): Likewise.
86135         * tests/test-frexpl.c (ASSERT): Likewise.
86136         * tests/test-fseek.c (ASSERT): Likewise.
86137         * tests/test-fseeko.c (ASSERT): Likewise.
86138         * tests/test-fstrcmp.c (ASSERT): Likewise.
86139         * tests/test-ftell.c (ASSERT): Likewise.
86140         * tests/test-ftello.c (ASSERT): Likewise.
86141         * tests/test-func.c (ASSERT): Likewise.
86142         * tests/test-fwritable.c (ASSERT): Likewise.
86143         * tests/test-fwriting.c (ASSERT): Likewise.
86144         * tests/test-getdelim.c (ASSERT): Likewise.
86145         * tests/test-getline.c (ASSERT): Likewise.
86146         * tests/test-i-ring.c (ASSERT): Likewise.
86147         * tests/test-iconv-utf.c (ASSERT): Likewise.
86148         * tests/test-iconv.c (ASSERT): Likewise.
86149         * tests/test-isfinite.c (ASSERT): Likewise.
86150         * tests/test-isnand.c (ASSERT): Likewise.
86151         * tests/test-isnanf.c (ASSERT): Likewise.
86152         * tests/test-isnanl.h (ASSERT): Likewise.
86153         * tests/test-ldexpl.c (ASSERT): Likewise.
86154         * tests/test-linked_list.c (ASSERT): Likewise.
86155         * tests/test-linkedhash_list.c (ASSERT): Likewise.
86156         * tests/test-localename.c (ASSERT): Likewise.
86157         * tests/test-lseek.c (ASSERT): Likewise.
86158         * tests/test-mbscasecmp.c (ASSERT): Likewise.
86159         * tests/test-mbscasestr1.c (ASSERT): Likewise.
86160         * tests/test-mbscasestr2.c (ASSERT): Likewise.
86161         * tests/test-mbscasestr3.c (ASSERT): Likewise.
86162         * tests/test-mbscasestr4.c (ASSERT): Likewise.
86163         * tests/test-mbschr.c (ASSERT): Likewise.
86164         * tests/test-mbscspn.c (ASSERT): Likewise.
86165         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
86166         * tests/test-mbspbrk.c (ASSERT): Likewise.
86167         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
86168         * tests/test-mbsrchr.c (ASSERT): Likewise.
86169         * tests/test-mbsspn.c (ASSERT): Likewise.
86170         * tests/test-mbsstr1.c (ASSERT): Likewise.
86171         * tests/test-mbsstr2.c (ASSERT): Likewise.
86172         * tests/test-mbsstr3.c (ASSERT): Likewise.
86173         * tests/test-memchr2.c (ASSERT): Likewise.
86174         * tests/test-memmem.c (ASSERT): Likewise.
86175         * tests/test-open.c (ASSERT): Likewise.
86176         * tests/test-printf-frexp.c (ASSERT): Likewise.
86177         * tests/test-printf-frexpl.c (ASSERT): Likewise.
86178         * tests/test-printf-posix.c (ASSERT): Likewise.
86179         * tests/test-quotearg.c (ASSERT): Likewise.
86180         * tests/test-rbtree_list.c (ASSERT): Likewise.
86181         * tests/test-rbtree_oset.c (ASSERT): Likewise.
86182         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
86183         * tests/test-round1.c (ASSERT): Likewise.
86184         * tests/test-roundf1.c (ASSERT): Likewise.
86185         * tests/test-roundl.c (ASSERT): Likewise.
86186         * tests/test-signbit.c (ASSERT): Likewise.
86187         * tests/test-sleep.c (ASSERT): Likewise.
86188         * tests/test-snprintf-posix.c (ASSERT): Likewise.
86189         * tests/test-snprintf.c (ASSERT): Likewise.
86190         * tests/test-sprintf-posix.c (ASSERT): Likewise.
86191         * tests/test-stat-time.c (ASSERT): Likewise.
86192         * tests/test-strcasestr.c (ASSERT): Likewise.
86193         * tests/test-strerror.c (ASSERT): Likewise.
86194         * tests/test-striconv.c (ASSERT): Likewise.
86195         * tests/test-striconveh.c (ASSERT): Likewise.
86196         * tests/test-striconveha.c (ASSERT): Likewise.
86197         * tests/test-strsignal.c (ASSERT): Likewise.
86198         * tests/test-strstr.c (ASSERT): Likewise.
86199         * tests/test-strtod.c (ASSERT): Likewise.
86200         * tests/test-trunc1.c (ASSERT): Likewise.
86201         * tests/test-trunc2.c (ASSERT): Likewise.
86202         * tests/test-truncf1.c (ASSERT): Likewise.
86203         * tests/test-truncf2.c (ASSERT): Likewise.
86204         * tests/test-truncl.c (ASSERT): Likewise.
86205         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
86206         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
86207         * tests/test-vasnprintf.c (ASSERT): Likewise.
86208         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
86209         * tests/test-vasprintf.c (ASSERT): Likewise.
86210         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
86211         * tests/test-vprintf-posix.c (ASSERT): Likewise.
86212         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
86213         * tests/test-vsnprintf.c (ASSERT): Likewise.
86214         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
86215         * tests/test-wcwidth.c (ASSERT): Likewise.
86216         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
86217         * tests/test-xprintf-posix.c (ASSERT): Likewise.
86218         * tests/test-xvasprintf.c (ASSERT): Likewise.
86219         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
86220         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
86221         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
86222         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
86223         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
86224         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
86225         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
86226         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
86227         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
86228         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
86229         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
86230         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
86231         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
86232         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
86233         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
86234         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
86235         * tests/unictype/test-block_list.c (ASSERT): Likewise.
86236         * tests/unictype/test-block_of.c (ASSERT): Likewise.
86237         * tests/unictype/test-block_test.c (ASSERT): Likewise.
86238         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
86239         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
86240         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
86241         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
86242         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
86243         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
86244         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
86245         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
86246         * tests/unictype/test-combining.c (ASSERT): Likewise.
86247         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
86248         * tests/unictype/test-digit.c (ASSERT): Likewise.
86249         * tests/unictype/test-mirror.c (ASSERT): Likewise.
86250         * tests/unictype/test-numeric.c (ASSERT): Likewise.
86251         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
86252         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
86253         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
86254         * tests/unictype/test-scripts.c (ASSERT): Likewise.
86255         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
86256         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
86257         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
86258         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
86259         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
86260         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
86261         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
86262         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
86263         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
86264         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
86265         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
86266         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
86267         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
86268         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
86269         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
86270         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
86271         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
86272         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
86273         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
86274         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
86275         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
86276         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
86277         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
86278         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
86279         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
86280         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
86281         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
86282         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
86283         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
86284         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
86285         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
86286         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
86287         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
86288         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
86289         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
86290         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
86291         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
86292         Reported by Eric Blake.
86294 2008-04-11  Bruno Haible  <bruno@clisp.org>
86296         * lib/wchar.in.h: Tweak comment.
86298 2008-04-11  Bruno Haible  <bruno@clisp.org>
86300         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
86301         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
86302         gl_COMMON.
86303         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
86305 2008-04-11  Bruno Haible  <bruno@clisp.org>
86307         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
86309 2008-04-11  Simon Josefsson  <simon@josefsson.org>
86311         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
86312         of attempting to use non-existing /dev/*random.  Based on patch
86313         from Adam Strzelecki <ono@java.pl> in
86314         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
86316 2008-04-08  Bruno Haible  <bruno@clisp.org>
86318         Add tentative support for emx+gcc.
86319         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
86320         * lib/fpurge.c (fpurge): Likewise.
86321         * lib/freadable.c (freadable): Likewise.
86322         * lib/freadahead.c (freadahead): Likewise.
86323         * lib/freading.c (freading): Likewise.
86324         * lib/freadptr.c (freadptr): Likewise.
86325         * lib/freadseek.c (freadptrinc): Likewise.
86326         * lib/fseeko.c (rpl_fseeko): Likewise.
86327         * lib/fseterr.c (fseterr): Likewise.
86328         * lib/fwritable.c (fwritable): Likewise.
86329         * lib/fwriting.c (fwriting): Likewise.
86330         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
86332 2008-04-09  Eric Blake  <ebb9@byu.net>
86334         Avoid some autoconf warnings.
86335         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
86336         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
86337         * m4/afs.m4 (gl_AFS): Likewise.
86338         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
86339         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
86340         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
86341         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
86342         (gl_INTEGER_TYPE_SUFFIX): Likewise.
86343         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
86344         (AC_CHECK_DECLS_ONCE): Likewise.
86345         Rename file...
86346         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
86347         gnulib-tool requires autoconf 2.59 or better.
86348         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
86350 2008-04-08  Eric Blake  <ebb9@byu.net>
86352         Use 'git describe --match' if present (added in git 1.5.5).
86353         * build-aux/git-version-gen: Limit result to tags that match 'v*'
86354         if possible.
86356 2008-04-08  Bruno Haible  <bruno@clisp.org>
86358         Add tentative support for OpenServer.
86359         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
86360         _ptr, _cnt.
86361         * lib/fpurge.c (fpurge): Likewise.
86362         * lib/freadable.c (freadable): Likewise.
86363         * lib/freadahead.c (freadahead): Likewise.
86364         * lib/freading.c (freading): Likewise.
86365         * lib/freadptr.c (freadptr): Likewise.
86366         * lib/freadseek.c (freadptrinc): Likewise.
86367         * lib/fseeko.c (rpl_fseeko): Likewise.
86368         * lib/fseterr.c (fseterr): Likewise.
86369         * lib/fwritable.c (fwritable): Likewise.
86370         * lib/fwriting.c (fwriting): Likewise.
86371         Reported by Roger Cornelius <rac@tenzing.org> and
86372         Brian K. White <brian@aljex.com>.
86374 2008-04-06  Jim Meyering  <meyering@redhat.com>
86376         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
86378 2008-04-06  Bruno Haible  <bruno@clisp.org>
86380         Avoid possible error with non-ASCII bytes in UTF-8 locales.
86381         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
86382         * tests/test-printf-posix.sh: Likewise.
86383         * tests/test-vfprintf-posix.sh: Likewise.
86384         * tests/test-vprintf-posix.sh: Likewise.
86385         * tests/test-xprintf-posix.sh: Likewise.
86387 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86389         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
86390         hide error from 'ls', needed on OS/2.
86391         Report by Elbert Pol <elbert.pol@gmail.com>.
86393 2008-04-04  Eric Blake  <ebb9@byu.net>
86395         Make test-fseeko.c failures meaningful.
86396         * tests/test-fseeko.c: Print line number on failure.
86397         * tests/test-fseek.c: Likewise.
86398         Reported by Nelson H. F. Beebe.
86400         Improve strtod bug detection check.
86401         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
86402         required for Solaris 10.
86403         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
86405 2008-04-04  Bruno Haible  <bruno@clisp.org>
86407         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
86408         by m4/setenv.m4.
86410 2008-04-03  Eric Blake  <ebb9@byu.net>
86412         Ensure sane .version contents.
86413         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
86414         version string.
86415         * build-aux/git-version-gen: Improve documentation.
86417         Make GNU make output nicer.
86418         * top/GNUmakefile [!_have-Makefile]: Add dependency on
86419         MAKECMDGOALS to enforce message for all command line targets.  Set
86420         srcdir for use in maint.mk.
86422         Another maintainer tweak.
86423         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
86424         a target that regenerates version.
86426 2008-04-03  Jim Meyering  <meyering@redhat.com>
86428         vc-list-files: don't cause coreutils "make po-check" failure
86429         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
86431 2008-04-03  Eric Blake  <ebb9@byu.net>
86433         Allow VPATH usage of vc-list-files.
86434         * build-aux/vc-list-files (scriptversion): Add timestamp.
86435         (options): Add --help, --version, -C.
86436         (CVS): Support installed cvsu.
86438 2008-04-02  Bruno Haible  <bruno@clisp.org>
86440         Avoid some "statement with no effect" warnings from gcc.
86441         * tests/test-wctype.c (main): Explicitly ignore unused values.
86442         Reported by Jim Meyering.
86444 2008-04-02  Jim Meyering  <meyering@redhat.com>
86446         Avoid some warnings from "gcc -Wshadow".
86447         * tests/test-frexp.c (exp): Define to a different identifier.
86448         * tests/test-frexpl.c (exp): Likewise.
86450 2008-04-03  Jim Meyering  <meyering@redhat.com>
86452         bootstrap: remove dangling *.[ch] symlinks from lib
86453         * build-aux/bootstrap [dangling symlink removal]: Move find's
86454         -depth option to precede all others, to avoid a warning.
86455         Remove *.[ch] files too, and from "$source_base" (usually lib/).
86457 2008-04-02  Bruno Haible  <bruno@clisp.org>
86459         Avoid some warnings from "gcc -Wshadow".
86460         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
86461         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
86462         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
86463         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
86464         Reported by Jim Meyering.
86466 2008-04-01  Bruno Haible  <bruno@clisp.org>
86468         Fix test to work on IRIX 6.5 with cc.
86469         * tests/test-math.c (numeric_equal): New function.
86470         (main): Use it.
86472 2008-04-01  Bruno Haible  <bruno@clisp.org>
86474         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
86476 2008-04-01  Bruno Haible  <bruno@clisp.org>
86478         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
86479         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
86480         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
86481         (Depends-on): Remove math.
86483         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
86484         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
86485         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
86486         (Depends-on): Remove math.
86488         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
86489         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
86490         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
86491         (Depends-on): Remove math.
86492         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
86493         (Depends-on): Remove math.
86495         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
86496         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
86497         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
86498         (Depends-on): Remove math.
86499         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
86500         (Depends-on): Remove math.
86502         * tests/test-round1.c: Include nan.h.
86503         (main): Use NaNd instead of NAN.
86504         * modules/round-tests (Files): Add tests/nan.h.
86506         * tests/test-trunc1.c: Include nan.h.
86507         (main): Use NaNd instead of NAN.
86508         * modules/trunc-tests (Files): Add tests/nan.h.
86510         * tests/test-roundf1.c: Include nan.h.
86511         (main): Use NaNf instead of NAN.
86512         * modules/roundf-tests (Files): Add tests/nan.h.
86514         * tests/test-truncf1.c: Include nan.h.
86515         (main): Use NaNf instead of NAN.
86516         * modules/truncf-tests (Files): Add tests/nan.h.
86518         * tests/test-ceilf1.c: Include nan.h.
86519         (main): Use NaNf instead of NAN.
86520         * modules/ceilf-tests (Files): Add tests/nan.h.
86522         * tests/test-floorf1.c: Include nan.h.
86523         (main): Use NaNf instead of NAN.
86524         * modules/floorf-tests (Files): Add tests/nan.h.
86526         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
86527         (main): Use NaNf instead of NAN.
86528         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
86530         * tests/test-isnand.c: Include nan.h instead of <math.h>.
86531         (main): Use NaNd instead of NAN.
86532         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
86534         * tests/test-frexp.c: Include nan.h.
86535         (main): Use NaNd instead of NAN.
86536         * modules/frexp-tests (Files): Add tests/nan.h.
86538         * lib/isnan.c: Don't include <math.h>.
86539         (FUNC): Don't use NAN macro.
86540         * modules/isnand-nolibm (Depends-on): Remove math.
86541         * modules/isnanf-nolibm (Depends-on): Remove math.
86542         * modules/isnanl (Depends-on): Remove math.
86543         * modules/isnanl-nolibm (Depends-on): Remove math.
86545         * tests/nan.h: New file.
86547 2008-04-01  Eric Blake  <ebb9@byu.net>
86549         Fix typos.
86550         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
86551         values to be the right type.
86553         For now, cater to gnulib strtod inaccuracies.
86554         * tests/test-strtod.c (main): Allow 1-ulp error on expected
86555         fractional results.  While not as nice from a QoI perspective, it
86556         is a quicker patch than correctly implementing decimal to binary
86557         rounding.
86559 2008-03-31  Eric Blake  <ebb9@byu.net>
86561         Guarantee a definition of NAN.
86562         * lib/math.in.h (NAN): Define if missing.
86563         * tests/test-math.c (main): Test it.
86564         * doc/posix-headers/math.texi (math.h): Document this.
86565         * lib/isnan.c (rpl_isnand): Use it.
86566         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
86567         * tests/test-floorf1.c (NaN): Likewise.
86568         * tests/test-frexp.c (NaN): Likewise.
86569         * tests/test-isnand.c (NaN): Likewise.
86570         * tests/test-isnanf.c (NaN): Likewise.
86571         * tests/test-round1.c (NaN): Likewise.
86572         * tests/test-roundf1.c (NaN): Likewise.
86573         * tests/test-snprintf-posix.h (NaN): Likewise.
86574         * tests/test-sprintf-posix.h (NaN): Likewise.
86575         * tests/test-trunc1.c (NaN): Likewise.
86576         * tests/test-truncf1.c (NaN): Likewise.
86577         * tests/test-vasnprintf-posix.c (NaN): Likewise.
86578         * tests/test-vasprintf-posix.c (NaN): Likewise.
86579         * modules/isnand-nolibm (Depends-on): Add math.
86580         * modules/isnanf-nolibm (Depends-on): Likewise.
86581         * modules/isnanl (Depends-on): Likewise.
86582         * modules/isnanl-nolibm (Depends-on): Likewise.
86583         * modules/snprintf-posix-tests (Depends-on): Likewise.
86584         * modules/sprintf-posix-tests (Depends-on): Likewise.
86585         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
86586         * modules/vsprintf-posix-tests (Depends-on): Likewise.
86587         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
86588         * modules/vasprintf-posix-tests (Depends-on): Likewise.
86590 2008-03-31  Bruno Haible  <bruno@clisp.org>
86592         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
86593         * doc/posix-functions/strtod.texi: Likewise.
86595 2008-03-31  Bruno Haible  <bruno@clisp.org>
86597         * tests/test-strtod.c (main): Don't use C99 syntax.
86599 2008-03-31  Bruno Haible  <bruno@clisp.org>
86601         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
86602         Reported by Eric Blake.
86604 2008-03-31  Jim Meyering  <meyering@redhat.com>
86606         Don't compare actual signbit return values.
86607         * tests/test-strtod.c (main): Rather, compare only their
86608         zero/non-zero nature.
86610 2008-03-31  Eric Blake  <ebb9@byu.net>
86612         More strtod documentation.
86613         * doc/posix-functions/strtod.texi (strtod): Interpret more test
86614         failures as distinct bugs.
86616 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
86618         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
86619         Problem reported by Erik Benada in
86620         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
86622 2008-03-30  Bruno Haible  <bruno@clisp.org>
86624         * tests/test-strtod.c: Add comments about which assertion fails on which
86625         platform.
86626         * doc/posix-functions/strtod.texi: Add info about many more platforms.
86628 2008-03-30  Eric Blake  <ebb9@byu.net>
86630         Test signbit behavior on zeros.
86631         * tests/test-signbit.c (test_signbitf): Add tests for zero.
86632         (test_signbitd, test_signbitl): Likewise.
86634         More strtod touchups.
86635         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
86636         sign of negative underflow, for now.  Use .5, not .1.
86637         * doc/posix-functions/strtod.texi (strtod): Mention these
86638         limitations.
86639         Reported by Jim Meyering.
86641 2008-03-30  Bruno Haible  <bruno@clisp.org>
86643         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
86644         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
86646 2008-03-30  Bruno Haible  <bruno@clisp.org>
86648         Avoid failure when attempting to return empty iconv results on some
86649         platforms.
86650         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
86651         allocation, don't report ENOMEM when the resulting string is empty.
86653 2008-03-30  Bruno Haible  <bruno@clisp.org>
86655         Fix buffer overrun.
86656         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
86657         Don't consider the width for tmp_length. Check count against tmp_length
86658         before doing the padding. Ensure enough allocation during padding.
86660 2008-03-30  Eric Blake  <ebb9@byu.net>
86662         strtod touchups.
86663         * lib/strtod.c (strtod): Avoid compiler warnings.
86664         Reported by Jim Meyering.
86666 2008-03-30  Bruno Haible  <bruno@clisp.org>
86668         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
86669         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
86670         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
86671         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
86672         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
86673         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
86674         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
86675         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
86677         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
86678         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
86679         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
86680         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
86681         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
86682         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
86683         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
86684         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
86686         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
86687         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
86688         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
86689         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
86690         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
86691         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
86692         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
86693         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
86695         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
86696         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
86698         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
86699         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
86701         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
86702         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
86704         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
86705         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
86706         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
86708         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
86709         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
86710         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
86712         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
86713         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
86714         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
86716         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
86717         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
86718         * modules/vasprintf (Depends-on): Add EOVERFLOW.
86720         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
86721         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
86722         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
86723         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
86724         (Depends-on): Add EOVERFLOW.
86725         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
86726         (Depends-on): Add EOVERFLOW.
86727         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
86728         (Depends-on): Add EOVERFLOW.
86729         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
86730         (Depends-on): Add EOVERFLOW.
86731         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
86732         (Depends-on): Add EOVERFLOW.
86733         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
86734         (Depends-on): Add EOVERFLOW.
86735         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
86736         (Depends-on): Add EOVERFLOW.
86737         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
86738         (Depends-on): Add EOVERFLOW.
86740         * lib/sprintf.c (EOVERFLOW): Remove fallback.
86741         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
86742         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
86744         * lib/snprintf.c (EOVERFLOW): Remove fallback.
86745         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
86746         * modules/snprintf (Depends-on): Add EOVERFLOW.
86748         * lib/poll.c (EOVERFLOW): Remove fallback.
86749         * modules/poll (Depends-on): Add EOVERFLOW.
86751         * lib/getugroups.c (EOVERFLOW): Remove fallback.
86752         * modules/getugroups (Depends-on): Add EOVERFLOW.
86754         * lib/getdelim.c (EOVERFLOW): Remove fallback.
86755         * modules/getdelim (Depends-on): Add EOVERFLOW.
86757         * lib/ftell.c (EOVERFLOW): Remove fallback.
86758         * modules/ftell (Depends-on): Add EOVERFLOW.
86760         * lib/fprintf.c (EOVERFLOW): Remove fallback.
86761         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
86762         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
86764         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
86766         * modules/EOVERFLOW-tests: New file.
86767         * tests/test-EOVERFLOW.c: New file.
86769         * modules/EOVERFLOW: New file.
86770         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
86772 2008-03-30  Bruno Haible  <bruno@clisp.org>
86774         Fix bug introduced on 2007-06-10.
86775         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
86776         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
86778 2008-03-30  Bruno Haible  <bruno@clisp.org>
86780         Improve freadseek's efficiency after ungetc.
86781         * lib/freadseek.c: Include freadahead.h.
86782         (freadptrinc): New function, extracted from freadseek.
86783         (freadseek): Use it in a loop. Use freadahead to determine the number
86784         of loop iterations.
86785         * modules/freadseek (Depends-on): Add freadahead.
86786         (configure.ac): Require AC_C_INLINE.
86788 2008-03-30  Bruno Haible  <bruno@clisp.org>
86790         * lib/freadseek.c (freadseek): Don't ignore the return value of
86791         freadptr.
86793 2008-03-29  Eric Blake  <ebb9@byu.net>
86795         Add hex float support.
86796         * modules/strtod (Depends-on): Add c-ctype.
86797         (Link): Mention POW_LIB.
86798         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
86799         whitespace between 'e' and exponent.
86800         * tests/test-strtod.c (main): Enable hex float tests.
86801         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
86802         now provides.
86804         Document various strtod bugs, with some fixes.
86805         * doc/posix-functions/strtod.texi (strtod): Document bugs with
86806         "-0x", "inf", "nan", and hex constants.
86807         * doc/posix-functions/atof.texi (atof): Likewise.
86808         * modules/stdlib (Makefile.am): Support strtod.
86809         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
86810         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
86811         detect additional strtod bugs.
86812         * lib/stdlib.in.h (rpl_strtod): Add declarations.
86813         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
86814         bool where appropriate.  Parse 'inf' and 'nan'.
86815         * tests/test-strtod.c: New file.
86816         * modules/strtod (Depends-on): Add stdbool, stdlib.
86817         (configure.ac): Turn on module indicator.
86818         * modules/strtod-tests: New module.
86820 2008-03-29  Eric Blake  <ebb9@byu.net>
86822         Fix ftell on mingw.
86823         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
86824         * modules/ftell-tests (Depends-on): Add binary-io.
86825         * modules/ftello-tests (Depends-on): Likewise.
86826         * tests/test-ftell.c (main): Enhance test to cover behavior after
86827         ungetc.  Enforce binary mode.
86828         * tests/test-ftello.c (main): Likewise.
86830         Pass test-freadseek on cygwin.
86831         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
86832         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
86833         ungetc buffer.
86835         * tests/test-fflush2.c (main): Fix typo.
86837 2008-03-29  Bruno Haible  <bruno@clisp.org>
86839         * tests/test-fflush2.c (main): Temporarily disable the contents of
86840         this test.
86841         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
86842         Reported by Eric Blake.
86844 2008-03-28  Simon Josefsson  <simon@josefsson.org>
86846         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
86847         (GC_SHA224_DIGEST_SIZE): Add.
86849         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
86850         (gc_hash_digest_length): Likewise.
86851         (gc_hash_buffer): Likewise.
86853 2008-03-25  Bruno Haible  <bruno@clisp.org>
86855         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
86856         detail which gettext release to use.
86857         Reported by Simon Josefsson.
86859 2008-03-26  Jim Meyering  <meyering@redhat.com>
86861         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
86862         * modules/gnumakefile (clean-GNUmakefile): Also, use
86863         test ... && ... || : syntax rather than if-then ... fi.
86865         gnumakefile: Don't double-quote-expand $(VPATH) value.
86866         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
86868 2008-03-24  Eric Blake  <ebb9@byu.net>
86870         Alter GNUmakefile to install into top directory.
86871         * modules/maintainer-makefile: Split, and add dependency...
86872         * modules/gnumakefile: to this new module.
86873         * build-aux/GNUmakefile: Move...
86874         * top/GNUmakefile: ...here.
86875         * build-aux/maint.mk: Move...
86876         * top/maint.mk: ...here.
86877         * MODULES.html.sh (Support for maintaining...): Document new
86878         module.
86880 2008-03-23  Bruno Haible  <bruno@clisp.org>
86882         * gnulib-tool: New options --vc-files, --no-vc-files.
86883         (func_usage): Document them.
86884         (vc_files): New variable.
86885         (func_import): Consider vc_files.
86886         (func_create_testdir): Set vc_files to empty.
86887         Suggested by Jim Meyering and Karl Berry.
86889 2008-03-23  Bruno Haible  <bruno@clisp.org>
86891         Fix regex compilation error on HP-UX 11.
86892         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
86893         * modules/regex (Files): Add m4/mbstate_t.m4.
86894         Reported by Ton Voon <ton.voon@altinity.com>.
86896 2008-03-23  Bruno Haible  <bruno@clisp.org>
86898         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
86900 2008-03-23  Eric Blake  <ebb9@byu.net>
86901             Bruno Haible  <bruno@clisp.org>
86903         Install files from top/ in the destination directory.
86904         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
86905         augmentation also for the files from top/.
86906         (func_import, func_create_testdir): Rewrite file names:
86907         top/filename -> filename.
86909 2008-03-23  Bruno Haible  <bruno@clisp.org>
86911         Tweak "gnulib --version" output.
86912         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
86914 2008-03-23  Bruno Haible  <bruno@clisp.org>
86916         Tweak "gnulib --version" output.
86917         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
86918         rather than contents of ChangeLog, when possible.
86920 2008-03-21  Eric Blake  <ebb9@byu.net>
86922         More --version tweaks.
86923         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
86924         date of last ChangeLog entry.
86926 2008-03-21  Jim Meyering  <meyering@redhat.com>
86928         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
86930 2008-03-20  Eric Blake  <ebb9@byu.net>
86932         VPATH fix.
86933         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
86935 2008-03-20  Simon Josefsson  <simon@josefsson.org>
86937         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
86938         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
86940 2008-03-20  Eric Blake  <ebb9@byu.net>
86942         Sync GNUmakefile with coreutils.
86943         * build-aux/GNUmakefile (have-Makefile): Rename...
86944         (_have-Makefile): ...to this, for namespace consideration.
86945         (GNUmakefile.cfg): Include, if present.
86946         (_autoreconf): Define a default.
86947         (_is-dist-target): New rule for rebuilds to pick up intra-release
86948         version.
86949         (maint-cfg.mk): Rename...
86950         (cfg.mk): ...to this.
86952 2008-03-18  Jim Meyering  <meyering@redhat.com>
86954         New script and module: mktempd
86955         * MODULES.html.sh (maint+release support): Add mktempd.
86956         * build-aux/mktempd: New file.
86957         * modules/mktempd: New file.
86959 2008-03-15  Jim Meyering  <meyering@redhat.com>
86961         Undo last change.
86962         * lib/sha1.c, lib/md5.c: 63 != ~63.
86963         Reported by Andreas Schwab.
86965         sha1.c, md5.c: Hoist a redundant expression.
86966         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
86967         "ctx->buflen" only once, before calling *_process_block.
86968         * lib/md5.c (md5_process_bytes): Likewise.
86970 2008-03-14  Eric Blake  <ebb9@byu.net>
86972         Bump copyright year in files generated by gnulib-tool.
86973         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
86974         gnulib-tool, rather than hard-coding it.
86976         Fix 'gnulib-tool --version' output to work with git.
86977         * gnulib-tool (func_gnulib_dir): New function, extracted from...
86978         (startup): ...here.
86979         (func_version): Use it to invoke git-version-gen, rather than
86980         relying on CVS keyword expansion.  Modernize wording.
86981         (cvsdatestamp, last_checkin_date, version): Kill unused
86982         variables.
86984 2008-03-12  Jim Meyering  <meyering@redhat.com>
86986         Recognize optional cast of the argument to free.
86987         * build-aux/useless-if-before-free: Update regexps.
86989         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
86991 2008-03-11  Bruno Haible  <bruno@clisp.org>
86993         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
86994         by a single package.
86995         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
86996         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
86997         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
86998         Reported by Sam Steingold <sds@gnu.org>.
87000 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
87002         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
87003         repositories.
87005 2008-03-11  Bruno Haible  <bruno@clisp.org>
87007         Avoid conflicts between local macro definitions.
87008         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
87009         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
87011 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
87012             Bruno Haible  <bruno@clisp.org>
87014         Make va_copy work with some version of xlc on AIX 5.1.
87015         * lib/stdarg.in.h: New file.
87016         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
87017         On AIX, use a <stdarg.h> file substitute.
87018         * modules/stdarg (Files): Add lib/stdarg.in.h.
87019         (Depends-on): Add include_next.
87020         (Makefile.am): Build a stdarg.h substitute if requested.
87021         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
87023 2008-03-10  Bruno Haible  <bruno@clisp.org>
87025         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
87026         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
87027         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
87029 2008-03-10  Bruno Haible  <bruno@clisp.org>
87031         * modules/stdlib (Depends-on): Add include_next, remove
87032         absolute-header.
87034 2008-03-09  Bruno Haible  <bruno@clisp.org>
87036         * lib/freadahead.h (freadahead): Document more precisely.
87037         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
87038         the sum of both buffer sizes.
87039         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
87040         * NEWS: Document the change.
87042 2008-03-09  Bruno Haible  <bruno@clisp.org>
87044         Extend freadptr to return also the buffer size.
87045         * lib/freadptr.h (freadptr): Add sizep argument.
87046         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
87047         (freadptr): Add sizep argument. Determine buffer size like freadahead
87048         does.
87049         * tests/test-freadptr.c: Don't include freadahead.h.
87050         (main): Adapt for new calling convention of freadptr.
87051         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
87052         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
87053         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
87054         tests/test-freadptr2.sh.
87055         (Depends): Remove freadahead.
87056         (TESTS): Add test-freadptr2.sh.
87057         (check_PROGRAMS): Add test-freadptr2.
87059 2008-03-09  Bruno Haible  <bruno@clisp.org>
87061         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
87062         Report and solution by Simon Josefsson.
87064 2008-03-06  Bruno Haible  <bruno@clisp.org>
87066         Make fflush after ungetc work on BSD platforms.
87067         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
87068         * tests/test-fflush2.c: New file.
87069         * tests/test-fflush2.sh: New file.
87070         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
87071         tests/test-fflush2.c.
87072         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
87073         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
87075 2008-03-06  Eric Blake  <ebb9@byu.net>
87077         Likewise for ftello.
87078         * modules/ftello (Dependencies): Add extensions.
87079         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
87081 2008-03-06  Bruno Haible  <bruno@clisp.org>
87083         * modules/fseeko (Dependencies): Add extensions.
87084         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
87085         Needed on glibc systems.
87087 2008-03-06  Bruno Haible  <bruno@clisp.org>
87089         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
87090         email address.
87091         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
87093 2008-03-06  Bruno Haible  <bruno@clisp.org>
87095         * users.txt: Add libgnupdf.
87097 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
87099         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
87100         (Header File Substitutes, Function Substitutes,
87101         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
87102         (Build robot for gnulib): Fix typo.
87104 2008-03-06  Bruno Haible  <bruno@clisp.org>
87106         * doc/gnulib-tool.texi (VCS Issues): Small updates.
87107         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
87109 2008-03-06  Bruno Haible  <bruno@clisp.org>
87111         * doc/func.texi: New file, extracted from doc/gnulib.texi.
87112         * doc/gnulib.texi: Include it.
87114 2008-03-06  Simon Josefsson  <simon@josefsson.org>
87116         * modules/func (License): Change license to unlimited; there was
87117         no LGPL parts in the module anyway.
87119 2008-03-06  Simon Josefsson  <simon@josefsson.org>
87121         * modules/__func__: Renamed to modules/func.
87122         * modules/__func__-tests: Renamed to modules/func-tests.
87123         * tests/test-__func__.c: Renamed to tests/test-func.c.
87124         * m4/__func__.m4: Renamed to m4/func.m4.
87125         * doc/gnulib.texi (__func__): Section renamed to func.
87126         Suggested by Eric Blake <ebb9@byu.net>.
87128 2008-03-06  Simon Josefsson  <simon@josefsson.org>
87130         * doc/gnulib.texi (__func__): Use C99 terminology when talking
87131         about __func__.  Make example self-contained.  Suggested by Eric
87132         Blake <ebb9@byu.net>.
87134         * tests/test-__func__.c (main): Avoid extraneous () around __func.
87135         Suggested by Eric Blake <ebb9@byu.net>.
87137 2008-03-06  Simon Josefsson  <simon@josefsson.org>
87139         * modules/__func__: New file.
87140         * modules/__func__-tests: New file.
87141         * tests/test-__func__.c: New file.
87142         * m4/__func__.m4: New file.
87143         * doc/gnulib.texi (__func__): Document __func__ module.
87145 2008-03-05  Simon Josefsson  <simon@josefsson.org>
87147         * modules/byteswap (License): Re-license as LGPLv2+.
87149 2008-03-05  Simon Josefsson  <simon@josefsson.org>
87151         * doc/Makefile: Add pdf target.
87153 2008-03-05  Simon Josefsson  <simon@josefsson.org>
87155         * modules/inline (License): Use 'unlimited', since there are only
87156         *.m4 files in this module.
87158 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
87159             Bruno Haible  <bruno@clisp.org>
87161         Add support for HP C 7.1 on OpenVMS 8.3.
87162         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
87164 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
87166         Update VMS specifics.
87167         * lib/getopt.c [VMS]: Remove include of unixlib.h.
87169 2008-03-02  Jim Meyering  <meyering@redhat.com>
87171         Remove the last dependency on the "free" module.
87172         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
87173         Reported by Bob Proulx.
87175         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
87177         Remove useless "if" tests before free.  Deprecate "free" module.
87178         * doc/posix-functions/free.texi: Mention that this
87179         module is no longer useful.
87180         * modules/free (Notice): Say this module is obsolete.
87181         * modules/readutmp (Depends-on): Remove free.
87182         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
87183         * lib/putenv.c (putenv): Likewise.
87184         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
87185         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
87186         * tests/test-c-strcasestr.c (main): Likewise.
87187         * tests/test-c-strstr.c (main): Likewise.
87188         * tests/test-mbscasestr1.c (main): Likewise.
87189         * tests/test-mbscasestr2.c (main): Likewise.
87190         * tests/test-mbsstr1.c (main): Likewise.
87191         * tests/test-mbsstr2.c (main): Likewise.
87192         * tests/test-memmem.c (main): Likewise.
87193         * tests/test-strcasestr.c (main): Likewise.
87194         * tests/test-striconv.c (main): Likewise.
87195         * tests/test-striconveh.c (main): Likewise.
87196         * tests/test-striconveha.c (main): Likewise.
87197         * tests/test-strstr.c (main): Likewise.
87199         * build-aux/git-version-gen: Adjust a comment and the Usage string.
87201         bootstrap: sync from coreutils again
87202         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
87204 2008-03-01  Jim Meyering  <meyering@redhat.com>
87206         bootstrap: sync from coreutils
87207         * build-aux/bootstrap (update_po_files): Copy a .po file into place
87208         also when the target doesn't exist.
87210 2008-03-01  Eric Blake  <ebb9@byu.net>
87212         Fix bugs in last patch.
87213         * lib/memchr2.c (memchr2): Fix typo.
87214         * tests/test-memchr2.c: Test previous bug, and don't use GNU
87215         extension.
87216         Reported by Bruce Korb.
87218         New module 'memchr2'.
87219         * modules/memchr2: New file.
87220         * modules/memchr2-tests: Likewise.
87221         * lib/memchr2.h: Likewise.
87222         * lib/memchr2.c: Likewise, based on memchr.c.
87223         * tests/test-memchr2.c: New test.
87224         * MODULES.html.sh (String handling): Add memchr2.
87226 2008-02-29  Bruno Haible  <bruno@clisp.org>
87228         * modules/freadseek-tests: New file.
87229         * tests/test-freadseek.sh: New file.
87230         * tests/test-freadseek.c: New file.
87232         New module 'freadseek'.
87233         * modules/freadseek: New file.
87234         * lib/freadseek.h: New file.
87235         * lib/freadseek.c: New file.
87236         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
87238 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
87240         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
87241         wydawca.
87243         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
87244         program_invocation_name and program_invocation_short_name are
87245         present.
87247 2008-02-28  Bruno Haible  <bruno@clisp.org>
87249         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
87250         * tests/test-freadptr.sh: Also test non-seekable stdin.
87252 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
87254         * build-aux/bootstrap (source_base, m4_base)
87255         (doc_base, tests_base): New variables.
87256         (gnulib_tool_options): Do not hardcode base directories, use
87257         the above variables instead.
87259 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
87261         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
87263 2008-02-28  Bruno Haible  <bruno@clisp.org>
87265         * modules/freadptr-tests: New file.
87266         * tests/test-freadptr.sh: New file.
87267         * tests/test-freadptr.c: New file.
87269         New module 'freadptr'.
87270         * modules/freadptr: New file.
87271         * lib/freadptr.h: New file.
87272         * lib/freadptr.c: New file.
87273         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
87275 2008-02-26  Karl Berry  <karl@freefriends.org>
87277         Sync from Libtool:
87278         * libltdl/argz.c (argz_add, argz_count): New functions.
87279         * libltdl/argz.in.h: Declare them.
87280         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
87282 2008-02-22  Bruno Haible  <bruno@clisp.org>
87284         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
87285         is a pointer type.  Needed for HP-UX 10.
87286         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
87287         * doc/posix-functions/gmtime_r.texi: Likewise.
87288         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
87290 2008-02-24  Bruno Haible  <bruno@clisp.org>
87292         * modules/environ-tests: New file.
87293         * tests/test-environ.c: New file.
87295         New module 'environ'.
87296         * modules/environ: New file.
87297         * lib/unistd.in.h (environ): New declaration.
87298         * m4/environ.m4: New file.
87299         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
87300         after use.
87301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
87302         HAVE_DECL_ENVIRON.
87303         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
87304         HAVE_DECL_ENVIRON.
87305         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
87306         wrong claim that 'environ' is missing on some systems.
87307         * modules/execute (Depends-on): Add environ.
87308         * lib/execute.c (environ): Remove fallback declaration.
87309         * modules/pipe (Depends-on): Add environ.
87310         * lib/pipe.c (environ): Remove fallback declaration.
87311         * modules/setenv (Depends-on): Add environ.
87312         * lib/setenv.c (environ): Remove fallback declaration.
87313         * modules/unsetenv (Depends-on): Add environ.
87314         * lib/unsetenv.c (environ): Remove fallback declaration.
87315         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
87316         m4/environ.m4.
87317         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
87318         (gl_PREREQ_UNSETENV): Likewise.
87320 2008-02-24  Bruno Haible  <bruno@clisp.org>
87322         * doc/posix-functions/environ.texi: Document the MacOS X problem.
87324 2008-02-20  Bob Proulx  <bob@proulx.com>
87326         Enable use of older two part flavor 'git describe'.
87327         * build-aux/git-version-gen: If using the older two part flavor of
87328         git version then recreate the third part now present in the
87329         newer three part flavor of git describe.
87331 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
87333         * lib/fts.c (fts_build): Typo correction to comment.
87335 2008-02-17  Bruno Haible  <bruno@clisp.org>
87337         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
87338         generating no-op conflicts.
87340 2008-02-17  Bruno Haible  <bruno@clisp.org>
87342         Speed up by 10%.
87343         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
87344         result_entries, rather than an index-based loop.
87346 2008-02-17  Bruno Haible  <bruno@clisp.org>
87348         Speed up by 25%.
87349         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
87350         'hashcode_cached'.
87351         (entry_create): New function.
87352         (entry_hashcode): Use the cached hashcode if possible.
87353         (read_changelog_file, try_split_merged_entry): Use entry_create.
87355 2008-02-17  Bruno Haible  <bruno@clisp.org>
87357         Speed up from O(n^2) to O(n) for long ChangeLog files.
87358         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
87359         (read_changelog_file): Change implementation of entries_reversed list
87360         to rbtreehash.
87361         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
87363 2008-02-17  Bruno Haible  <bruno@clisp.org>
87365         New option --split-merged-entry.
87366         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
87367         (find_paragraph_end, try_split_merged_entry): New functions.
87368         (long_options): Add option --split-merged-entry.
87369         (usage): Document option --split-merged-entry.
87370         (main): Implement option --split-merged-entry.
87371         Reported by Eric Blake.
87373 2008-02-17  Bruno Haible  <bruno@clisp.org>
87375         * lib/git-merge-changelog.c: Include c-strstr.h.
87376         (main): Support the "git pull --rebase" situation.
87377         * modules/git-merge-changelog (Depends-on): Add c-strstr.
87378         Reported by Eric Blake.
87380 2008-02-16  Eric Blake  <ebb9@byu.net>
87382         Avoid doubling \ in common case of "c-maybe" quoting style.
87383         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
87384         eliding outer quotes.
87385         * lib/quotearg.h: Document this.
87386         * tests/test-quotearg.c (result_strings, inputs, results_g)
87387         (flag_results, locale_results): Test it by adding a new string to
87388         each test group.
87389         (compare_strings): Test new string.
87391 2008-02-13  Eric Blake  <ebb9@byu.net>
87393         Avoid trigraph quoting in default output.
87394         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
87395         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
87396         unless explicitly requested.
87397         * tests/test-quotearg.c (flag_results, main): Add additional tests.
87399 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
87401         Don't rely on signed integer overflowing to negative value.
87402         * lib/getugroups.c (getugroups): Include <limits.h>.
87403         Instead, compare against INT_MAX, and increment only if the test passes.
87405 2008-02-13  Jim Meyering  <meyering@redhat.com>
87406         and Eric Blake  <ebb9@byu.net>
87408         Avoid shadowing warning and compile errors on Linux.
87409         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
87410         forwarding macros on Linux.
87411         (dcgettext): Define a stub, for Linux.
87412         (results_g, main): Avoid warnings.
87414 2008-02-12  Eric Blake  <ebb9@byu.net>
87416         Silence warning in last patch.
87417         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
87419         Quotearg part 4: add tests, fix c-maybe colon quoting.
87420         * lib/quotearg.h: Improve documentation.
87421         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
87422         escapes when adding outer quotes.  When quoting trigraphs, use
87423         valid C notation.  When quoting NUL, omit extra characters if next
87424         character is not digit.  Alter prototype.
87425         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
87426         callers.
87427         * modules/quotearg-tests: New module.
87428         * tests/test-quotearg.c: New test.
87430 2008-02-07  Eric Blake  <ebb9@byu.net>
87432         Quotearg part 3: add flag to control outer quote elision.
87433         * lib/quotearg.h (c_maybe_quoting_style): New style.
87434         (enum quoting_flags): Better documentation of flags.
87435         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
87436         c-maybe style.
87437         (quotearg_buffer_restyled): Handle new flag to elide outer
87438         quotes.
87440         Quotearg part 2: add flag that can control NUL elision.
87441         * lib/quotearg.h (set_quoting_flags): New prototype.
87442         * lib/quotearg.c (struct quoting_options): Add flag field.
87443         (set_quoting_flags): New function.
87444         (quotearg_buffer_restyled): Add flags parameter.
87445         (quotearg_alloc_mem): Set the flag if length cannot be returned.
87446         (quotearg_n_options): Set the flag, since length cannot be
87447         returned.
87448         (quoting_options_from_style): Default flags correctly.
87450         Quotearg part 1: more wrappers, restore quotearg_char state.
87451         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
87452         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
87453         (quotearg_colon_mem): New wrappers.
87454         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
87455         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
87456         functions.
87457         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
87458         (quotearg_colon_mem): New functions.
87460 2008-02-11  Bruno Haible  <bruno@clisp.org>
87462         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
87463         library in the current directory: it does not work with parallel make.
87464         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
87466 2008-02-11  Bruno Haible  <bruno@clisp.org>
87468         * .gitattributes: New file.
87470 2008-02-11  Jim Meyering  <meyering@redhat.com>
87472         useless-if-before-free: Fix reversed exit values.
87473         * build-aux/useless-if-before-free: Use correct values
87474         for EXIT_MATCH and EXIT_NO_MATCH.
87476         * build-aux/useless-if-before-free: Close stdout carefully.
87478 2008-02-10  Bruno Haible  <bruno@clisp.org>
87480         New module 'git-merge-changelog'.
87481         * modules/git-merge-changelog: New file.
87482         * lib/git-merge-changelog.c: New file.
87484 2008-02-10  Jim Meyering  <meyering@redhat.com>
87486         useless-if-before-free: New option: --list (-l).
87488         useless-if-before-free: Don't exit immediately upon open failure.
87489         * build-aux/useless-if-before-free: Exit 2 for errors.
87490         Upon failure to open a file, don't exit immediately.
87491         Rather, just warn and continue with any remaining files.
87493 2008-02-10  Bruno Haible  <bruno@clisp.org>
87495         New abstract list operation 'node_set_value'.
87496         * lib/gl_list.h (gl_list_node_set_value): New function.
87497         (struct gl_list_implementation): New field node_set_value.
87498         * lib/gl_list.c (gl_list_node_set_value): New function.
87499         * lib/gl_array_list.c (gl_array_node_set_value): New function.
87500         (gl_array_list_implementation): Update.
87501         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
87502         (gl_carray_list_implementation): Update.
87503         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
87504         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
87505         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
87506         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
87507         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
87508         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
87509         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
87510         Update.
87511         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
87512         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
87513         (gl_sublist_list_implementation): Update.
87515 2008-02-10  Bruno Haible  <bruno@clisp.org>
87517         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
87518         Needed when ELEMENT is #defined to 'some_type *'.
87520 2008-02-10  Jim Meyering  <meyering@redhat.com>
87522         New script and module: useless-if-before-free
87523         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
87524         * build-aux/useless-if-before-free: New file.
87525         * modules/useless-if-before-free: New file.
87527         * build-aux/gitlog-to-changelog: Use committer date, not author date.
87529         xstrtol_error: Fix typo.
87530         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
87531         s/exit_failure/exit_status/.
87533 2008-02-09  Jim Meyering  <meyering@redhat.com>
87535         New script and module: gitlog-to-changelog
87536         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
87537         * modules/gitlog-to-changelog: New file.
87538         * build-aux/gitlog-to-changelog: New file.
87540 2008-02-08  Jim Meyering  <meyering@redhat.com>
87542         Avoid two "parameter unused" warnings.
87543         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
87544         Mark "st" as used.
87546         Use "git COMMAND", not "git-COMMAND".
87547         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
87548         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
87549         * build-aux/git-version-gen: Use "git status", not "git-status".
87551 2008-02-07  Bruno Haible  <bruno@clisp.org>
87553         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
87554         Avoids a crash on Windows Vista.
87555         Reported by Adam Strzelecki <ono@java.pl> via
87556         Simon Josefsson <simon@josefsson.org>.
87558 2008-02-06  Bruno Haible  <bruno@clisp.org>
87560         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
87561         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
87562         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
87563         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
87564         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
87565         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87566         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
87567         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
87568         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87569         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87570         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87571         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87572         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87573         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87574         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87575         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
87576         left-adjust flag.
87577         * tests/test-snprintf-posix.h (test_function): Likewise.
87578         * tests/test-sprintf-posix.h (test_function): Likewise.
87579         * tests/test-vasprintf-posix.c (test_function): Likewise.
87580         * doc/posix-functions/fprintf.texi: Update.
87581         * doc/posix-functions/printf.texi: Update.
87582         * doc/posix-functions/snprintf.texi: Update.
87583         * doc/posix-functions/sprintf.texi: Update.
87584         * doc/posix-functions/vfprintf.texi: Update.
87585         * doc/posix-functions/vprintf.texi: Update.
87586         * doc/posix-functions/vsnprintf.texi: Update.
87587         * doc/posix-functions/vsprintf.texi: Update.
87588         Reported by Peter Fales <psfales@alcatel-lucent.com>.
87590 2008-02-06  Bruno Haible  <bruno@clisp.org>
87592         Fix bug introduced on 2008-01-26.
87593         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
87595 2008-02-06  Bruno Haible  <bruno@clisp.org>
87597         Fix bug introduced on 2007-06-10.
87598         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
87599         !NEED_PRINTF_FLAG_ZERO.
87601 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
87603         getloadavg: use libperfstat on AIX5
87604         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
87606 2008-02-03  Bruno Haible  <bruno@clisp.org>
87608         * lib/diffseq.h: Add comments about required #includes.
87609         Reported by Michael Biggs <gnulib@doubleplum.net>.
87611 2008-02-01  Bruno Haible  <bruno@clisp.org>
87613         * users.txt: Add gnuit.
87615 2008-01-31  Bruno Haible  <bruno@clisp.org>
87617         * lib/md4.c (set_uint32): Mark as inline.
87618         * lib/md5.c (set_uint32): Likewise.
87619         * lib/sha1.c (set_uint32): Likewise.
87620         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
87621         * m4/md5.m4 (gl_MD5): Likewise.
87622         * m4/sha1.m4 (gl_SHA1): Likewise.
87624 2008-01-31  Jim Meyering  <meyering@redhat.com>
87626         Use "sizeof VAR", rather than a literal "4".
87627         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
87628         * lib/md4.c (md4_read_ctx): Likewise.
87629         * lib/sha1.c (sha1_read_ctx): Likewise.
87631 2008-01-31  Simon Josefsson  <simon@josefsson.org>
87633         * tests/test-sha1.c: New file, based on test-md5.c.
87635         * modules/crypto/sha1-tests: New file.
87637 2008-01-31  Simon Josefsson  <simon@josefsson.org>
87639         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
87641 2008-01-31  Jim Meyering  <meyering@redhat.com>
87643         Prefer "sizeof v" over the equivalent "4".
87644         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
87645         * lib/md5.c (set_uint32): Likewise.
87646         * lib/sha1.c (set_uint32): Likewise.
87648 2008-01-31  Simon Josefsson  <simon@josefsson.org>
87650         * lib/sha1.c (set_uint32): Mark function as static.
87652 2008-01-31  Simon Josefsson  <simon@josefsson.org>
87654         md2: clarify comments to say that alignment is not required.
87655         * lib/md2.h: Remove warning about alignment in comment.
87656         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
87657         never been required.
87659 2008-01-31  Simon Josefsson  <simon@josefsson.org>
87661         md4: adapt alignment constraint fix from sha1.
87662         * lib/md4.c (set_uint32): New function, from sha1.c
87663         (md4_read_ctx): Use it.
87664         (md4_finish_ctx): Doc fix.
87665         * lib/md4.h: Doc fix.
87667 2008-01-31  Simon Josefsson  <simon@josefsson.org>
87669         md5: adapt alignment constraint fix from sha1.
87670         * lib/md5.c (set_uint32): New function, from sha1.c
87671         (md5_read_ctx): Use it.
87672         (md5_finish_ctx): Doc fix.
87673         * lib/md5.h: Doc fix.
87675 2008-01-30  Peter Palfrader  <weasel@debian.org>
87677         sha1: remove the result buffer alignment constraint
87678         * lib/sha1.c (set_uint32): New function.
87679         (sha1_read_ctx): Rewrite to remove the result buffer alignment
87680         constraint.
87681         (sha1_finish_ctx): Remove comment warning about alignment constraint.
87682         * lib/sha1.h: Likewise.
87684 2008-01-30  Andreas Schwab  <schwab@suse.de>
87685             Bruno Haible  <bruno@clisp.org>
87687         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
87688         correct definition of LDBL_MIN_EXP.
87690 2008-01-30  Karl Berry  <karl@gnu.org>
87692         * config/srclist-update: try to preserve x bit on updates.
87693         * config/srclistvars.sh: update for karl.
87695 2008-01-29  Jim Meyering  <meyering@redhat.com>
87697         vasnprintf.c: Avoid warning about unused label
87698         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
87699         "overflow" label definition and associated code with the
87700         same cpp condition that guards the sole use of that label.
87702 2008-01-26  Bruno Haible  <bruno@clisp.org>
87704         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
87705         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
87706         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
87707         * lib/isnanl-nolibm.h (isnanl): Likewise.
87708         Reported by Paul Eggert <eggert@cs.ucla.edu>.
87710 2008-01-26  Bruno Haible  <bruno@clisp.org>
87712         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
87713         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
87715 2008-01-26  Bruno Haible  <bruno@clisp.org>
87717         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
87718         GCC >= 4.0 built-in.
87719         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
87721 2008-01-26  Bruno Haible  <bruno@clisp.org>
87723         Rename isnan, applicable to 'double' only, to isnand.
87724         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
87725         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
87726         (configure.ac): Update.
87727         (Include): Replace "isnan.h" with "isnand.h".
87728         * m4/isnand.m4: Renamed from m4/isnan.m4.
87729         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
87730         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
87731         instead of isnan.c.
87732         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
87733         instead of HAVE_ISNAN_IN_LIBC.
87734         (isnand): Renamed from isnan.
87735         * lib/isnand.c: New file.
87736         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
87737         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
87738         (Makefile.am): Update.
87739         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
87740         Include isnand.h instead of isnan.h.
87741         (main): Test isnand instead of isnan.
87742         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
87743         isnan-nolibm.
87744         * modules/frexp (Depends-on): Likewise.
87745         * modules/frexp-tests (Depends-on): Likewise.
87746         * modules/frexp-nolibm (Depends-on): Likewise.
87747         * modules/frexp-nolibm-tests (Depends-on): Likewise.
87748         * modules/isfinite (Depends-on): Likewise.
87749         * modules/round-tests (Depends-on): Likewise.
87750         * modules/signbit (Depends-on): Likewise.
87751         * modules/signbit-tests (Depends-on): Likewise.
87752         * modules/snprintf-posix (Depends-on): Likewise.
87753         * modules/sprintf-posix (Depends-on): Likewise.
87754         * modules/trunc-tests (Depends-on): Likewise.
87755         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
87756         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
87757         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
87758         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
87759         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
87760         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
87761         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
87762         * modules/vasnprintf-posix (Depends-on): Likewise.
87763         * modules/vasprintf-posix (Depends-on): Likewise.
87764         * modules/vfprintf-posix (Depends-on): Likewise.
87765         * modules/vsnprintf-posix (Depends-on): Likewise.
87766         * modules/vsprintf-posix (Depends-on): Likewise.
87767         * lib/frexp.c: Include isnand.h instead of isnan.h.
87768         (ISNAN): Set to isnand instead of isnan.
87769         * lib/isfinite.c: Include isnand.h instead of isnan.h.
87770         (gl_isfinited): Use isnand instead of isnan.
87771         * lib/signbitd.c: Include isnand.h instead of isnan.h.
87772         (gl_signbitd): Use isnand instead of isnan.
87773         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
87774         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
87775         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
87776         (main): Use isnand instead of isnan.
87777         * tests/test-round1.c: Include isnand.h.
87778         (main): Use isnand instead of isnan.
87779         * tests/test-round2.c: Include isnand.h instead of isnan.h.
87780         (ISNAN): Set to isnand instead of isnan.
87781         * tests/test-trunc1.c: Include isnand.h.
87782         (main): Use isnand instead of isnan.
87783         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
87784         (equal): Use isnand instead of isnan.
87785         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
87786         isnand-nolibm.
87787         * NEWS: Mention the change.
87789 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
87790             Bruno Haible  <bruno@clisp.org>
87792         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
87793         the GCC builtins for signbits are present and set
87794         REPLACE_SIGNBIT_USING_GCC if so.
87795         * lib/math.in.h (signbit): Define using GCC builtins if
87796         REPLACE_SIGNBIT_USING_GCC is set.
87797         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
87798         REPLACE_SIGNBIT_USING_GCC.
87799         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
87801 2008-01-25  Jim Meyering  <meyering@redhat.com>
87803         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
87804         * lib/poll.c: Include <config.h>, not "config.h".
87805         * tests/test-getaddrinfo.c: Likewise.
87807 2008-01-25  Simon Josefsson  <simon@josefsson.org>
87809         * modules/sockets-tests: New file.
87811 2008-01-24  Simon Josefsson  <simon@josefsson.org>
87813         * modules/sockets: New module, can be used to call WSA_Startup and
87814         WSA_Cleanup when needed.
87816         * lib/sockets.h, lib/sockets.c: New files.
87818         * m4/sockets.m4: New file.
87820         * tests/test-sockets.c: New file.
87822 2008-01-19  Bruno Haible  <bruno@clisp.org>
87824         * doc/posix-headers: Renamed from doc/headers.
87825         * doc/posix-functions: Renamed from doc/functions.
87826         * doc/gnulib.texi: Update.
87828 2008-01-19  Bruno Haible  <bruno@clisp.org>
87830         * doc/glibc-functions/strcasestr.texi: Include contents of
87831         doc/functions/strcasestr.texi, fixing the list of platforms.
87832         * doc/functions/strcasestr.texi: Remove file.
87834 2008-01-19  Bruno Haible  <bruno@clisp.org>
87836         * doc/glibc-functions/memmem.texi: Include contents of
87837         doc/functions/memmem.texi.
87838         * doc/functions/memmem.texi: Remove file.
87840 2008-01-18  Bruno Haible  <bruno@clisp.org>
87842         * doc/glibc-functions/*.texi: New files.
87843         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
87844         to use the new files.
87846 2008-01-17  Bruno Haible  <bruno@clisp.org>
87848         * tests/test-gethostname.c (main): Fix printf statement.
87850 2008-01-17  Simon Josefsson  <simon@josefsson.org>
87852         * modules/gethostname-tests: New file.
87854         * tests/test-gethostname.c: New file.
87856 2008-01-17  Simon Josefsson  <simon@josefsson.org>
87858         * lib/gethostname.c: Include string.h unconditionally, strncpy is
87859         used by the UNAME case.  Reported by Bruno Haible
87860         <bruno@clisp.org>.
87862 2008-01-17  Eric Blake  <ebb9@byu.net>
87864         Convert c-strcasestr to be more efficient.
87865         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
87866         (Depends-on): Add c-strcase, remove malloca, strnlen.
87867         * tests/test-c-strcasestr.c (main): Enhance test.
87868         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
87870 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
87872         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
87873         Use it in creating po/Makevars.
87875 2008-01-15  Simon Josefsson  <simon@josefsson.org>
87877         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
87878         Applications that requires it should initialize libgcrypt
87879         manually.
87881 2008-01-16  Simon Josefsson  <simon@josefsson.org>
87883         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
87885 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
87887         Fix problem with getdate on mingw32 reported by Simon Josefsson
87888         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
87889         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
87890         tzname", when deciding whether to declare tzname.
87891         * lib/strftime.c (tzname): Likewise.
87893 2008-01-15  Bruno Haible  <bruno@clisp.org>
87895         Work around a MacOS X 10.5 bug in frexpl().
87896         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
87897         * doc/functions/frexpl.texi: Document the bug.
87898         Reported by Elias Pipping <pipping@gentoo.org>.
87900 2008-01-14  Eric Blake  <ebb9@byu.net>
87902         Touch up previous patch.
87903         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
87904         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
87906         Convert strcasestr module to use Two-Way algorithm.
87907         * modules/strcasestr-simple: New module, based on the old
87908         strcasestr, but with Two-Way rather than KMP.
87909         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
87910         * lib/string.in.h (rpl_strcasestr): Declare.
87911         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
87912         performance.
87913         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
87914         * modules/string (Makefile.am): Support strcasestr.
87915         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
87916         * modules/strcasestr-tests (Depends-on): Check for alarm.
87917         * tests/test-strcasestr.c: Augment test.
87918         * lib/str-two-way.h: Clean up stray macro.
87919         * NEWS: Document new module.
87920         * MODULES.html.sh (string handling): Likewise.
87921         * doc/functions/strcasestr.texi: New file.
87922         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
87923         here, since it is not a POSIX function.
87925 2008-01-14  Colin Watson  <cjwatson@debian.org>
87926             Bruno Haible  <bruno@clisp.org>
87928         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
87929         works fine; if not, set REPLACE_STRSIGNAL.
87930         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
87931         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
87932         REPLACE_STRSIGNAL.
87933         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
87934         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
87935         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
87937 2008-01-14  Bruno Haible  <bruno@clisp.org>
87939         * modules/strsignal (Include): Change to <string.h>.
87941 2008-01-14  Colin Watson  <cjwatson@debian.org>
87943         * modules/argp (Notice): Add a notice recommending to change
87944         XGETTEXT_OPTIONS.
87945         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
87947 2008-01-13  Colin Watson  <cjwatson@debian.org>
87949         * modules/strsignal-tests: New file.
87950         * tests/test-strsignal.c: New file.
87952         * lib/strsignal.c: New file, from glibc with modifications.
87953         * lib/siglist.h: New file, from glibc with modifications.
87954         * lib/string.in.h (strsignal): New declaration.
87955         * m4/strsignal.m4: New file.
87956         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
87957         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
87958         * modules/strsignal: New file.
87959         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
87960         HAVE_DECL_STRSIGNAL.
87962 2008-01-13  Bruno Haible  <bruno@clisp.org>
87964         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
87965         locale encoding is not ASCII. Needed for OpenBSD 4.0.
87966         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
87967         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
87969 2008-01-13  Bruno Haible  <bruno@clisp.org>
87971         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
87972         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
87973         * lib/argp.h (__attribute__): Likewise.
87974         * lib/c-stack.c (__attribute__): Likewise.
87975         * lib/error.h (__attribute__): Likewise.
87976         * lib/fts.c (__attribute__): Likewise.
87977         * lib/openat.h (__attribute__): Likewise.
87978         * lib/stdio.in.h (__attribute__): Likewise.
87979         * lib/string.in.h (__attribute__): Likewise.
87980         * lib/utimens.c (__attribute__): Likewise.
87981         * lib/vasnprintf.h (__attribute__): Likewise.
87982         * lib/xalloc.h (__attribute__): Likewise.
87983         * lib/xprintf.h (__attribute__): Likewise.
87984         * lib/xstrtol.h (__attribute__): Likewise.
87985         * lib/xvasprintf.h (__attribute__): Likewise.
87987 2008-01-12  Bruno Haible  <bruno@clisp.org>
87989         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
87990         * doc/glibc-headers/a.out.texi: New file.
87991         * doc/glibc-headers/aliases.texi: New file.
87992         * doc/glibc-headers/alloca.texi: New file.
87993         * doc/glibc-headers/ar.texi: New file.
87994         * doc/glibc-headers/argp.texi: New file.
87995         * doc/glibc-headers/argz.texi: New file.
87996         * doc/glibc-headers/byteswap.texi: New file.
87997         * doc/glibc-headers/crypt.texi: New file.
87998         * doc/glibc-headers/endian.texi: New file.
87999         * doc/glibc-headers/envz.texi: New file.
88000         * doc/glibc-headers/err.texi: New file.
88001         * doc/glibc-headers/error.texi: New file.
88002         * doc/glibc-headers/execinfo.texi: New file.
88003         * doc/glibc-headers/fpu_control.texi: New file.
88004         * doc/glibc-headers/fstab.texi: New file.
88005         * doc/glibc-headers/fts.texi: New file.
88006         * doc/glibc-headers/getopt.texi: New file.
88007         * doc/glibc-headers/ieee754.texi: New file.
88008         * doc/glibc-headers/ifaddrs.texi: New file.
88009         * doc/glibc-headers/libintl.texi: New file.
88010         * doc/glibc-headers/mcheck.texi: New file.
88011         * doc/glibc-headers/mntent.texi: New file.
88012         * doc/glibc-headers/obstack.texi: New file.
88013         * doc/glibc-headers/paths.texi: New file.
88014         * doc/glibc-headers/printf.texi: New file.
88015         * doc/glibc-headers/pty.texi: New file.
88016         * doc/glibc-headers/resolv.texi: New file.
88017         * doc/glibc-headers/shadow.texi: New file.
88018         * doc/glibc-headers/sysexits.texi: New file.
88019         * doc/glibc-headers/ttyent.texi: New file.
88021 2008-01-12  Jim Meyering  <meyering@redhat.com>
88023         announce-gen: emit Gnulib's git-based version string.
88024         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
88025         New option --gnulib-version=V, where V is expected to be
88026         the output of running git describe in the gnulib directory.
88027         (get_tool_versions): Request feedback on xdelta.  I suspect it's
88028         not useful, and plan to stop publishing an xdelta file with each
88029         coreutils release.
88031         * build-aux/announce-gen: Also check for lzma-compressed files.
88033 2008-01-11  Bruno Haible  <bruno@clisp.org>
88035         * tests/test-memmem.c (main): Increase maximum allowed time.
88036         * tests/test-strstr.c (main): Likewise.
88038 2008-01-11  Bruno Haible  <bruno@clisp.org>
88040         * doc/functions/memmem.texi: Add more precisions about platforms.
88041         * doc/functions/strstr.texi: Likewise.
88043 2008-01-10  Eric Blake  <ebb9@byu.net>
88045         * m4/strstr.m4: Delete cruft from copy-n-paste.
88046         Reported by Bruno Haible.
88048 2008-01-10  Bruno Haible  <bruno@clisp.org>
88050         Make c-strstr rely on strstr.
88051         * lib/c-strstr.c: Don't include str-kmp.h.
88052         (c_strstr): Define in terms of strstr.
88053         * modules/c-strstr (Files): Remove lib/str-kmp.h.
88054         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
88056 2008-01-10  Bruno Haible  <bruno@clisp.org>
88058         * doc/gnulib.texi (String Functions in C Locale): New section.
88059         * doc/c-ctype.texi: New file.
88060         * doc/c-strcase.texi: New file.
88061         * doc/c-strcaseeq.texi: New file.
88062         * doc/c-strcasestr.texi: New file.
88063         * doc/c-strstr.texi: New file.
88064         * doc/c-strtod.texi: New file.
88065         * doc/c-strtold.texi: New file.
88067 2008-01-10  Eric Blake  <ebb9@byu.net>
88069         * lib/relocatable.h: Fix a comment.
88071 2008-01-10  Eric Blake  <ebb9@byu.net>
88073         Share two-way algorithm.
88074         * lib/str-two-way.h: New file, merged from...
88075         * lib/memmem.c: ...here...
88076         * lib/strstr.c: ...and here.
88077         * modules/memmem (Files): Use it.
88078         * modules/strstr (Files): Likewise.
88080         Avoid quadratic strstr implementations.
88081         * lib/strstr.c: New file.
88082         * m4/strstr.m4: Likewise.
88083         * modules/strstr: Likewise.
88084         * modules/strstr-tests: Likewise.
88085         * tests/test-strstr.c: Likewise.
88086         * lib/string.in.h (rpl_strstr): Declare.
88087         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
88088         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
88089         * modules/string (Makefile.am): Likewise.
88090         * MODULES.html.sh (string handling): Mention new module.
88091         * doc/functions/strstr.texi (strstr): Document the bug.
88093 2008-01-10  Bruno Haible  <bruno@clisp.org>
88095         * lib/relocatable.h (relocate): State whether result is freshly
88096         allocated or not.
88097         * lib/relocatable.c (relocate): Return a freshly allocated string
88098         instead of a pointer to a privately held string.
88099         Reported by Sylvain Beucler <beuc@gnu.org>.
88101 2008-01-10  Colin Watson  <cjwatson@debian.org>
88103         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
88104         s/S_ISNLK/S_ISLNK/.
88106 2008-01-09  Bruno Haible  <bruno@clisp.org>
88108         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
88109         and other files.
88110         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
88111         if it's only a guess.
88112         * modules/memmem: Simplify by depending on memmem-simple.
88114 2008-01-09  Bruno Haible  <bruno@clisp.org>
88116         Work around OpenBSD 4.0 tdelete() bug.
88117         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
88118         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
88119         macros and don't redefine the enum values.
88120         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
88121         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
88122         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
88124 2008-01-09  Bruno Haible  <bruno@clisp.org>
88126         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
88127         (main): Don't perform the tests if setlocale did not install a UTF-8
88128         locale. Needed on OpenBSD 4.0.
88129         * modules/wcwidth-tests (Depends-on): Add localcharset.
88131 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
88133         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
88134         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
88135         * NEWS: announce this.
88136         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
88138 2008-01-09  Simon Josefsson  <simon@josefsson.org>
88139         and Eric Blake  <ebb9@byu.net>
88141         Add memmem-simple module.
88142         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
88143         (gl_FUNC_MEMMEM): Separate performance from presence checks.
88144         * modules/memmem-simple: New file.
88145         * modules/memmem (Description): Tweak.
88146         * MODULES.html.sh (string handling): Mention new module.
88147         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
88148         addressed by memmem-simple.
88149         * NEWS: Document the difference.
88151 2008-01-09  Eric Blake  <ebb9@byu.net>
88153         Give gcc some memmem optimization hints.
88154         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
88155         (strcasestr): Declare as pure.
88156         * modules/memmem (Maintainer): Claim my implementation.
88158 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88160         Support AIX 6.1 and higher.
88161         * build-aux/config.libpath: Likewise.
88162         * build-aux/config.rpath: Likewise.
88164 2008-01-08  Jim Meyering  <meyering@redhat.com>
88165             Bruno Haible  <bruno@clisp.org>
88167         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
88168         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
88169         Reported by Peter Fales in
88170         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
88172 2008-01-08  Bruno Haible  <bruno@clisp.org>
88174         * modules/unictype/category-of (Depends-on): Add
88175         unictype/category-none.
88176         * modules/unictype/category-and-tests (Depends-on): Add
88177         unictype/category-{L,N,Lu,Nd}.
88178         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
88179         * modules/unictype/category-or-tests (Depends-on): Add
88180         unictype/category-{L,N}.
88181         * modules/unictype/category-name-tests (Depends-on): Add
88182         unictype/category-{Z,Nl}.
88183         Reported by Simon Josefsson.
88185 2008-01-08  Bruno Haible  <bruno@clisp.org>
88187         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
88188         convention better.
88189         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
88190         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
88191         Reported by Peter Miller <millerp@canb.auug.org.au>.
88193 2008-01-08  Eric Blake  <ebb9@byu.net>
88195         Rewrite memmem to guarantee linear complexity without malloc.
88196         * lib/memmem.c (memmem): Use Two-Way rather than
88197         Knuth-Morris-Pratt, to allow O(1) space usage.
88198         (critical_factorization, two_way_short_needle)
88199         (two_way_long_needle): New functions.
88200         (knuth_morris_pratt): Delete.
88201         * modules/memmem (Depends-on): No longer need malloca or stdbool.
88202         Add stdint.
88203         * tests/test-memmem.c (main): Add tests for periodic needle and
88204         sublinear performance.
88205         * doc/functions/memmem.texi (memmem): Document other deficiencies
88206         in cygwin and older glibc.
88208 2008-01-08  Bruno Haible  <bruno@clisp.org>
88210         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
88211         augmentation.
88213 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
88215         Add a configure time option: --disable-acl.
88216         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
88217         AC_ARG_ENABLE(acl).
88219 2008-01-06  Simon Josefsson  <simon@josefsson.org>
88221         * tests/test-localename.c: Don't include obsolete "setenv.h".
88223         * modules/localename-tests (Depends-on): Need unsetenv.
88225 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88227         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
88229 2008-01-06  Colin Watson  <cjwatson@debian.org>
88231         * users.txt: Add man-db.
88233 2008-01-07  Bruno Haible  <bruno@clisp.org>
88235         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
88236         previous section name.
88238 2008-01-07  Bruno Haible  <bruno@clisp.org>
88240         * lib/progname.c (set_program_name): Don't strip off a leading
88241         "lt-" prefix outside a .libs directory.
88242         Suggested by Paul Eggert.
88244 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
88245             Bruno Haible  <bruno@clisp.org>
88247         Improve memory cleanup in 'relocatable' module.
88248         * lib/relocatable.h (compute_curr_prefix): Change return type to
88249         'char *'.
88250         * lib/relocatable.c (compute_curr_prefix): Change return type to
88251         'char *'. Free curr_installdir after use.
88252         (relocate): Free curr_prefix_better after use.
88253         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
88255 2008-01-01  Bruno Haible  <bruno@clisp.org>
88257         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
88258         failure on older glibc systems.
88259         Reported by Peter Fales <psfales@alcatel-lucent.com>.
88261 2008-01-05  Eric Blake  <ebb9@byu.net>
88263         Avoid quadratic system memmem.
88264         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
88265         Reported by Ralf Wildenhues.
88267         Fix memmem test for mingw.
88268         * modules/memmem-tests (configure.ac): Check for alarm.
88269         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
88270         it.
88271         * doc/functions/memmem.texi: New file.
88272         * doc/gnulib.texi (Function Substitutes): Add memmem.
88273         Reported by Bruno Haible.
88275 2008-01-04  Bruno Haible  <bruno@clisp.org>
88277         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
88278         Require gl_HEADER_STRINGS_H_DEFAULTS, not
88279         gl_HEADER_STRING_H_DEFAULTS.
88281 2008-01-04  Eric Blake  <ebb9@byu.net>
88283         Shorten duration of memmem test.
88284         * tests/test-memmem.c (main): Use alarm to declare failure if test
88285         is taking too long.
88286         Reported by Ralf Wildenhues.
88288 2007-12-21  Simon Josefsson  <simon@josefsson.org>
88290         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
88291         string, needed by strerror.
88293 2008-01-03  Colin Watson  <cjwatson@debian.org>
88294             Bruno Haible  <bruno@clisp.org>
88296         * doc/gnulib-tool.texi (Localization): New section.
88298 2008-01-02  Bruno Haible  <bruno@clisp.org>
88300         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
88301         variables to 'unsigned char *' type.
88302         Reported by Paul Eggert.
88304 2008-01-02  Jim Meyering  <jim@meyering.net>
88306         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
88308 2007-12-31  Jim Meyering  <jim@meyering.net>
88310         Avoid use of private FTS type name.
88311         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
88313 2007-12-30  Karl Berry  <karl@gnu.org>
88315         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
88316         work around defect in Texinfo and/or the standalone Info browser.
88318 2007-12-30  Bruno Haible  <bruno@clisp.org>
88320         Unify 5 copies of the KMP code.
88321         * lib/str-kmp.h: New file.
88322         * lib/c-strcasestr.c: Include str-kmp.h.
88323         (knuth_morris_pratt): Remove function.
88324         (c_strcasestr): Update.
88325         * lib/c-strstr.c: Include str-kmp.h.
88326         (knuth_morris_pratt): Remove function.
88327         (c_strcasestr): Update.
88328         * lib/mbscasestr.c: Include str-kmp.h.
88329         (knuth_morris_pratt_unibyte): Remove function.
88330         * lib/mbsstr.c: Include str-kmp.h.
88331         (knuth_morris_pratt_unibyte): Remove function.
88332         * lib/strcasestr.c: Include str-kmp.h.
88333         (knuth_morris_pratt): Remove function.
88334         (strcasestr): Update.
88335         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
88336         * modules/c-strstr (Files): Likewise.
88337         * modules/mbscasestr (Files): Likewise.
88338         * modules/mbsstr (Files): Likewise.
88339         * modules/strcasestr (Files): Likewise.
88340         Suggested by Paul Eggert.
88342 2007-12-30  Bruno Haible  <bruno@clisp.org>
88344         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
88345         defined.
88347 2007-12-30  Bruno Haible  <bruno@clisp.org>
88349         * lib/xmalloca.h: Include xalloc.h.
88350         (xnmalloca): New macro.
88352 2007-12-30  Bruno Haible  <bruno@clisp.org>
88354         * lib/malloca.h (nmalloca): New macro.
88355         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
88356         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
88357         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
88358         knuth_morris_pratt_multibyte): Likewise.
88359         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
88360         knuth_morris_pratt_multibyte): Likewise.
88361         * lib/memmem.c (knuth_morris_pratt): Likewise.
88362         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
88364 2007-12-25  Bruno Haible  <bruno@clisp.org>
88366         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
88367         * lib/glob.c: Don't include openat.h.
88368         (link_exists2_p): Add back the code that deals with the
88369         !GLOB_ALTDIRFUNC case.
88370         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
88371         let it do the filename concatenation.
88372         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
88373         * modules/glob (Depends-on): Remove openat.
88375 2007-12-31  Bruno Haible  <bruno@clisp.org>
88377         * modules/dirfd (License): Change to LGPLv2+.
88378         Approved by Jim Meyering.
88380 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
88382         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
88383         when multiplying M by sizeof (size_t).
88385 2007-12-10  Martin Lambers  <marlam@marlam.de>
88387         Override getpagesize on mingw.
88388         * lib/getpagesize.c: New file.
88389         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
88390         * modules/getpagesize (Files): Add lib/getpagesize.c.
88391         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
88392         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
88393         REPLACE_GETPAGESIZE.
88394         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
88396 2007-12-25  Bruno Haible  <bruno@clisp.org>
88398         * modules/localcharset (Notice): New field.
88399         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
88400         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
88402 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
88403             Bruno Haible  <bruno@clisp.org>
88405         Avoid using the syntax symbol() in formatted documentation.
88406         * MODULES.html.sh (func_module): When replacing symbol() with a
88407         hyperlink, remove the parentheses. Show an error if some remain.
88408         Recognize and render the '...' syntax.
88409         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
88410         Rework. Add paragraph about GCC's inlining.
88411         * doc/alloca.texi: Likewise.
88412         * doc/error.texi: Remove parentheses from symbol reference.
88413         * doc/gnulib-intro.texi: Likewise.
88414         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
88415         * modules/fnmatch (Description): Reword to say "the ... function".
88416         * modules/full-read (Description): Likewise.
88417         * modules/full-write (Description): Likewise.
88418         * modules/safe-read (Description): Likewise.
88419         * modules/safe-write (Description): Likewise.
88420         * modules/strchrnul (Description): Likewise.
88421         * modules/trim (Description): Likewise.
88422         * modules/error (Description): Remove parentheses from symbol
88423         references.
88424         * modules/verror (Description): Likewise.
88425         Reported by Karl Berry.
88427 2007-12-25  Bruno Haible  <bruno@clisp.org>
88429         Fixup after 2007-10-16 commit.
88430         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
88432 2007-12-24  Bruno Haible  <bruno@clisp.org>
88434         Make --enable-relocatable work with DESTDIR.
88435         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
88436         to compute installdir from destprog.
88437         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
88438         also set the RELOC_DESTDIR variable.
88439         Reported by Левашев Иван <octagram@bluebottle.com>.
88441 2007-12-24  Bruno Haible  <bruno@clisp.org>
88443         Fix link error due to xalloc_die().
88444         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
88445         of xreadlink.
88446         * lib/relocwrapper.c: Update comments.
88447         * build-aux/install-reloc: Remove xreadlink.c from file list.
88448         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
88449         xreadlink.c.
88450         Reported by Левашев Иван <octagram@bluebottle.com>.
88452 2007-12-24  Bruno Haible  <bruno@clisp.org>
88454         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
88455         * lib/setenv.h: Remove file.
88456         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
88457         lib/setenv.h.
88458         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
88459         (Depends-on): Add stdlib.
88460         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
88461         gl_FUNC_UNSETENV.
88462         (Include): Replace setenv.h with <stdlib.h>.
88463         * modules/unsetenv: New file.
88464         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
88465         * lib/unsetenv.c: Include <stdlib.h> first.
88466         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
88467         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
88468         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
88469         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
88470         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
88471         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
88472         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
88473         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
88474         * doc/functions/unsetenv.texi: Update.
88475         * modules/xsetenv (Depends-on): Add unsetenv.
88476         * modules/getdate (Depends-on): Likewise.
88477         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
88478         * lib/xsetenv.c: Don't include setenv.h.
88479         * lib/getdate.y: Likewise.
88480         * lib/relocwrapper.c: Likewise.
88481         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
88482         (Depends-on): Add stdlib.
88483         * NEWS: Mention the changes.
88484         Reported by Левашев Иван <octagram@bluebottle.com>.
88486 2007-12-23  Bruno Haible  <bruno@clisp.org>
88488         * lib/memmem.c (memmem): Use lowercase variable names. Tab
88489         indentation.
88491 2007-12-23  Bruno Haible  <bruno@clisp.org>
88493         * lib/c-strcasestr.c: Add more comments.
88494         * lib/c-strstr.c: Likewise.
88495         * lib/mbscasestr.c: Likewise.
88496         * lib/mbsstr.c: Likewise.
88497         * lib/strcasestr.c: Likewise.
88498         * lib/memmem.c: Likewise.
88500 2007-12-23  Bruno Haible  <bruno@clisp.org>
88502         * tests/test-memmem.c: Include <string.h> first.
88504 2007-12-22  Bruno Haible  <bruno@clisp.org>
88506         * gnulib-tool (func_create_testdir): Change $auxdir while generating
88507         the contents of $testsbase.
88508         Reported by Ralf Wildenhues.
88510 2007-12-22  Bruno Haible  <bruno@clisp.org>
88512         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
88513         two variables local_ldadd_before, local_ldadd_last.
88515 2007-12-20  Eric Blake  <ebb9@byu.net>
88517         Work around circular library issue when cross-compiling.
88518         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
88519         that progname.o does not need to pull in rpl_memcmp.
88521 2007-12-19  Eric Blake  <ebb9@byu.net>
88523         Fix memmem to avoid O(n^2) worst-case complexity.
88524         * lib/memmem.c (knuth_morris_pratt): New function.
88525         (memmem): Use it if first few naive iterations fail.
88526         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
88527         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
88528         * modules/memchr (License): Likewise.
88529         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
88530         malloca.
88531         * tests/test-memmem.c: Rewrite, borrowing ideas from
88532         test-mbsstr1.c; the old version wouldn't even compile!
88533         * modules/memmem-tests: New file.
88534         * lib/string.in.h (rpl_memmem): Add declaration.
88535         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
88536         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
88537         REPLACE_MEMMEM.
88539 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
88541         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
88542         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
88543         before any system include files, and undef after them all.  This
88544         should fix a problem on VMS reported by John E. Malmberg in
88545         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
88547 2007-12-17  Eric Blake  <ebb9@byu.net>
88549         Revert addition of verify, for BSD/OS.
88550         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
88551         can't handle large files, for the sake of obsolete platforms.
88552         * modules/fseeko (Depends-on): Remove verify.
88553         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
88554         * doc/functions/ftello.texi (ftello): Likewise.
88555         * doc/functions/fgetpos.texi (fgetpos): Likewise.
88556         Reported by Larry Jones.
88558 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
88560         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
88561         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
88563 2007-12-17  Jim Meyering  <meyering@redhat.com>
88565         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
88566         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
88567         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
88568         * modules/getcwd (Depends-on): Add openat.
88569         Reported by Petr Salinger.
88571 2007-12-17  Bruno Haible  <bruno@clisp.org>
88573         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
88574         avoid a segmentation fault of the configure test on x86_64 systems.
88576 2007-12-15  Jim Meyering  <meyering@redhat.com>
88578         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
88580 2007-12-13  Eric Blake  <ebb9@byu.net>
88582         Another fseek test.
88583         * tests/test-fseek.c (main): Also test ungetc handling.
88584         * tests/test-fseeko.c (main): Likewise.
88585         * modules/fseeko (Depends-on): Add verify.
88586         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
88587         large.
88588         Reported by Larry Jones.
88590         Fix fseeko on mingw.
88591         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
88592         seek.
88594         Beef up fseek tests.
88595         * tests/test-fseek.c (main): Also test eof handling.
88596         * tests/test-fseeko.c (main): Likewise.
88597         Reported by Larry Jones.
88599 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
88601         Fix fseeko on BSD-based platforms.
88602         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
88603         successful seek.
88605 2007-12-12  Eric Blake  <ebb9@byu.net>
88607         Allow circular dependency of separate libtests.a
88608         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
88609         when use_libtests.
88611 2007-12-11  Eric Blake  <ebb9@byu.net>
88613         Fix bug with -0.0L in previous patch.
88614         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
88615         * tests/test-isnan.c (main): Also test on zeroes.
88616         * tests/test-isnanf.c (main): Likewise.
88617         * tests/test-isnanl.h (main): Likewise.
88619         Detect pseudo-denormals on x86 even when cross-compiling.
88620         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
88621         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
88622         invalid bit patterns that happen to satisfy ==.
88624         Avoid link failures with separate libtests.a.
88625         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
88626         last, to satisfy circular dependencies.
88628 2007-12-11  Eric Blake  <ebb9@byu.net>
88629         and Bruno Haible  <bruno@clisp.org>
88631         Fix OpenBSD 4.0 <float.h> handling of long double.
88632         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
88633         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
88634         * doc/headers/float.texi (float.h): Document OpenBSD bug.
88636 2007-12-11  Jim Meyering  <meyering@redhat.com>
88638         * users.txt: Add libvirt.
88640         Support versions of autoconf prior to 2.59c.
88641         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
88642         if it is not already defined.
88644 2007-12-09  Bruno Haible  <bruno@clisp.org>
88646         Let 'gnulib-tool --import' collect sources needed for the tests in
88647         tests/ rather than in lib/.
88648         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
88649         argument. If true, add rules to generate libtests.a, and put libtests.a
88650         into $(LDADD). Consider source files in subdirectories and set
88651         uses_subdirs.
88652         (func_emit_initmacro_start, func_emit_initmacro_end,
88653         func_emit_initmacro_done): Pass all arguments explicitly.
88654         (func_import): Determine two module lists main_modules,
88655         testsrelated_modules. Determine use_libtests. Determine two variables
88656         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
88657         instead of just sed_transform_lib_file. Determine two variables
88658         main_files and testsrelated_files. Compute 'files' as the union of
88659         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
88660         func_add_or_update. In the generated gnulib-comp.m4, collect the
88661         object files for tests/ in different variables than those for lib/.
88662         Substitute LIBTESTS_LIBDEPS.
88663         (func_create_testdir): Combine the uses_subdirs results from
88664         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
88666 2007-12-09  Bruno Haible  <bruno@clisp.org>
88668         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
88669         the build-aux directory.
88671 2007-12-09  Bruno Haible  <bruno@clisp.org>
88673         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
88674         introduced on 2006-09-09.
88676 2007-12-07  Jim Meyering  <meyering@redhat.com>
88678         Let these macros work also with autoconf-2.59.
88679         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
88680         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
88681         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
88683 2007-12-06  Jim Meyering  <meyering@redhat.com>
88685         Avoid a configure-time syntax error in gl_FUNC_ACL.
88686         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
88687         function in each branch, before testing the cache variable.
88689 2007-12-04  Eric Blake  <ebb9@byu.net>
88691         Make scripts executable.
88692         * build-aux/config.guess: Add execute permissions.
88693         * build-aux/config.sub: Likewise.
88694         * build-aux/gendocs.sh: Likewise.
88696         Fix frexp on mingw.
88697         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
88698         cross-compiling.
88699         * doc/functions/frexp.texi (frexp): Document the bug.
88701         Make cygwin fseeko check more reliable.
88702         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
88703         version numbers, rather than unrelated feature check.
88704         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
88705         * doc/functions/ftello.texi (ftello): Likewise.
88706         Reported by Bruno Haible.
88708         * m4/strerror.m4: Bump version number.
88710 2007-12-03  Bruno Haible  <bruno@clisp.org>
88712         * doc/functions/mprotect.texi: Mention the mingw problem.
88714 2007-12-03  Eric Blake  <ebb9@byu.net>
88716         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
88717         REPLACE_STRERROR is initialized before this macro.
88719 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
88721         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
88722         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
88723         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
88724         put -lsec in even for programs other than 'ls'.  This fixes a problem
88725         for gettext reported by Bruno Haible in
88726         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
88727         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
88728         Add support for Solaris 10.  This isn't efficient, but should get the
88729         job done for now.
88731 2007-12-03  James Youngman  <jay@gnu.org>
88733         * doc/regexprops-generic.texi: change "an close-group" to "a
88734         close-group" and "illegal" to "not allowed".
88736 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88738         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
88739         pr_byname.h. Needed for the rare case when the maintainer has done
88740         "make maintainer-clean" in the source directory and then attempts a
88741         build outside the source directory.
88742         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
88743         scripts_byname.h.
88745 2007-12-02  Martin Lambers  <marlam@marlam.de>
88746             Bruno Haible  <bruno@clisp.org>
88748         * lib/getpagesize.h: Remove file.
88749         * lib/unistd.in.h: Include declaration of getpagesize here.
88750         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
88751         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
88752         HAVE_SYS_PARAM_H.
88753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
88754         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
88755         * modules/getpagesize (Files): Remove lib/getpagesize.h.
88756         (Depends-on): Add unistd.
88757         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
88758         (Include): Use <unistd.h> instead of getpagesize.h.
88759         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
88760         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
88761         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
88762         gl_GETPAGESIZE invocation, already handled by module dependency.
88763         * lib/pagealign_alloc.c: Don't include getpagesize.h.
88765 2007-12-02  Bruno Haible  <bruno@clisp.org>
88767         * modules/strings-tests: New file.
88768         * tests/test-strings.c: New file.
88770         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
88771         * lib/strings.in.h: New file.
88772         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
88773         * m4/strings_h.m4: New file.
88774         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
88775         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
88776         * modules/strings: New file.
88777         * modules/string (Makefile.am): Update.
88778         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
88779         Reported by Karl Berry.
88781 2007-12-01  Eric Blake  <ebb9@byu.net>
88783         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
88784         accommodate fix in cygwin 1.5.25.
88786 2007-12-01  Jim Meyering  <meyering@redhat.com>
88788         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
88789         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
88790         that would inhibit utf8-optimization of a regexp containing line-
88791         or buffer-anchors, e.g., `^', `$'.
88793 2007-11-30  Bruno Haible  <bruno@clisp.org>
88795         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
88796         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
88797         glthread_recursive_lock_init.
88798         * lib/lock.c (glthread_recursive_lock_init)
88799         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
88800         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
88802 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
88804         New function qset_acl, like set_acl but with syscall semantics.
88805         * lib/acl.h (qset_acl): New decl.
88806         * lib/acl.c (qset_acl): New function.
88807         (set_acl): Use new function.  Use more-consistent diagnostics.
88809 2007-11-28  Jim Meyering  <meyering@redhat.com>
88811         * modules/physmem (License): Change from GPL to LGPLv2+.
88813 2007-11-26  Bruno Haible  <bruno@clisp.org>
88815         * lib/vasnprintf.c (decode_long_double): Don't abort if the
88816         'long double' type has excess precision.
88817         Reported by Jim Meyering in
88818         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
88820 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88822         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
88823         Sync from <http://gnu.org/licenses>.
88824         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
88825         with license text from same location.
88826         * doc/maintain.texi, doc/standards.texi:  Sync from
88827         <http://savannah.gnu.org/projects/gnustandards>.
88829 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
88830         and Jim Meyering  <meyering@redhat.com>
88832         Adjust getdate' grammar to accept a slightly more regular language.
88833         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
88834         Before, the former was rejected.
88835         * lib/getdate.y (digits_to_date_time): New function, factored
88836         out of ...
88837         (number): ...here.  Just call digits_to_date_time.
88838         (hybrid): New non-terminal to handle an <unsigned number,
88839         signed relative offset> sequence consistently.
88841 2007-11-18  Jim Meyering  <meyering@redhat.com>
88843         Pull my changes from coreutils:
88844         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
88845         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
88846         use of $gnulib_tool_option_extras, so that it's separated from the
88847         preceding argument.
88849         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
88850         * build-aux/bootstrap (cp_mark_as_generated): Create any required
88851         parent destination directories before copying a file into place.
88853 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
88855         bootstrap: work also with 4-argument variant of AC_INIT
88856         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
88858 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88860         Port test-getaddrinfo to Solaris.
88861         Problem reported by Bruno Haible in
88862         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
88863         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
88864         explanation of setting 'hints'.
88865         Don't reject an implementation merely because it returns EAI_SERVICE.
88866         (EAI_SERVICE): Define to 0 if not defined.
88868 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
88870         The license of gnu-make and posix-shell is now "GPLed build tool".
88871         * modules/gnu-make (License): Likewise.
88872         * modules/posix-shell (License): Likewise.
88874         New module posix-shell, for determining a POSIX shell
88875         or perhaps something that is close enough to a POSIX shell.
88876         * m4/posix-shell.m4: New file.
88877         * modules/posix-shell: New file.
88879         * MODULES.html.sh: Mention new module.
88881         New module gnu-make, for determining whether we're using GNU Make.
88882         * m4/gnu-make.m4: New file.
88883         * modules/gnu-make: New file.
88884         * MODULES.html.sh: Mention new module.
88886 2007-11-14  Jim Meyering  <meyering@redhat.com>
88888         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
88889         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
88890         use this macro to create a function _definition_.
88891         Remove useless "#undef ARGMATCH_DIE".
88893 2007-11-14  Bruno Haible  <bruno@clisp.org>
88895         * lib/config.charset: Update for OpenBSD 4.1.
88896         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
88898 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
88900         Document 64-bit #if problems in stdint.texi.
88901         * doc/headers/stdint.texi (stdint.h): Mention problems with
88902         64-bit-#if, and how to work around them.
88904         Don't insist on 'long long int' support in the preprocessor.  It
88905         breaks too many things.  For example, PRIdMAX still uses a 'long
88906         long int' format with the latest Sun compiler, even though
88907         HAVE_LONG_LONG_INT isn't defined due to that compiler's
88908         preprocessor problem.  This causes the latest coreutils to dump
88909         core on Solaris 10 sparc with the Sun C compiler.
88910         Instead, fix the 2007-10-16 problem in a different way, by evaluating
88911         the troublesome expressions at configure-time, not at #if-time.
88912         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
88913         preprocessor.
88914         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
88915         compile-time C checks, done at 'configure'-time.
88916         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
88917         * modules/inttypes (Makefile): Substitute the new symbols that
88918         gl_INTTYPES_H now generates.
88919         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
88921 2007-11-12  Bruno Haible  <bruno@clisp.org>
88923         Tests for Unicode character classification functions.
88925         * modules/unictype/bidicategory-byname-tests: New file.
88926         * modules/unictype/bidicategory-name-tests: New file.
88927         * modules/unictype/bidicategory-of-tests: New file.
88928         * modules/unictype/bidicategory-test-tests: New file.
88929         * modules/unictype/block-list-tests: New file.
88930         * modules/unictype/block-of-tests: New file.
88931         * modules/unictype/block-test-tests: New file.
88932         * modules/unictype/category-C-tests: New file.
88933         * modules/unictype/category-Cc-tests: New file.
88934         * modules/unictype/category-Cf-tests: New file.
88935         * modules/unictype/category-Cn-tests: New file.
88936         * modules/unictype/category-Co-tests: New file.
88937         * modules/unictype/category-Cs-tests: New file.
88938         * modules/unictype/category-L-tests: New file.
88939         * modules/unictype/category-Ll-tests: New file.
88940         * modules/unictype/category-Lm-tests: New file.
88941         * modules/unictype/category-Lo-tests: New file.
88942         * modules/unictype/category-Lt-tests: New file.
88943         * modules/unictype/category-Lu-tests: New file.
88944         * modules/unictype/category-M-tests: New file.
88945         * modules/unictype/category-Mc-tests: New file.
88946         * modules/unictype/category-Me-tests: New file.
88947         * modules/unictype/category-Mn-tests: New file.
88948         * modules/unictype/category-N-tests: New file.
88949         * modules/unictype/category-Nd-tests: New file.
88950         * modules/unictype/category-Nl-tests: New file.
88951         * modules/unictype/category-No-tests: New file.
88952         * modules/unictype/category-P-tests: New file.
88953         * modules/unictype/category-Pc-tests: New file.
88954         * modules/unictype/category-Pd-tests: New file.
88955         * modules/unictype/category-Pe-tests: New file.
88956         * modules/unictype/category-Pf-tests: New file.
88957         * modules/unictype/category-Pi-tests: New file.
88958         * modules/unictype/category-Po-tests: New file.
88959         * modules/unictype/category-Ps-tests: New file.
88960         * modules/unictype/category-S-tests: New file.
88961         * modules/unictype/category-Sc-tests: New file.
88962         * modules/unictype/category-Sk-tests: New file.
88963         * modules/unictype/category-Sm-tests: New file.
88964         * modules/unictype/category-So-tests: New file.
88965         * modules/unictype/category-Z-tests: New file.
88966         * modules/unictype/category-Zl-tests: New file.
88967         * modules/unictype/category-Zp-tests: New file.
88968         * modules/unictype/category-Zs-tests: New file.
88969         * modules/unictype/category-and-not-tests: New file.
88970         * modules/unictype/category-and-tests: New file.
88971         * modules/unictype/category-byname-tests: New file.
88972         * modules/unictype/category-name-tests: New file.
88973         * modules/unictype/category-none-tests: New file.
88974         * modules/unictype/category-of-tests: New file.
88975         * modules/unictype/category-or-tests: New file.
88976         * modules/unictype/category-test-withtable-tests: New file.
88977         * modules/unictype/combining-class-tests: New file.
88978         * modules/unictype/ctype-alnum-tests: New file.
88979         * modules/unictype/ctype-alpha-tests: New file.
88980         * modules/unictype/ctype-blank-tests: New file.
88981         * modules/unictype/ctype-cntrl-tests: New file.
88982         * modules/unictype/ctype-digit-tests: New file.
88983         * modules/unictype/ctype-graph-tests: New file.
88984         * modules/unictype/ctype-lower-tests: New file.
88985         * modules/unictype/ctype-print-tests: New file.
88986         * modules/unictype/ctype-punct-tests: New file.
88987         * modules/unictype/ctype-space-tests: New file.
88988         * modules/unictype/ctype-upper-tests: New file.
88989         * modules/unictype/ctype-xdigit-tests: New file.
88990         * modules/unictype/decimal-digit-tests: New file.
88991         * modules/unictype/digit-tests: New file.
88992         * modules/unictype/mirror-tests: New file.
88993         * modules/unictype/numeric-tests: New file.
88994         * modules/unictype/property-alphabetic-tests: New file.
88995         * modules/unictype/property-ascii-hex-digit-tests: New file.
88996         * modules/unictype/property-bidi-arabic-digit-tests: New file.
88997         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
88998         * modules/unictype/property-bidi-block-separator-tests: New file.
88999         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
89000         * modules/unictype/property-bidi-common-separator-tests: New file.
89001         * modules/unictype/property-bidi-control-tests: New file.
89002         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
89003         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
89004         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
89005         * modules/unictype/property-bidi-european-digit-tests: New file.
89006         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
89007         * modules/unictype/property-bidi-left-to-right-tests: New file.
89008         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
89009         * modules/unictype/property-bidi-other-neutral-tests: New file.
89010         * modules/unictype/property-bidi-pdf-tests: New file.
89011         * modules/unictype/property-bidi-segment-separator-tests: New file.
89012         * modules/unictype/property-bidi-whitespace-tests: New file.
89013         * modules/unictype/property-byname-tests: New file.
89014         * modules/unictype/property-combining-tests: New file.
89015         * modules/unictype/property-composite-tests: New file.
89016         * modules/unictype/property-currency-symbol-tests: New file.
89017         * modules/unictype/property-dash-tests: New file.
89018         * modules/unictype/property-decimal-digit-tests: New file.
89019         * modules/unictype/property-default-ignorable-code-point-tests: New file.
89020         * modules/unictype/property-deprecated-tests: New file.
89021         * modules/unictype/property-diacritic-tests: New file.
89022         * modules/unictype/property-extender-tests: New file.
89023         * modules/unictype/property-format-control-tests: New file.
89024         * modules/unictype/property-grapheme-base-tests: New file.
89025         * modules/unictype/property-grapheme-extend-tests: New file.
89026         * modules/unictype/property-grapheme-link-tests: New file.
89027         * modules/unictype/property-hex-digit-tests: New file.
89028         * modules/unictype/property-hyphen-tests: New file.
89029         * modules/unictype/property-id-continue-tests: New file.
89030         * modules/unictype/property-id-start-tests: New file.
89031         * modules/unictype/property-ideographic-tests: New file.
89032         * modules/unictype/property-ids-binary-operator-tests: New file.
89033         * modules/unictype/property-ids-trinary-operator-tests: New file.
89034         * modules/unictype/property-ignorable-control-tests: New file.
89035         * modules/unictype/property-iso-control-tests: New file.
89036         * modules/unictype/property-join-control-tests: New file.
89037         * modules/unictype/property-left-of-pair-tests: New file.
89038         * modules/unictype/property-line-separator-tests: New file.
89039         * modules/unictype/property-logical-order-exception-tests: New file.
89040         * modules/unictype/property-lowercase-tests: New file.
89041         * modules/unictype/property-math-tests: New file.
89042         * modules/unictype/property-non-break-tests: New file.
89043         * modules/unictype/property-not-a-character-tests: New file.
89044         * modules/unictype/property-numeric-tests: New file.
89045         * modules/unictype/property-other-alphabetic-tests: New file.
89046         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
89047         * modules/unictype/property-other-grapheme-extend-tests: New file.
89048         * modules/unictype/property-other-id-continue-tests: New file.
89049         * modules/unictype/property-other-id-start-tests: New file.
89050         * modules/unictype/property-other-lowercase-tests: New file.
89051         * modules/unictype/property-other-math-tests: New file.
89052         * modules/unictype/property-other-uppercase-tests: New file.
89053         * modules/unictype/property-paired-punctuation-tests: New file.
89054         * modules/unictype/property-paragraph-separator-tests: New file.
89055         * modules/unictype/property-pattern-syntax-tests: New file.
89056         * modules/unictype/property-pattern-white-space-tests: New file.
89057         * modules/unictype/property-private-use-tests: New file.
89058         * modules/unictype/property-punctuation-tests: New file.
89059         * modules/unictype/property-quotation-mark-tests: New file.
89060         * modules/unictype/property-radical-tests: New file.
89061         * modules/unictype/property-sentence-terminal-tests: New file.
89062         * modules/unictype/property-soft-dotted-tests: New file.
89063         * modules/unictype/property-space-tests: New file.
89064         * modules/unictype/property-terminal-punctuation-tests: New file.
89065         * modules/unictype/property-test-tests: New file.
89066         * modules/unictype/property-titlecase-tests: New file.
89067         * modules/unictype/property-unassigned-code-value-tests: New file.
89068         * modules/unictype/property-unified-ideograph-tests: New file.
89069         * modules/unictype/property-uppercase-tests: New file.
89070         * modules/unictype/property-variation-selector-tests: New file.
89071         * modules/unictype/property-white-space-tests: New file.
89072         * modules/unictype/property-xid-continue-tests: New file.
89073         * modules/unictype/property-xid-start-tests: New file.
89074         * modules/unictype/property-zero-width-tests: New file.
89075         * modules/unictype/scripts-tests: New file.
89076         * modules/unictype/syntax-c-ident-tests: New file.
89077         * modules/unictype/syntax-c-whitespace-tests: New file.
89078         * modules/unictype/syntax-java-ident-tests: New file.
89079         * modules/unictype/syntax-java-whitespace-tests: New file.
89080         * tests/unictype/test-bidi_byname.c: New file.
89081         * tests/unictype/test-bidi_name.c: New file.
89082         * tests/unictype/test-bidi_of.c: New file.
89083         * tests/unictype/test-bidi_test.c: New file.
89084         * tests/unictype/test-block_list.c: New file.
89085         * tests/unictype/test-block_of.c: New file.
89086         * tests/unictype/test-block_test.c: New file.
89087         * tests/unictype/test-categ_and.c: New file.
89088         * tests/unictype/test-categ_and_not.c: New file.
89089         * tests/unictype/test-categ_byname.c: New file.
89090         * tests/unictype/test-categ_name.c: New file.
89091         * tests/unictype/test-categ_none.c: New file.
89092         * tests/unictype/test-categ_of.c: New file.
89093         * tests/unictype/test-categ_or.c: New file.
89094         * tests/unictype/test-categ_test_withtable.c: New file.
89095         * tests/unictype/test-combining.c: New file.
89096         * tests/unictype/test-decdigit.c: New file.
89097         * tests/unictype/test-digit.c: New file.
89098         * tests/unictype/test-mirror.c: New file.
89099         * tests/unictype/test-numeric.c: New file.
89100         * tests/unictype/test-pr_byname.c: New file.
89101         * tests/unictype/test-pr_test.c: New file.
89102         * tests/unictype/test-predicate-part1.h: New file.
89103         * tests/unictype/test-predicate-part2.h: New file.
89104         * tests/unictype/test-scripts.c: New file.
89105         * tests/unictype/test-sy_c_ident.c: New file.
89106         * tests/unictype/test-sy_java_ident.c: New file.
89108         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
89109         for Unicode 5.0.0.
89110         * tests/unictype/test-categ_Cc.c: Likewise.
89111         * tests/unictype/test-categ_Cf.c: Likewise.
89112         * tests/unictype/test-categ_Cn.c: Likewise.
89113         * tests/unictype/test-categ_Co.c: Likewise.
89114         * tests/unictype/test-categ_Cs.c: Likewise.
89115         * tests/unictype/test-categ_L.c: Likewise.
89116         * tests/unictype/test-categ_Ll.c: Likewise.
89117         * tests/unictype/test-categ_Lm.c: Likewise.
89118         * tests/unictype/test-categ_Lo.c: Likewise.
89119         * tests/unictype/test-categ_Lt.c: Likewise.
89120         * tests/unictype/test-categ_Lu.c: Likewise.
89121         * tests/unictype/test-categ_M.c: Likewise.
89122         * tests/unictype/test-categ_Mc.c: Likewise.
89123         * tests/unictype/test-categ_Me.c: Likewise.
89124         * tests/unictype/test-categ_Mn.c: Likewise.
89125         * tests/unictype/test-categ_N.c: Likewise.
89126         * tests/unictype/test-categ_Nd.c: Likewise.
89127         * tests/unictype/test-categ_Nl.c: Likewise.
89128         * tests/unictype/test-categ_No.c: Likewise.
89129         * tests/unictype/test-categ_P.c: Likewise.
89130         * tests/unictype/test-categ_Pc.c: Likewise.
89131         * tests/unictype/test-categ_Pd.c: Likewise.
89132         * tests/unictype/test-categ_Pe.c: Likewise.
89133         * tests/unictype/test-categ_Pf.c: Likewise.
89134         * tests/unictype/test-categ_Pi.c: Likewise.
89135         * tests/unictype/test-categ_Po.c: Likewise.
89136         * tests/unictype/test-categ_Ps.c: Likewise.
89137         * tests/unictype/test-categ_S.c: Likewise.
89138         * tests/unictype/test-categ_Sc.c: Likewise.
89139         * tests/unictype/test-categ_Sk.c: Likewise.
89140         * tests/unictype/test-categ_Sm.c: Likewise.
89141         * tests/unictype/test-categ_So.c: Likewise.
89142         * tests/unictype/test-categ_Z.c: Likewise.
89143         * tests/unictype/test-categ_Zl.c: Likewise.
89144         * tests/unictype/test-categ_Zp.c: Likewise.
89145         * tests/unictype/test-categ_Zs.c: Likewise.
89146         * tests/unictype/test-ctype_alnum.c: Likewise.
89147         * tests/unictype/test-ctype_alpha.c: Likewise.
89148         * tests/unictype/test-ctype_blank.c: Likewise.
89149         * tests/unictype/test-ctype_cntrl.c: Likewise.
89150         * tests/unictype/test-ctype_digit.c: Likewise.
89151         * tests/unictype/test-ctype_graph.c: Likewise.
89152         * tests/unictype/test-ctype_lower.c: Likewise.
89153         * tests/unictype/test-ctype_print.c: Likewise.
89154         * tests/unictype/test-ctype_punct.c: Likewise.
89155         * tests/unictype/test-ctype_space.c: Likewise.
89156         * tests/unictype/test-ctype_upper.c: Likewise.
89157         * tests/unictype/test-ctype_xdigit.c: Likewise.
89158         * tests/unictype/test-decdigit.h: Likewise.
89159         * tests/unictype/test-digit.h: Likewise.
89160         * tests/unictype/test-numeric.h: Likewise.
89161         * tests/unictype/test-pr_alphabetic.c: Likewise.
89162         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
89163         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
89164         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
89165         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
89166         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
89167         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
89168         * tests/unictype/test-pr_bidi_control.c: Likewise.
89169         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
89170         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
89171         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
89172         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
89173         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
89174         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
89175         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
89176         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
89177         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
89178         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
89179         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
89180         * tests/unictype/test-pr_combining.c: Likewise.
89181         * tests/unictype/test-pr_composite.c: Likewise.
89182         * tests/unictype/test-pr_currency_symbol.c: Likewise.
89183         * tests/unictype/test-pr_dash.c: Likewise.
89184         * tests/unictype/test-pr_decimal_digit.c: Likewise.
89185         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
89186         * tests/unictype/test-pr_deprecated.c: Likewise.
89187         * tests/unictype/test-pr_diacritic.c: Likewise.
89188         * tests/unictype/test-pr_extender.c: Likewise.
89189         * tests/unictype/test-pr_format_control.c: Likewise.
89190         * tests/unictype/test-pr_grapheme_base.c: Likewise.
89191         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
89192         * tests/unictype/test-pr_grapheme_link.c: Likewise.
89193         * tests/unictype/test-pr_hex_digit.c: Likewise.
89194         * tests/unictype/test-pr_hyphen.c: Likewise.
89195         * tests/unictype/test-pr_id_continue.c: Likewise.
89196         * tests/unictype/test-pr_id_start.c: Likewise.
89197         * tests/unictype/test-pr_ideographic.c: Likewise.
89198         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
89199         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
89200         * tests/unictype/test-pr_ignorable_control.c: Likewise.
89201         * tests/unictype/test-pr_iso_control.c: Likewise.
89202         * tests/unictype/test-pr_join_control.c: Likewise.
89203         * tests/unictype/test-pr_left_of_pair.c: Likewise.
89204         * tests/unictype/test-pr_line_separator.c: Likewise.
89205         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
89206         * tests/unictype/test-pr_lowercase.c: Likewise.
89207         * tests/unictype/test-pr_math.c: Likewise.
89208         * tests/unictype/test-pr_non_break.c: Likewise.
89209         * tests/unictype/test-pr_not_a_character.c: Likewise.
89210         * tests/unictype/test-pr_numeric.c: Likewise.
89211         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
89212         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
89213         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
89214         * tests/unictype/test-pr_other_id_continue.c: Likewise.
89215         * tests/unictype/test-pr_other_id_start.c: Likewise.
89216         * tests/unictype/test-pr_other_lowercase.c: Likewise.
89217         * tests/unictype/test-pr_other_math.c: Likewise.
89218         * tests/unictype/test-pr_other_uppercase.c: Likewise.
89219         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
89220         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
89221         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
89222         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
89223         * tests/unictype/test-pr_private_use.c: Likewise.
89224         * tests/unictype/test-pr_punctuation.c: Likewise.
89225         * tests/unictype/test-pr_quotation_mark.c: Likewise.
89226         * tests/unictype/test-pr_radical.c: Likewise.
89227         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
89228         * tests/unictype/test-pr_soft_dotted.c: Likewise.
89229         * tests/unictype/test-pr_space.c: Likewise.
89230         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
89231         * tests/unictype/test-pr_titlecase.c: Likewise.
89232         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
89233         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
89234         * tests/unictype/test-pr_uppercase.c: Likewise.
89235         * tests/unictype/test-pr_variation_selector.c: Likewise.
89236         * tests/unictype/test-pr_white_space.c: Likewise.
89237         * tests/unictype/test-pr_xid_continue.c: Likewise.
89238         * tests/unictype/test-pr_xid_start.c: Likewise.
89239         * tests/unictype/test-pr_zero_width.c: Likewise.
89240         * tests/unictype/test-sy_c_whitespace.c: Likewise.
89241         * tests/unictype/test-sy_java_whitespace.c: Likewise.
89243 2007-11-12  Bruno Haible  <bruno@clisp.org>
89245         Unicode character classification functions.
89246         * lib/unictype.h: New file.
89247         * modules/unictype/base: New file.
89248         * modules/unictype/category-L: New file.
89249         * modules/unictype/category-Lu: New file.
89250         * modules/unictype/category-Ll: New file.
89251         * modules/unictype/category-Lt: New file.
89252         * modules/unictype/category-Lm: New file.
89253         * modules/unictype/category-Lo: New file.
89254         * modules/unictype/category-M: New file.
89255         * modules/unictype/category-Mn: New file.
89256         * modules/unictype/category-Mc: New file.
89257         * modules/unictype/category-Me: New file.
89258         * modules/unictype/category-N: New file.
89259         * modules/unictype/category-Nd: New file.
89260         * modules/unictype/category-Nl: New file.
89261         * modules/unictype/category-No: New file.
89262         * modules/unictype/category-P: New file.
89263         * modules/unictype/category-Pc: New file.
89264         * modules/unictype/category-Pd: New file.
89265         * modules/unictype/category-Ps: New file.
89266         * modules/unictype/category-Pe: New file.
89267         * modules/unictype/category-Pi: New file.
89268         * modules/unictype/category-Pf: New file.
89269         * modules/unictype/category-Po: New file.
89270         * modules/unictype/category-S: New file.
89271         * modules/unictype/category-Sm: New file.
89272         * modules/unictype/category-Sc: New file.
89273         * modules/unictype/category-Sk: New file.
89274         * modules/unictype/category-So: New file.
89275         * modules/unictype/category-Z: New file.
89276         * modules/unictype/category-Zs: New file.
89277         * modules/unictype/category-Zl: New file.
89278         * modules/unictype/category-Zp: New file.
89279         * modules/unictype/category-C: New file.
89280         * modules/unictype/category-Cc: New file.
89281         * modules/unictype/category-Cf: New file.
89282         * modules/unictype/category-Cs: New file.
89283         * modules/unictype/category-Co: New file.
89284         * modules/unictype/category-Cn: New file.
89285         * modules/unictype/category-or: New file.
89286         * modules/unictype/category-of: New file.
89287         * modules/unictype/category-test: New file.
89288         * modules/unictype/category-test-withtable: New file.
89289         * modules/unictype/category-byname: New file.
89290         * modules/unictype/category-none: New file.
89291         * modules/unictype/category-and: New file.
89292         * modules/unictype/category-and-not: New file.
89293         * modules/unictype/category-name: New file.
89294         * modules/unictype/combining-class: New file.
89295         * modules/unictype/category-all: New file.
89296         * modules/unictype/bidicategory-all: New file.
89297         * modules/unictype/bidicategory-byname: New file.
89298         * modules/unictype/bidicategory-name: New file.
89299         * modules/unictype/bidicategory-of: New file.
89300         * modules/unictype/bidicategory-test: New file.
89301         * modules/unictype/decimal-digit: New file.
89302         * modules/unictype/digit: New file.
89303         * modules/unictype/numeric: New file.
89304         * modules/unictype/mirror: New file.
89305         * modules/unictype/property-white-space: New file.
89306         * modules/unictype/property-alphabetic: New file.
89307         * modules/unictype/property-other-alphabetic: New file.
89308         * modules/unictype/property-not-a-character: New file.
89309         * modules/unictype/property-default-ignorable-code-point: New file.
89310         * modules/unictype/property-other-default-ignorable-code-point: New
89311         file.
89312         * modules/unictype/property-deprecated: New file.
89313         * modules/unictype/property-logical-order-exception: New file.
89314         * modules/unictype/property-variation-selector: New file.
89315         * modules/unictype/property-private-use: New file.
89316         * modules/unictype/property-unassigned-code-value: New file.
89317         * modules/unictype/property-uppercase: New file.
89318         * modules/unictype/property-other-uppercase: New file.
89319         * modules/unictype/property-lowercase: New file.
89320         * modules/unictype/property-other-lowercase: New file.
89321         * modules/unictype/property-titlecase: New file.
89322         * modules/unictype/property-soft-dotted: New file.
89323         * modules/unictype/property-id-start: New file.
89324         * modules/unictype/property-other-id-start: New file.
89325         * modules/unictype/property-id-continue: New file.
89326         * modules/unictype/property-other-id-continue: New file.
89327         * modules/unictype/property-xid-start: New file.
89328         * modules/unictype/property-xid-continue: New file.
89329         * modules/unictype/property-pattern-white-space: New file.
89330         * modules/unictype/property-pattern-syntax: New file.
89331         * modules/unictype/property-join-control: New file.
89332         * modules/unictype/property-grapheme-base: New file.
89333         * modules/unictype/property-grapheme-extend: New file.
89334         * modules/unictype/property-other-grapheme-extend: New file.
89335         * modules/unictype/property-grapheme-link: New file.
89336         * modules/unictype/property-bidi-control: New file.
89337         * modules/unictype/property-bidi-left-to-right: New file.
89338         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
89339         * modules/unictype/property-bidi-arabic-right-to-left: New file.
89340         * modules/unictype/property-bidi-european-digit: New file.
89341         * modules/unictype/property-bidi-eur-num-separator: New file.
89342         * modules/unictype/property-bidi-eur-num-terminator: New file.
89343         * modules/unictype/property-bidi-arabic-digit: New file.
89344         * modules/unictype/property-bidi-common-separator: New file.
89345         * modules/unictype/property-bidi-block-separator: New file.
89346         * modules/unictype/property-bidi-segment-separator: New file.
89347         * modules/unictype/property-bidi-whitespace: New file.
89348         * modules/unictype/property-bidi-non-spacing-mark: New file.
89349         * modules/unictype/property-bidi-boundary-neutral: New file.
89350         * modules/unictype/property-bidi-pdf: New file.
89351         * modules/unictype/property-bidi-embedding-or-override: New file.
89352         * modules/unictype/property-bidi-other-neutral: New file.
89353         * modules/unictype/property-hex-digit: New file.
89354         * modules/unictype/property-ascii-hex-digit: New file.
89355         * modules/unictype/property-ideographic: New file.
89356         * modules/unictype/property-unified-ideograph: New file.
89357         * modules/unictype/property-radical: New file.
89358         * modules/unictype/property-ids-binary-operator: New file.
89359         * modules/unictype/property-ids-trinary-operator: New file.
89360         * modules/unictype/property-zero-width: New file.
89361         * modules/unictype/property-space: New file.
89362         * modules/unictype/property-non-break: New file.
89363         * modules/unictype/property-iso-control: New file.
89364         * modules/unictype/property-format-control: New file.
89365         * modules/unictype/property-dash: New file.
89366         * modules/unictype/property-hyphen: New file.
89367         * modules/unictype/property-punctuation: New file.
89368         * modules/unictype/property-line-separator: New file.
89369         * modules/unictype/property-paragraph-separator: New file.
89370         * modules/unictype/property-quotation-mark: New file.
89371         * modules/unictype/property-sentence-terminal: New file.
89372         * modules/unictype/property-terminal-punctuation: New file.
89373         * modules/unictype/property-currency-symbol: New file.
89374         * modules/unictype/property-math: New file.
89375         * modules/unictype/property-other-math: New file.
89376         * modules/unictype/property-paired-punctuation: New file.
89377         * modules/unictype/property-left-of-pair: New file.
89378         * modules/unictype/property-combining: New file.
89379         * modules/unictype/property-composite: New file.
89380         * modules/unictype/property-decimal-digit: New file.
89381         * modules/unictype/property-numeric: New file.
89382         * modules/unictype/property-diacritic: New file.
89383         * modules/unictype/property-extender: New file.
89384         * modules/unictype/property-ignorable-control: New file.
89385         * modules/unictype/property-test: New file.
89386         * modules/unictype/property-byname: New file.
89387         * modules/unictype/property-all: New file.
89388         * modules/unictype/scripts: New file.
89389         * modules/unictype/scripts-all: New file.
89390         * modules/unictype/block-of: New file.
89391         * modules/unictype/block-test: New file.
89392         * modules/unictype/block-list: New file.
89393         * modules/unictype/block-all: New file.
89394         * modules/unictype/syntax-c-whitespace: New file.
89395         * modules/unictype/syntax-java-whitespace: New file.
89396         * modules/unictype/syntax-c-ident: New file.
89397         * modules/unictype/syntax-java-ident: New file.
89398         * modules/unictype/ctype-alnum: New file.
89399         * modules/unictype/ctype-alpha: New file.
89400         * modules/unictype/ctype-cntrl: New file.
89401         * modules/unictype/ctype-digit: New file.
89402         * modules/unictype/ctype-graph: New file.
89403         * modules/unictype/ctype-lower: New file.
89404         * modules/unictype/ctype-print: New file.
89405         * modules/unictype/ctype-punct: New file.
89406         * modules/unictype/ctype-space: New file.
89407         * modules/unictype/ctype-upper: New file.
89408         * modules/unictype/ctype-xdigit: New file.
89409         * modules/unictype/ctype-blank: New file.
89410         * lib/unictype/bidi_byname.c: New file.
89411         * lib/unictype/bidi_name.c: New file.
89412         * lib/unictype/bidi_of.c: New file.
89413         * lib/unictype/bidi_test.c: New file.
89414         * lib/unictype/bitmap.h: New file.
89415         * lib/unictype/block_test.c: New file.
89416         * lib/unictype/blocks.c: New file.
89417         * lib/unictype/categ_C.c: New file.
89418         * lib/unictype/categ_Cc.c: New file.
89419         * lib/unictype/categ_Cf.c: New file.
89420         * lib/unictype/categ_Cn.c: New file.
89421         * lib/unictype/categ_Co.c: New file.
89422         * lib/unictype/categ_Cs.c: New file.
89423         * lib/unictype/categ_L.c: New file.
89424         * lib/unictype/categ_Ll.c: New file.
89425         * lib/unictype/categ_Lm.c: New file.
89426         * lib/unictype/categ_Lo.c: New file.
89427         * lib/unictype/categ_Lt.c: New file.
89428         * lib/unictype/categ_Lu.c: New file.
89429         * lib/unictype/categ_M.c: New file.
89430         * lib/unictype/categ_Mc.c: New file.
89431         * lib/unictype/categ_Me.c: New file.
89432         * lib/unictype/categ_Mn.c: New file.
89433         * lib/unictype/categ_N.c: New file.
89434         * lib/unictype/categ_Nd.c: New file.
89435         * lib/unictype/categ_Nl.c: New file.
89436         * lib/unictype/categ_No.c: New file.
89437         * lib/unictype/categ_P.c: New file.
89438         * lib/unictype/categ_Pc.c: New file.
89439         * lib/unictype/categ_Pd.c: New file.
89440         * lib/unictype/categ_Pe.c: New file.
89441         * lib/unictype/categ_Pf.c: New file.
89442         * lib/unictype/categ_Pi.c: New file.
89443         * lib/unictype/categ_Po.c: New file.
89444         * lib/unictype/categ_Ps.c: New file.
89445         * lib/unictype/categ_S.c: New file.
89446         * lib/unictype/categ_Sc.c: New file.
89447         * lib/unictype/categ_Sk.c: New file.
89448         * lib/unictype/categ_Sm.c: New file.
89449         * lib/unictype/categ_So.c: New file.
89450         * lib/unictype/categ_Z.c: New file.
89451         * lib/unictype/categ_Zl.c: New file.
89452         * lib/unictype/categ_Zp.c: New file.
89453         * lib/unictype/categ_Zs.c: New file.
89454         * lib/unictype/categ_and.c: New file.
89455         * lib/unictype/categ_and_not.c: New file.
89456         * lib/unictype/categ_byname.c: New file.
89457         * lib/unictype/categ_name.c: New file.
89458         * lib/unictype/categ_none.c: New file.
89459         * lib/unictype/categ_of.c: New file.
89460         * lib/unictype/categ_or.c: New file.
89461         * lib/unictype/categ_test.c: New file.
89462         * lib/unictype/combining.c: New file.
89463         * lib/unictype/ctype_alnum.c: New file.
89464         * lib/unictype/ctype_alpha.c: New file.
89465         * lib/unictype/ctype_blank.c: New file.
89466         * lib/unictype/ctype_cntrl.c: New file.
89467         * lib/unictype/ctype_digit.c: New file.
89468         * lib/unictype/ctype_graph.c: New file.
89469         * lib/unictype/ctype_lower.c: New file.
89470         * lib/unictype/ctype_print.c: New file.
89471         * lib/unictype/ctype_punct.c: New file.
89472         * lib/unictype/ctype_space.c: New file.
89473         * lib/unictype/ctype_upper.c: New file.
89474         * lib/unictype/ctype_xdigit.c: New file.
89475         * lib/unictype/decdigit.c: New file.
89476         * lib/unictype/digit.c: New file.
89477         * lib/unictype/identsyntaxmap.h: New file.
89478         * lib/unictype/mirror.c: New file.
89479         * lib/unictype/numeric.c: New file.
89480         * lib/unictype/pr_alphabetic.c: New file.
89481         * lib/unictype/pr_ascii_hex_digit.c: New file.
89482         * lib/unictype/pr_bidi_arabic_digit.c: New file.
89483         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
89484         * lib/unictype/pr_bidi_block_separator.c: New file.
89485         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
89486         * lib/unictype/pr_bidi_common_separator.c: New file.
89487         * lib/unictype/pr_bidi_control.c: New file.
89488         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
89489         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
89490         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
89491         * lib/unictype/pr_bidi_european_digit.c: New file.
89492         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
89493         * lib/unictype/pr_bidi_left_to_right.c: New file.
89494         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
89495         * lib/unictype/pr_bidi_other_neutral.c: New file.
89496         * lib/unictype/pr_bidi_pdf.c: New file.
89497         * lib/unictype/pr_bidi_segment_separator.c: New file.
89498         * lib/unictype/pr_bidi_whitespace.c: New file.
89499         * lib/unictype/pr_byname.c: New file.
89500         * lib/unictype/pr_byname.gperf: New file.
89501         * lib/unictype/pr_combining.c: New file.
89502         * lib/unictype/pr_composite.c: New file.
89503         * lib/unictype/pr_currency_symbol.c: New file.
89504         * lib/unictype/pr_dash.c: New file.
89505         * lib/unictype/pr_decimal_digit.c: New file.
89506         * lib/unictype/pr_default_ignorable_code_point.c: New file.
89507         * lib/unictype/pr_deprecated.c: New file.
89508         * lib/unictype/pr_diacritic.c: New file.
89509         * lib/unictype/pr_extender.c: New file.
89510         * lib/unictype/pr_format_control.c: New file.
89511         * lib/unictype/pr_grapheme_base.c: New file.
89512         * lib/unictype/pr_grapheme_extend.c: New file.
89513         * lib/unictype/pr_grapheme_link.c: New file.
89514         * lib/unictype/pr_hex_digit.c: New file.
89515         * lib/unictype/pr_hyphen.c: New file.
89516         * lib/unictype/pr_id_continue.c: New file.
89517         * lib/unictype/pr_id_start.c: New file.
89518         * lib/unictype/pr_ideographic.c: New file.
89519         * lib/unictype/pr_ids_binary_operator.c: New file.
89520         * lib/unictype/pr_ids_trinary_operator.c: New file.
89521         * lib/unictype/pr_ignorable_control.c: New file.
89522         * lib/unictype/pr_iso_control.c: New file.
89523         * lib/unictype/pr_join_control.c: New file.
89524         * lib/unictype/pr_left_of_pair.c: New file.
89525         * lib/unictype/pr_line_separator.c: New file.
89526         * lib/unictype/pr_logical_order_exception.c: New file.
89527         * lib/unictype/pr_lowercase.c: New file.
89528         * lib/unictype/pr_math.c: New file.
89529         * lib/unictype/pr_non_break.c: New file.
89530         * lib/unictype/pr_not_a_character.c: New file.
89531         * lib/unictype/pr_numeric.c: New file.
89532         * lib/unictype/pr_other_alphabetic.c: New file.
89533         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
89534         * lib/unictype/pr_other_grapheme_extend.c: New file.
89535         * lib/unictype/pr_other_id_continue.c: New file.
89536         * lib/unictype/pr_other_id_start.c: New file.
89537         * lib/unictype/pr_other_lowercase.c: New file.
89538         * lib/unictype/pr_other_math.c: New file.
89539         * lib/unictype/pr_other_uppercase.c: New file.
89540         * lib/unictype/pr_paired_punctuation.c: New file.
89541         * lib/unictype/pr_paragraph_separator.c: New file.
89542         * lib/unictype/pr_pattern_syntax.c: New file.
89543         * lib/unictype/pr_pattern_white_space.c: New file.
89544         * lib/unictype/pr_private_use.c: New file.
89545         * lib/unictype/pr_punctuation.c: New file.
89546         * lib/unictype/pr_quotation_mark.c: New file.
89547         * lib/unictype/pr_radical.c: New file.
89548         * lib/unictype/pr_sentence_terminal.c: New file.
89549         * lib/unictype/pr_soft_dotted.c: New file.
89550         * lib/unictype/pr_space.c: New file.
89551         * lib/unictype/pr_terminal_punctuation.c: New file.
89552         * lib/unictype/pr_test.c: New file.
89553         * lib/unictype/pr_titlecase.c: New file.
89554         * lib/unictype/pr_unassigned_code_value.c: New file.
89555         * lib/unictype/pr_unified_ideograph.c: New file.
89556         * lib/unictype/pr_uppercase.c: New file.
89557         * lib/unictype/pr_variation_selector.c: New file.
89558         * lib/unictype/pr_white_space.c: New file.
89559         * lib/unictype/pr_xid_continue.c: New file.
89560         * lib/unictype/pr_xid_start.c: New file.
89561         * lib/unictype/pr_zero_width.c: New file.
89562         * lib/unictype/scripts.c: New file.
89563         * lib/unictype/sy_c_ident.c: New file.
89564         * lib/unictype/sy_c_whitespace.c: New file.
89565         * lib/unictype/sy_java_ident.c: New file.
89566         * lib/unictype/sy_java_whitespace.c: New file.
89568         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
89569         Unicode 5.0.0.
89570         * lib/unictype/blocks.h: Likewise.
89571         * lib/unictype/categ_C.h: Likewise.
89572         * lib/unictype/categ_Cc.h: Likewise.
89573         * lib/unictype/categ_Cf.h: Likewise.
89574         * lib/unictype/categ_Cn.h: Likewise.
89575         * lib/unictype/categ_Co.h: Likewise.
89576         * lib/unictype/categ_Cs.h: Likewise.
89577         * lib/unictype/categ_L.h: Likewise.
89578         * lib/unictype/categ_Ll.h: Likewise.
89579         * lib/unictype/categ_Lm.h: Likewise.
89580         * lib/unictype/categ_Lo.h: Likewise.
89581         * lib/unictype/categ_Lt.h: Likewise.
89582         * lib/unictype/categ_Lu.h: Likewise.
89583         * lib/unictype/categ_M.h: Likewise.
89584         * lib/unictype/categ_Mc.h: Likewise.
89585         * lib/unictype/categ_Me.h: Likewise.
89586         * lib/unictype/categ_Mn.h: Likewise.
89587         * lib/unictype/categ_N.h: Likewise.
89588         * lib/unictype/categ_Nd.h: Likewise.
89589         * lib/unictype/categ_Nl.h: Likewise.
89590         * lib/unictype/categ_No.h: Likewise.
89591         * lib/unictype/categ_P.h: Likewise.
89592         * lib/unictype/categ_Pc.h: Likewise.
89593         * lib/unictype/categ_Pd.h: Likewise.
89594         * lib/unictype/categ_Pe.h: Likewise.
89595         * lib/unictype/categ_Pf.h: Likewise.
89596         * lib/unictype/categ_Pi.h: Likewise.
89597         * lib/unictype/categ_Po.h: Likewise.
89598         * lib/unictype/categ_Ps.h: Likewise.
89599         * lib/unictype/categ_S.h: Likewise.
89600         * lib/unictype/categ_Sc.h: Likewise.
89601         * lib/unictype/categ_Sk.h: Likewise.
89602         * lib/unictype/categ_Sm.h: Likewise.
89603         * lib/unictype/categ_So.h: Likewise.
89604         * lib/unictype/categ_Z.h: Likewise.
89605         * lib/unictype/categ_Zl.h: Likewise.
89606         * lib/unictype/categ_Zp.h: Likewise.
89607         * lib/unictype/categ_Zs.h: Likewise.
89608         * lib/unictype/categ_of.h: Likewise.
89609         * lib/unictype/combining.h: Likewise.
89610         * lib/unictype/ctype_alnum.h: Likewise.
89611         * lib/unictype/ctype_alpha.h: Likewise.
89612         * lib/unictype/ctype_blank.h: Likewise.
89613         * lib/unictype/ctype_cntrl.h: Likewise.
89614         * lib/unictype/ctype_digit.h: Likewise.
89615         * lib/unictype/ctype_graph.h: Likewise.
89616         * lib/unictype/ctype_lower.h: Likewise.
89617         * lib/unictype/ctype_print.h: Likewise.
89618         * lib/unictype/ctype_punct.h: Likewise.
89619         * lib/unictype/ctype_space.h: Likewise.
89620         * lib/unictype/ctype_upper.h: Likewise.
89621         * lib/unictype/ctype_xdigit.h: Likewise.
89622         * lib/unictype/decdigit.h: Likewise.
89623         * lib/unictype/digit.h: Likewise.
89624         * lib/unictype/mirror.h: Likewise.
89625         * lib/unictype/numeric.h: Likewise.
89626         * lib/unictype/pr_alphabetic.h: Likewise.
89627         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
89628         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
89629         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
89630         * lib/unictype/pr_bidi_block_separator.h: Likewise.
89631         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
89632         * lib/unictype/pr_bidi_common_separator.h: Likewise.
89633         * lib/unictype/pr_bidi_control.h: Likewise.
89634         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
89635         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
89636         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
89637         * lib/unictype/pr_bidi_european_digit.h: Likewise.
89638         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
89639         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
89640         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
89641         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
89642         * lib/unictype/pr_bidi_pdf.h: Likewise.
89643         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
89644         * lib/unictype/pr_bidi_whitespace.h: Likewise.
89645         * lib/unictype/pr_combining.h: Likewise.
89646         * lib/unictype/pr_composite.h: Likewise.
89647         * lib/unictype/pr_currency_symbol.h: Likewise.
89648         * lib/unictype/pr_dash.h: Likewise.
89649         * lib/unictype/pr_decimal_digit.h: Likewise.
89650         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
89651         * lib/unictype/pr_deprecated.h: Likewise.
89652         * lib/unictype/pr_diacritic.h: Likewise.
89653         * lib/unictype/pr_extender.h: Likewise.
89654         * lib/unictype/pr_format_control.h: Likewise.
89655         * lib/unictype/pr_grapheme_base.h: Likewise.
89656         * lib/unictype/pr_grapheme_extend.h: Likewise.
89657         * lib/unictype/pr_grapheme_link.h: Likewise.
89658         * lib/unictype/pr_hex_digit.h: Likewise.
89659         * lib/unictype/pr_hyphen.h: Likewise.
89660         * lib/unictype/pr_id_continue.h: Likewise.
89661         * lib/unictype/pr_id_start.h: Likewise.
89662         * lib/unictype/pr_ideographic.h: Likewise.
89663         * lib/unictype/pr_ids_binary_operator.h: Likewise.
89664         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
89665         * lib/unictype/pr_ignorable_control.h: Likewise.
89666         * lib/unictype/pr_iso_control.h: Likewise.
89667         * lib/unictype/pr_join_control.h: Likewise.
89668         * lib/unictype/pr_left_of_pair.h: Likewise.
89669         * lib/unictype/pr_line_separator.h: Likewise.
89670         * lib/unictype/pr_logical_order_exception.h: Likewise.
89671         * lib/unictype/pr_lowercase.h: Likewise.
89672         * lib/unictype/pr_math.h: Likewise.
89673         * lib/unictype/pr_non_break.h: Likewise.
89674         * lib/unictype/pr_not_a_character.h: Likewise.
89675         * lib/unictype/pr_numeric.h: Likewise.
89676         * lib/unictype/pr_other_alphabetic.h: Likewise.
89677         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
89678         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
89679         * lib/unictype/pr_other_id_continue.h: Likewise.
89680         * lib/unictype/pr_other_id_start.h: Likewise.
89681         * lib/unictype/pr_other_lowercase.h: Likewise.
89682         * lib/unictype/pr_other_math.h: Likewise.
89683         * lib/unictype/pr_other_uppercase.h: Likewise.
89684         * lib/unictype/pr_paired_punctuation.h: Likewise.
89685         * lib/unictype/pr_paragraph_separator.h: Likewise.
89686         * lib/unictype/pr_pattern_syntax.h: Likewise.
89687         * lib/unictype/pr_pattern_white_space.h: Likewise.
89688         * lib/unictype/pr_private_use.h: Likewise.
89689         * lib/unictype/pr_punctuation.h: Likewise.
89690         * lib/unictype/pr_quotation_mark.h: Likewise.
89691         * lib/unictype/pr_radical.h: Likewise.
89692         * lib/unictype/pr_sentence_terminal.h: Likewise.
89693         * lib/unictype/pr_soft_dotted.h: Likewise.
89694         * lib/unictype/pr_space.h: Likewise.
89695         * lib/unictype/pr_terminal_punctuation.h: Likewise.
89696         * lib/unictype/pr_titlecase.h: Likewise.
89697         * lib/unictype/pr_unassigned_code_value.h: Likewise.
89698         * lib/unictype/pr_unified_ideograph.h: Likewise.
89699         * lib/unictype/pr_uppercase.h: Likewise.
89700         * lib/unictype/pr_variation_selector.h: Likewise.
89701         * lib/unictype/pr_white_space.h: Likewise.
89702         * lib/unictype/pr_xid_continue.h: Likewise.
89703         * lib/unictype/pr_xid_start.h: Likewise.
89704         * lib/unictype/pr_zero_width.h: Likewise.
89705         * lib/unictype/scripts.h: Likewise.
89706         * lib/unictype/scripts_byname.gperf: Likewise.
89707         * lib/unictype/sy_c_ident.h: Likewise.
89708         * lib/unictype/sy_c_whitespace.h: Likewise.
89709         * lib/unictype/sy_java_ident.h: Likewise.
89710         * lib/unictype/sy_java_whitespace.h: Likewise.
89712         * lib/unictype/Makefile: New file.
89713         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
89714         glibc.
89715         * lib/unictype/3level.h: New file, copied from glibc.
89716         * lib/unictype/3levelbit.h: New file.
89718 2007-11-11  Bruno Haible  <bruno@clisp.org>
89720         * modules/gperf: New file.
89721         * modules/iconv_open (Depends-on): Add it.
89722         (Makefile.am): Remove the GPERF definition.
89724 2007-11-11  Bruno Haible  <bruno@clisp.org>
89726         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
89727         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
89729 2007-11-11  Bruno Haible  <bruno@clisp.org>
89731         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
89732         (usage): Remove function.
89734 2007-11-11  Bruno Haible  <bruno@clisp.org>
89736         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
89737         gl_FUNC_CEILF_LIBS.
89738         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
89739         gl_FUNC_CEIL_LIBS.
89740         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
89741         gl_FUNC_CEILL_LIBS.
89742         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
89743         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
89744         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
89746 2007-11-11  Bruno Haible  <bruno@clisp.org>
89748         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
89749         roundf were declared but do not exist on functions.
89750         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
89751         roundl were declared but do not exist on functions.
89752         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
89753         HAVE_FLOORL_AND_CEILL, respectively.
89754         Needed for Sun C on Solaris 10.
89756 2007-11-11  Bruno Haible  <bruno@clisp.org>
89758         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
89759         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
89760         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
89761         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
89762         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
89763         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
89764         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
89765         HAVE_DECL_ROUNDF.
89766         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
89767         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
89768         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
89769         of HAVE_DECL_ROUND*.
89770         * modules/math (Makefile.am): Update.
89772 2007-11-10  Bruno Haible  <bruno@clisp.org>
89774         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
89775         ptrdiff_t as m4/intl.m4.
89777 2007-11-10  Jim Meyering  <meyering@redhat.com>
89779         Avoid link failure for the argmatch test.
89780         * tests/test-argmatch.c (usage): Define function to avoid a link
89781         failure: argmatch_die requires a usage function.
89783 2007-11-09  Bruno Haible  <bruno@clisp.org>
89785         * doc/functions/snprintf.texi: Mention BeOS deficiency.
89786         * doc/functions/vsnprintf.texi: Likewise.
89787         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
89788         with a size argument < 2.
89790 2007-11-09  Bruno Haible  <bruno@clisp.org>
89792         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
89793         buffer. Fixes an inefficiency introduced on 2007-11-03.
89795 2007-11-09  Bruno Haible  <bruno@clisp.org>
89797         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
89798         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
89800 2007-11-08  Jim Meyering  <meyering@redhat.com>
89802         Change cache variable name prefix "jm_" to "gl_" everywhere.
89803         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
89804         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
89805         * m4/uptime.m4: s/gl_/jm_/
89807 2007-11-07  Bruno Haible  <bruno@clisp.org>
89809         Update to GNU gettext 0.17.
89810         * m4/intl.m4: Update to GNU gettext 0.17.
89811         * m4/po.m4: Likewise.
89812         * modules/gettext (Files): Remove m4/ulonglong.m4.
89813         (configure.ac): Require gettext infrastructure from version 0.17.
89815 2007-11-06  Bruno Haible  <bruno@clisp.org>
89817         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
89818         symbolic values are not defined in a public header.
89819         * lib/freadable.c (freadable) [QNX]: Likewise.
89820         * lib/freadahead.c (freadahead) [QNX]: Likewise.
89821         * lib/freading.c (freading) [QNX]: Likewise.
89822         * lib/fseterr.c (fseterr) [QNX]: Likewise.
89823         * lib/fwritable.c (fwritable) [QNX]: Likewise.
89824         * lib/fwriting.c (fwriting) [QNX]: Likewise.
89825         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
89826         Reported by Alain Magloire.
89828         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
89830 2007-11-05  Bruno Haible  <bruno@clisp.org>
89832         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
89833         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
89834         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
89835         Reported by Eric Blake.
89837 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89838             Bruno Haible  <bruno@clisp.org>
89840         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
89841         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
89842         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
89843         (malloc): Undefine also before including <stdlib.h>.
89844         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
89845         Needed on OSF/1 4.0.
89847 2007-11-05  Jim Meyering  <meyering@redhat.com>
89849         git-version-gen: sync from coreutils.
89850         * build-aux/git-version-gen: Add comments.
89851         Change the first '-' to '.' in the snapshot version string,
89852         e.g., 6.9-377-08144 -> 6.9.377-08144
89853         Remove first parameter.
89854         Don't declare a version "-dirty" merely because a time
89855         stamp has changed.
89857 2007-11-04  Bruno Haible  <bruno@clisp.org>
89859         * lib/lock.h: Protect all macro definitions containing an 'if'
89860         statement through a "do { ... } while (0)".
89861         * lib/tls.h: Likewise.
89863 2007-11-04  Bruno Haible  <bruno@clisp.org>
89865         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
89867 2007-11-04  Bruno Haible  <bruno@clisp.org>
89869         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
89870         * modules/fprintf-posix (Depends-on): Add nocrash.
89871         * modules/snprintf-posix (Depends-on): Likewise.
89872         * modules/sprintf-posix (Depends-on): Likewise.
89873         * modules/vasnprintf-posix (Depends-on): Likewise.
89874         * modules/vasprintf-posix (Depends-on): Likewise.
89875         * modules/vfprintf-posix (Depends-on): Likewise.
89876         * modules/vsnprintf-posix (Depends-on): Likewise.
89877         * modules/vsprintf-posix (Depends-on): Likewise.
89878         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
89879         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
89880         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
89881         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
89882         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
89883         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
89884         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
89886 2007-11-04  Bruno Haible  <bruno@clisp.org>
89888         * modules/nocrash: New file.
89889         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
89890         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
89892 2007-11-04  Bruno Haible  <bruno@clisp.org>
89894         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
89895         precision handling.
89896         * tests/test-vasprintf-posix.c (test_function): Likewise.
89897         * tests/test-snprintf-posix.h (test_function): Likewise.
89898         * tests/test-sprintf-posix.h (test_function): Likewise.
89900         Fix *printf behaviour for large precisions on mingw and BeOS.
89901         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
89902         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
89903         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
89904         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
89905         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
89906         gl_PRINTF_PRECISION and test its result. Invoke
89907         gl_PREREQ_VASNPRINTF_PRECISION.
89908         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
89909         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
89910         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
89911         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
89912         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
89913         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
89914         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
89915         * doc/functions/fprintf.texi: Update.
89916         * doc/functions/printf.texi: Update.
89917         * doc/functions/snprintf.texi: Update.
89918         * doc/functions/sprintf.texi: Update.
89919         * doc/functions/vfprintf.texi: Update.
89920         * doc/functions/vprintf.texi: Update.
89921         * doc/functions/vsnprintf.texi: Update.
89922         * doc/functions/vsprintf.texi: Update.
89924 2007-11-04  Bruno Haible  <bruno@clisp.org>
89926         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
89928 2007-11-04  Bruno Haible  <bruno@clisp.org>
89930         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
89931         Reported by Sylvain Beucler <beuc@gnu.org>.
89933 2007-11-03  Bruno Haible  <bruno@clisp.org>
89935         * tests/test-fprintf-posix2.sh: New file.
89936         * tests/test-fprintf-posix2.c: New file.
89937         * modules/fprintf-posix-tests (Files): Add them.
89938         (TESTS): Add test-fprintf-posix2.sh.
89939         (configure.ac): Check for getrlimit and setrlimit.
89940         (check_PROGRAMS): Add test-fprintf-posix2.
89942         * tests/test-printf-posix2.sh: New file.
89943         * tests/test-printf-posix2.c: New file.
89944         * modules/printf-posix-tests (Files): Add them.
89945         (TESTS): Add test-printf-posix2.sh.
89946         (configure.ac): Check for getrlimit and setrlimit.
89947         (check_PROGRAMS): Add test-printf-posix2.
89949         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
89950         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
89951         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
89952         (decode_double): New function, copied from decode_long_double.
89953         (scale10_round_decimal_decoded): New function, extracted from
89954         scale10_round_decimal_long_double.
89955         (scale10_round_decimal_long_double): Use it.
89956         (scale10_round_decimal_double): New function.
89957         (floorlog10): New function.
89958         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
89959         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
89960         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
89961         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
89962         gl_PRINTF_ENOMEM and test its result. Invoke
89963         gl_PREREQ_VASNPRINTF_ENOMEM.
89964         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
89965         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
89966         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
89967         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
89968         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
89969         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
89970         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
89971         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
89972         * modules/snprintf-posix (Depends-on): Likewise.
89973         * modules/sprintf-posix (Depends-on): Likewise.
89974         * modules/vasnprintf-posix (Depends-on): Likewise.
89975         * modules/vasprintf-posix (Depends-on): Likewise.
89976         * modules/vfprintf-posix (Depends-on): Likewise.
89977         * modules/vsnprintf-posix (Depends-on): Likewise.
89978         * modules/vsprintf-posix (Depends-on): Likewise.
89979         * doc/functions/fprintf.texi: Update.
89980         * doc/functions/printf.texi: Update.
89981         * doc/functions/snprintf.texi: Update.
89982         * doc/functions/sprintf.texi: Update.
89983         * doc/functions/vfprintf.texi: Update.
89984         * doc/functions/vprintf.texi: Update.
89985         * doc/functions/vsnprintf.texi: Update.
89986         * doc/functions/vsprintf.texi: Update.
89988 2007-11-03  Bruno Haible  <bruno@clisp.org>
89990         * modules/frexp-nolibm-tests: New file.
89992         * modules/frexp-nolibm: New file.
89993         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
89995 2007-11-03  Bruno Haible  <bruno@clisp.org>
89997         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
89998         value is C99 compliant.
89999         Needed for OSF/1 5.1.
90001 2007-11-03  Bruno Haible  <bruno@clisp.org>
90003         Fix out-of-memory handling of vasnprintf.
90004         * lib/printf-parse.c: Include <errno.h>.
90005         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
90006         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
90007         is already set.
90009 2007-11-02  Eric Blake  <ebb9@byu.net>
90011         Fix tests on cygwin.
90012         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
90014 2007-11-01  Bruno Haible  <bruno@clisp.org>
90016         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
90017         warning.
90018         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
90019         needed for POSIX compatibility.
90021 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
90023         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
90024         for compatibility with GNU.
90026 2007-11-01  Bruno Haible  <bruno@clisp.org>
90028         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
90029         (putenv): Renamed from rpl_putenv. Change argument type from
90030         'const char *' to 'char *'.
90031         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
90032         of defining putenv in config.h, just set REPLACE_PUTENV.
90033         * modules/putenv (Depends-on): Add stdlib.
90034         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90035         (Include): Use <stdlib.h>.
90036         * lib/stdlib.in.h (putenv): New declaration.
90037         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
90038         REPLACE_PUTENV.
90039         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
90040         REPLACE_PUTENV.
90041         Needed for MacOS X 10.5.0.
90042         Reported by Peter O'Gorman <peter@pogma.com>.
90044 2007-11-01  Jim Meyering  <meyering@redhat.com>
90046         Treat an empty date string exactly like "0".
90047         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
90048         if the remaining date string (to be parsed) is empty, use "0".
90049         Reported by Mischa Molhoek and discussed in this thread:
90050         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
90052 2007-10-31  Bruno Haible  <bruno@clisp.org>
90054         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
90055         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
90056         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
90057         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
90058         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
90059         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
90061 2007-10-31  Bruno Haible  <bruno@clisp.org>
90063         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
90064         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
90065         (AC_TYPE_LONG_LONG_INT): Use it.
90066         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
90067         it as well.
90068         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
90069         to m4/longlong.m4.
90070         * modules/stdint (Files): Remove m4/ulonglong.m4.
90071         * modules/strtoull (Files): Use m4/longlong.m4 instead of
90072         m4/ulonglong.m4.
90073         * modules/strtoumax (Files): Likewise.
90075 2007-10-30  Bruno Haible  <bruno@clisp.org>
90077         * modules/xvasprintf-posix: New file.
90078         Suggested by Eric Blake.
90080 2007-10-30  Bruno Haible  <bruno@clisp.org>
90082         * modules/xprintf-posix-tests: New file.
90083         * tests/test-xprintf-posix.sh: New file.
90084         * tests/test-xprintf-posix.c: New file.
90085         * tests/test-xfprintf-posix.c: New file.
90087         * modules/xprintf-posix: New file.
90089 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90091         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
90092         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
90093         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
90095 2007-10-29  Bruno Haible  <bruno@clisp.org>
90097         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
90098         contain the special marker '_cv_'.
90099         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
90100         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
90101         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
90102         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
90103         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
90104         Reported by Ralf Wildenhues.
90106 2007-10-29  Bruno Haible  <bruno@clisp.org>
90108         * gnulib-tool (func_import): When --lgpl is not specified, set
90109         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
90110         GPLv3.
90111         Reported by Simon Josefsson.
90113 2007-10-28  Bruno Haible  <bruno@clisp.org>
90115         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
90116         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
90117         HAVE_DECL_ISFINITE.
90118         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
90119         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
90120         HAVE_DECL_ISFINITE.
90122 2007-10-28  Bruno Haible  <bruno@clisp.org>
90124         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
90125         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
90127 2007-10-28  Bruno Haible  <bruno@clisp.org>
90129         Fix link errors with Sun C 5.0 on Solaris 10.
90130         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
90131         function is declared but not present in the compiler's libm.
90132         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
90133         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
90134         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
90135         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
90136         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
90137         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
90138         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
90139         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
90140         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
90141         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
90142         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
90143         HAVE_DECL_FLOORL.
90145 2007-10-28  Bruno Haible  <bruno@clisp.org>
90147         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
90148         gl_FUNC_FLOORL. Cache the result.
90149         (gl_FUNC_FLOORL): Use it.
90150         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
90151         gl_FUNC_CEILL. Cache the result.
90152         (gl_FUNC_CEILL): Use it.
90154         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
90155         gl_FUNC_FLOOR. Cache the result.
90156         (gl_FUNC_FLOOR): Use it.
90157         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
90158         gl_FUNC_CEIL. Cache the result.
90159         (gl_FUNC_CEIL): Use it.
90161         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
90162         gl_FUNC_FLOORF. Cache the result.
90163         (gl_FUNC_FLOORF): Use it.
90164         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
90165         gl_FUNC_CEILF. Cache the result.
90166         (gl_FUNC_CEILF): Use it.
90168 2007-10-28  Bruno Haible  <bruno@clisp.org>
90170         * gnulib-tool: Allow specifying the LGPL version number through
90171         --lgpl=2 or --lgpl=3.
90172         (func_usage): Document --lgpl with argument.
90173         Handle --lgpl=... arguments.
90174         (func_import): Recognize also gl_LGPL calls with an argument. When
90175         --lgpl=2 is used and the module's license is just LGPL, report an
90176         error. Set sed_transform_lib_file according to the lgpl variable. In
90177         the generated files, use --lgpl or gl_LGPL invocations with argument,
90178         if necessary.
90179         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
90180         an LGPv2+ license.
90181         * doc/gnulib-tool.texi (Modified imports): Update explanation of
90182         gl_LGPL macro.
90184 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90185             Bruno Haible  <bruno@clisp.org>
90187         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
90188         (u16_uctomb_aux): Likewise.
90189         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
90190         !HAVE_INLINE.
90191         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
90193 2007-10-28  Bruno Haible  <bruno@clisp.org>
90195         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
90196         Invoke AM_GETTEXT_OPTION if it exists.
90197         * modules/vasprintf: Likewise.
90198         * modules/verror: Likewise.
90199         * modules/xprintf: Likewise.
90200         * modules/xvasprintf: Likewise.
90202 2007-10-27  Ben Pfaff  <blp@gnu.org>
90204         * lib/math.in.h: Define isfinite macro and prototypes for
90205         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
90206         implementations.
90207         * m4/math_h.m4: New substitutions for isfinite module.
90208         * lib/isfinite.c: New file.
90209         * m4/isfinite.m4: New file.
90210         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
90211         * modules/isfinite: New file.
90212         * modules/isfinite-tests: New file.
90213         * tests/tests-isfinite.c: New file.
90214         * doc/functions/isfinite.texi: Mention isfinite module.
90215         * MODULES.html.sh: Mention new module.
90217 2007-10-27  Ben Pfaff  <blp@gnu.org>
90219         Ralf Wildenhues reported that Tru64 4.0D declares the round
90220         functions but does not have definitions.
90221         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
90222         cannot be found in any library, set the output variable to
90223         "missing" instead of "".
90224         * m4/round.m4: Also use our substitute if we cannot find round in
90225         any library, even if it is declared.
90226         * m4/roundf.m4: Likewise for roundf.
90227         * m4/roundl.m4: Likewise for roundl.
90228         * lib/math.in.h: Undefine roundf, round, roundl before defining
90229         their replacements, to allow for hypothetical systems where these
90230         may be defined as macros but not available in libraries.
90232 2007-10-27  Bruno Haible  <bruno@clisp.org>
90234         * doc/gnulib.texi: Invoke @firstparagraphindent.
90235         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
90236         changes in gnulib.
90237         (Source changes): New section.
90239 2007-10-26  Bruno Haible  <bruno@clisp.org>
90241         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
90242         borrowed from autoconf.
90244 2007-10-26  Bruno Haible  <bruno@clisp.org>
90246         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
90247         strerror returned the empty string. Needed on HP-UX 11.00.
90249 2007-10-24  Micah Cowan  <micah@cowan.name>
90251         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
90252         * build-aux/bootstrap: Remove support for now-unnecessary option,
90253         --cvs-user, and envvars CVS_USER, CVS_RSH.
90255 2007-10-24  Jim Meyering  <meyering@redhat.com>
90257         Avoid diagnostics from sha1sum when there is no cached checksum.
90258         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
90259         if the po.s1 file hasn't been created yet.
90261         * build-aux/bootstrap: Sync from coreutils:
90262         2007-10-24  Jim Meyering  <meyering@redhat.com>
90263         Get gnulib from the git repository, not from an obsolete cvs one.
90264         * build-aux/bootstrap: Suggestion from Micah Cowan.
90265         2007-10-04  Jim Meyering  <jim@meyering.net>
90266         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
90267         (update_po_files): Work also when there are no .po files in po/.
90269 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
90271         * README: Append ".git" to git and cg examples.
90272         Problem reported by Benoit Sigoure.
90274 2007-10-23  Micah Cowan  <micah@cowan.name>
90276         * users.txt: Add wget.
90278 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90280         Fix linking of some unistdio tests on FreeBSD.
90281         * modules/unistdio/u16-vsnprintf-tests
90282         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
90283         * modules/unistdio/u16-vsprintf-tests
90284         (test_u16_vsnprintf1_LDADD): Likewise.
90285         * modules/unistdio/u32-vsnprintf-tests
90286         (test_u32_vsnprintf1_LDADD): Likewise.
90287         * modules/unistdio/u32-vsprintf-tests
90288         (test_u32_vsprintf1_LDADD): Likewise.
90289         * modules/unistdio/u8-vsnprintf-tests
90290         (test_u8_vsnprintf1_LDADD): Likewise.
90291         * modules/unistdio/u8-vsprintf-tests
90292         (test_u8_vsprintf1_LDADD): Likewise.
90293         * modules/unistdio/ulc-vsnprintf-tests
90294         (test_ulc_vsnprintf1_LDADD): Likewise.
90295         * modules/unistdio/ulc-vsprintf-tests
90296         (test_ulc_vsprintf1_LDADD): Likewise.
90298         Fix linking of some uniconv tests on FreeBSD.
90299         * modules/uniconv/u16-conv-from-enc-tests
90300         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
90301         * modules/uniconv/u16-conv-to-enc-tests
90302         (test_u16_conv_to_enc_LDADD): Likewise.
90303         * modules/uniconv/u16-strconv-from-enc-tests
90304         (test_u16_strconv_from_enc_LDADD): Likewise.
90305         * modules/uniconv/u16-strconv-to-enc-tests
90306         (test_u16_strconv_to_enc_LDADD): Likewise.
90307         * modules/uniconv/u32-conv-from-enc-tests
90308         (test_u32_conv_from_enc_LDADD): Likewise.
90309         * modules/uniconv/u32-conv-to-enc-tests
90310         (test_u32_conv_to_enc_LDADD): Likewise.
90311         * modules/uniconv/u32-strconv-from-enc-tests
90312         (test_u32_strconv_from_enc_LDADD): Likewise.
90313         * modules/uniconv/u32-strconv-to-enc-tests
90314         (test_u32_strconv_to_enc_LDADD): Likewise.
90315         * modules/uniconv/u8-conv-from-enc-tests
90316         (test_u8_conv_from_enc_LDADD): Likewise.
90317         * modules/uniconv/u8-conv-to-enc-tests
90318         (test_u8_conv_to_enc_LDADD): Likewise.
90319         * modules/uniconv/u8-strconv-from-enc-tests
90320         (test_u8_strconv_from_enc_LDADD): Likewise.
90321         * modules/uniconv/u8-strconv-to-enc-tests
90322         (test_u8_strconv_to_enc_LDADD): Likewise.
90324 2007-10-22  Bruno Haible  <bruno@clisp.org>
90326         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
90327         size.
90329 2007-10-22  Eric Blake  <ebb9@byu.net>
90331         Tweak x*printf documentation.
90332         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
90333         variable name and comments.
90334         Suggested by Bruno Haible.
90336 2007-10-22  Bruno Haible  <bruno@clisp.org>
90338         * lib/acl.c (copy_acl): Fix file name in comment.
90340 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
90342         Fix Tru64 problem with stdbool.h.
90343         * lib/stdbool.in.h (false, true):
90344         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
90345         Don't declare as an enum in this situation; it runs afoul of Tru64.
90346         Problem reported by Steven M. Schweda in
90347         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
90349 2007-10-22  Eric Blake  <ebb9@byu.net>
90351         Also wrap vf?printf.
90352         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
90353         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
90354         (xvprintf, xvfprintf): New functions.
90356 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90358         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
90359         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
90361         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
90362         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
90364 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
90366         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
90367         by Bruno Haible.
90369 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90371         * lib/getloadavg.c
90372         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
90373         Undef `sys' after including sys/table.h, for Tru64 4.0D.
90375         * tests/test-i-ring.c: Work for C89.
90377 2007-10-22  Bruno Haible  <bruno@clisp.org>
90379         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
90380         -1u, in preprocessor expression, so that we don't test for the bug
90381         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
90382         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
90384 2007-10-22  Eric Blake  <ebb9@byu.net>
90386         * tests/test-yesno.sh: Silence stderr during test.
90388 2007-10-22  Simon Josefsson  <simon@josefsson.org>
90390         * modules/crypto/gc-camellia: New file.
90392         * m4/gc-camellia.m4: New file.
90394         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
90396         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
90398 2007-10-22  Simon Josefsson  <simon@josefsson.org>
90400         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
90401         --help to stdout.  Reported by sms@antinode.org (Steven
90402         M. Schweda).
90404 2007-10-22  Simon Josefsson  <simon@josefsson.org>
90406         * users.txt: Fix link to libksba.
90408 2007-10-21  Ben Pfaff  <blp@gnu.org>
90410         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
90411         round.c roundf implementation that depends on floorf and ceilf to
90412         be tested unconditionally.
90414 2007-10-21  Ben Pfaff  <blp@gnu.org>
90416         * m4/check-libm-func.m4: Removed.
90417         * m4/check-math-lib.m4: New file.
90418         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
90419         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
90420         definition and lack of AC_LIBOBJ([roundf]).
90421         * m4/roundl.m4: Ditto, and similarly for roundl.
90422         * modules/round: Reference new m4 file.
90423         * modules/roundf: Ditto.
90424         * modules/roundl: Ditto.
90425         * tests/test-round2.c (main): Use ROUND instead of round.
90426         Bug report from Bruno Haible.
90428 2007-10-21  Bruno Haible  <bruno@clisp.org>
90430         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
90431         context.
90433 2007-10-21  Bruno Haible  <bruno@clisp.org>
90435         * tests/test-wcwidth.c (main): Allow negative result for some control
90436         characters.
90438         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
90439         Needed on OSF/1 5.1.
90441 2007-10-21  Bruno Haible  <bruno@clisp.org>
90443         * tests/test-floorf1.c: Include isnanf.h.
90444         (main): Use isnanf() instead of isnan().
90445         * tests/test-ceilf1.c: Include isnanf.h.
90446         (main): Use isnanf() instead of isnan().
90447         * tests/test-truncf1.c: Include isnanf.h.
90448         (main): Use isnanf() instead of isnan().
90449         * tests/test-roundf1.c: Include isnanf.h.
90450         (main): Use isnanf() instead of isnan().
90452 2007-10-21  Eric Blake  <ebb9@byu.net>
90454         * users.txt: Update URL for m4.
90456 2007-10-21  Bruno Haible  <bruno@clisp.org>
90458         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
90460 2007-10-21  Bruno Haible  <bruno@clisp.org>
90462         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
90463         Git's management files if the CVS files are not present.
90465 2007-10-20  Bruno Haible  <bruno@clisp.org>
90467         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
90468         gcc-3.4.x.
90470 2007-10-20  Ben Pfaff  <blp@gnu.org>
90472         * lib/math.in.h: Declare round, roundf, roundl if we are providing
90473         implementations.
90474         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
90475         * lib/round.c: New file.
90476         * lib/roundf.c: New file.
90477         * lib/roundl.c: New file.
90478         * m4/round.m4: New file.
90479         * m4/roundf.m4: New file.
90480         * m4/roundl.m4: New file.
90481         * m4/check-libm-func-m4: New file.
90482         * modules/math: Replace round, roundf, roundl related @VARS@ in
90483         math.in.h.
90484         * modules/round: New file.
90485         * modules/round-tests: New file.
90486         * modules/roundf: New file.
90487         * modules/roundf-tests: New file.
90488         * modules/roundl: New file.
90489         * modules/roundl-tests: New file.
90490         * tests/test-round1.c: New file.
90491         * tests/test-round2.c: New file.
90492         * tests/test-roundf1.c: New file.
90493         * tests/test-roundf2.c: New file.
90494         * tests/test-roundl.c: New file.
90495         * doc/functions/round.texi: Mention round module.
90496         * doc/functions/roundf.texi: Mention roundf module.
90497         * doc/functions/roundl.texi: Mention roundl module.
90498         * MODULES.html.sh: Mention new modules.
90499         Thanks to Bruno Haible for suggestions.
90501 2007-10-20  Jim Meyering  <meyering@redhat.com>
90503         * lib/xprintf.c: Include <config.h> unconditionally.
90505         Change xprintf's license to GPL.
90506         * modules/xprintf (License): s/LGPL/GPL/, since this module
90507         depends on modules (exit and exitfail) which are GPL.
90508         Suggestion from Bruno Haible.
90510         xprintf fixes.
90511         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
90512         Use a clearer diagnostic.
90513         Patch from Bruno Haible.
90515 2007-10-20  Bruno Haible  <bruno@clisp.org>
90517         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
90518         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
90519         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90521 2007-10-20  Bruno Haible  <bruno@clisp.org>
90523         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
90524         precision in the comparison result > x - 1 or similar.
90525         * tests/test-ceilf2.c (correct_result_p): Likewise.
90526         * tests/test-truncf2.c (correct_result_p): Likewise.
90527         * tests/test-trunc2.c (correct_result_p): Likewise.
90528         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90530 2007-10-20  Bruno Haible  <bruno@clisp.org>
90532         * modules/ceil: New file.
90533         * m4/ceil.m4: New file.
90534         * doc/functions/ceil.texi: Mention the 'ceil' module.
90536 2007-10-20  Bruno Haible  <bruno@clisp.org>
90538         * modules/floor: New file.
90539         * m4/floor.m4: New file.
90540         * doc/functions/floor.texi: Mention the 'floor' module.
90542 2007-10-20  Bruno Haible  <bruno@clisp.org>
90544         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
90545         of %a.
90546         * modules/floorf-tests (Depends-on): Likewise.
90547         * modules/truncf-tests (Depends-on): Likewise.
90548         * modules/trunc-tests (Depends-on): Likewise.
90549         Reported by Ben Pfaff.
90551 2007-10-19  Jim Meyering  <meyering@redhat.com>
90553         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
90554         Don't bother testing specific errno values.  Just test ferror.
90556         New module: xprintf
90557         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
90559 2007-10-19  Bruno Haible  <bruno@clisp.org>
90561         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
90562         syntax.
90563         * modules/javaexec (Makefile.am): Likewise.
90564         * modules/relocatable-prog (Makefile.am): Likewise.
90565         Suggested by Jim Meyering.
90567 2007-10-18  Bruno Haible  <bruno@clisp.org>
90569         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
90570         Reported by Jim Meyering.
90572 2007-10-18  Eric Blake  <ebb9@byu.net>
90574         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
90576 2007-10-18  Bruno Haible  <bruno@clisp.org>
90578         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
90579         the format string into writable memory. Needed in Fortify conditions.
90581 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
90582             Bruno Haible  <bruno@clisp.org>
90584         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
90585         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
90586         * modules/trim (Depends-on): Add mbchar.
90587         (configure.ac): Add gl_FUNC_MBRTOWC.
90588         (Makefile.am): Augment lib_SOURCES.
90590 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
90592         Modify glob.c to use fstatat and dirfd, to simplify it.
90593         Suggested by Eric Blake.
90594         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
90595         Don't include <stdbool.h>; not used.
90596         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
90597         (link_exists_p): Simplify implementation, since we can now assume
90598         dirfd and fstatat.
90599         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
90601 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90603         * gnulib-tool (func_get_dependencies): Fix sed script to
90604         match only tests.
90606 2007-10-17  Bruno Haible  <bruno@clisp.org>
90608         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
90609         allow locale names without encoding suffix.
90610         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
90611         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
90613 2007-10-16  Bruno Haible  <bruno@clisp.org>
90615         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
90616         * lib/getgroups.c (getgroups): Likewise.
90617         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
90619 2007-10-16  Bruno Haible  <bruno@clisp.org>
90621         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
90622         * modules/malloc-posix (License): Likewise.
90623         * modules/realloc-posix (License): Likewise.
90624         * modules/calloc-posix (License): Likewise.
90625         * modules/intprops (License): Change from GPL to LGPL, with
90626         Paul Eggert's approval.
90628 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
90630         Merge glibc changes into lib/glob.c.
90632         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
90633         2007-10-15 04:59:03 UTC.  Here are the changes:
90635         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
90637         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
90639         * lib/glob.c: Add some branch prediction throughout.
90641         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
90643         [BZ #5103]
90644         * lib/glob.c (glob): Recognize patterns starting \/.
90646         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
90648         [BZ #3996]
90649         * lib/glob.c (attribute_hidden): Define if not defined.
90650         (glob): Unescape dirname, filename or username when needed and not
90651         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
90652         is NULL.  Handle unescaped [ in pattern without closing ].
90653         Don't pass GLOB_CHECK down to recursive glob for directories.
90654         (__glob_pattern_type): New function.
90655         (__glob_pattern_p): Implement using __glob_pattern_type.
90656         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
90657         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
90658         Remove unreachable code.
90660         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
90662         * lib/glob.c (glob_in_dir): Add some comments and asserts to
90663         explain why there are no leaks.
90665         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
90667         [BZ #3253]
90668         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
90669         time, rather allocate increasingly bigger arrays of pointers, if
90670         possible with alloca, if too large with malloc.
90672 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
90674         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
90675         Problem reported by H.Merijn Brand in
90676         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
90677         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
90678         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
90680 2007-10-15  Bruno Haible  <bruno@clisp.org>
90682         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
90683         with explicit rpl_ prefix.
90684         * lib/fopen.c (fopen): Likewise.
90685         * lib/freopen.c (freopen): Likewise.
90686         * lib/iconv.c (iconv): Likewise.
90687         * lib/iconv_close.c (iconv_close): Likewise.
90689 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90691         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
90693 2007-10-15  Bruno Haible  <bruno@clisp.org>
90695         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
90696         <stddef.h> instead of <stdlib.h> since we only need NULL.
90697         Reported by Ben Pfaff <blp@cs.stanford.edu>.
90699 2007-10-15  Bruno Haible  <bruno@clisp.org>
90701         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
90702         Replace paragraph talking about LIBOBJS.
90703         Reported by Colin Watson <cjwatson@debian.org>.
90705 2007-10-15  Bruno Haible  <bruno@clisp.org>
90707         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
90708         <stdlib.h> before using NULL.
90710 2007-10-15  Simon Josefsson  <simon@josefsson.org>
90712         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
90713         Reported by Albert Chin <china@thewrittenword.com>.
90715 2007-10-14  Bruno Haible  <bruno@clisp.org>
90717         * modules/iconv_open-utf-tests: New file.
90718         * tests/test-iconv-utf.c: New file.
90720         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
90721         * modules/iconv_open-utf: New file.
90722         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
90723         (iconv, iconv_close): New declarations.
90724         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
90725         be defined.
90726         (iconv_open): Add special handling of conversion between UTF-8 and
90727         UTF-{16,32}{BE,LE}.
90728         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
90729         * lib/iconv_close.c: New file.
90730         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
90731         gl_FUNC_ICONV_OPEN.
90732         (gl_FUNC_ICONV_OPEN): Use it.
90733         (gl_FUNC_ICONV_OPEN_UTF): New macro.
90734         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
90735         and REPLACE_ICONV_UTF.
90736         * modules/iconv_open (Depends-on): Add c-strcase.
90737         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
90738         ICONV_CONST.
90739         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
90741 2007-10-13  Albert Chin  <china@thewrittenword.com>
90742             Bruno Haible  <bruno@clisp.org>
90744         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
90745         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
90747 2007-10-13  Bruno Haible  <bruno@clisp.org>
90749         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
90750         defined, use the ISO C99 inline semantics.
90751         * lib/argp.h (ARGP_EI): Likewise.
90753 2007-10-13  Bruno Haible  <bruno@clisp.org>
90755         Handle 'inline' change in gcc 4.3.0.
90756         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
90757         argp_fmtstream_write, argp_fmtstream_set_lmargin,
90758         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
90759         argp_fmtstream_point): Disable 'extern' declaration if the function
90760         definition is going to be provided inline.
90761         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
90762         semantics, not the ISO C99 inline semantics.
90763         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
90764         'extern' declaration if the function definition is going to be provided
90765         inline.
90766         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
90767         the GNU C inline semantics, not the ISO C99 inline semantics. With
90768         GCC 4.2, avoid a warning.
90770 2007-10-13  Bruno Haible  <bruno@clisp.org>
90772         * lib/freading.h (freading): Enable the use of __freading for
90773         glibc >= 2.7.
90774         * lib/freading.c (freading): Likewise.
90776 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
90778         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
90779         "warning: C99 inline functions are not supported; using GNU89".
90781 2007-10-12  Bruno Haible  <bruno@clisp.org>
90783         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
90784         of 2.
90785         * tests/test-ceilf2.c: New file.
90786         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
90788         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
90789         * modules/ceilf-tests: Update.
90791 2007-10-12  Bruno Haible  <bruno@clisp.org>
90793         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
90794         of 2.
90795         * tests/test-floorf2.c: New file.
90796         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
90798         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
90799         * modules/floorf-tests: Update.
90801 2007-10-12  Bruno Haible  <bruno@clisp.org>
90803         * tests/test-trunc2.c: New file.
90804         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
90806         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
90807         * modules/trunc-tests: Update.
90809 2007-10-12  Bruno Haible  <bruno@clisp.org>
90811         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
90812         of 2.
90813         * tests/test-truncf2.c: New file.
90814         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
90816         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
90817         * modules/truncf-tests: Update.
90819 2007-10-11  Eric Blake  <ebb9@byu.net>
90821         Don't claim strerror is broken on Interix.
90822         * doc/functions/strerror.texi (strerror): Known broken systems are
90823         now Solaris 8, and not Interix.
90824         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
90825         Interix on cross-compile.
90826         Reported by Martin Koeppe in
90827         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
90829 2007-10-11  Bruno Haible  <bruno@clisp.org>
90831         * modules/i-ring-tests: New file.
90832         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
90833         instead of assert.
90835 2007-10-11  Bruno Haible  <bruno@clisp.org>
90837         * modules/filenamecat-tests: New file.
90838         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
90839         * lib/filenamecat.c: Remove test code.
90841 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
90843         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
90845         * lib/strerror.c: Include <string.h> always, to test interface,
90846         and to remove the need for the dummy.
90847         Include intprops.h to compute width instead of doing it ourselves
90848         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
90849         (strerror): Define it to return NULL if there's no system strerror.
90850         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
90851         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
90852         ancient pre-strerror Unix systems well any more.  Saying "unknown
90853         system error" is enough.
90854         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
90855         simpler strerror.c implementation.
90856         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
90857         Simplify the tests to reflect the simpler strerror implementation.
90858         * modules/strerror (Depends-on): Add intprops.
90860 2007-10-09  Eric Blake  <ebb9@byu.net>
90862         Silence test-fpending.
90863         * modules/fpending-tests (Files): Add wrapper script.
90864         * tests/test-fpending.sh: New file.
90866 2007-10-09  Bruno Haible  <bruno@clisp.org>
90868         * MODULES.html.sh (func_module): Don't create a hyperlink for
90869         function names like 'printf_frexp'.
90870         (Misc): Add crc, memxor.
90871         (Characteristics of floating types): New section.
90872         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
90873         isnanf-nolibm, signbit, trunc, truncf, truncl.
90874         (Enhancements for ISO C 99 functions): New subsection Input/output.
90875         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
90876         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
90877         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
90878         (Compatibility checks for POSIX:2001 functions): Add clock-time.
90879         (Enhancements for POSIX:2001 functions): Add chdir-long.
90880         (File system functions): Add areadlink, chdir-safer, read-file.
90881         Remove cycle-check.
90882         (File system as inode set): New section.
90883         (Date and time): Add gethrxtime.
90884         (Multithreading): Add openmp.
90885         (Internationalization functions): Add localename.
90886         (Unicode string functions): Add unistr/u*-mbsnlen.
90887         (Support for maintaining and releasing projects): Add git-version-gen.
90888         (Lone files): Remove directories.
90890 2007-10-08  Ben Pfaff  <blp@gnu.org>
90892         * lib/xmalloca.h: Fix typo in comment.
90894 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
90896         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
90897         when avoiding problems with integer overflow.  Use a portable test
90898         instead.
90900 2007-10-08  Simon Josefsson  <simon@josefsson.org>
90902         * modules/dummy (License): Change to LGPLv2+.
90903         * modules/float (License): Likewise
90904         * modules/realloc (License): Likewise
90905         * modules/stdlib (License): Likewise
90907 2007-10-07  Bruno Haible  <bruno@clisp.org>
90909         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
90910         * floor.c (TWO_MANT_DIG): Likewise.
90911         * ceil.c (TWO_MANT_DIG): Likewise.
90912         Reported by Ben Pfaff.
90914 2007-10-07  Bruno Haible  <bruno@clisp.org>
90916         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
90917         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
90918         * lib/frexp.c (FUNC): Likewise.
90919         * lib/printf-frexp.h (printf_frexp): Likewise.
90920         * lib/printf-frexpl.h (printf_frexpl): Likewise.
90921         * lib/printf-frexp.c (FUNC): Likewise.
90922         Suggested by Jim Meyering.
90924 2007-10-07  Jim Meyering  <meyering@redhat.com>
90926         Make xnanosleep's integer overflow test more robust.
90927         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
90928         so that gcc-4.3.0 doesn't optimize away this test for overflow.
90930 2007-10-07  Bruno Haible  <bruno@clisp.org>
90932         * NEWS: Mention the license change.
90934         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
90935         abbreviations in the modules files.
90937         Change copyright notice from GPLv2+ to GPLv3+.
90938         * README: Change copyright notice.
90939         * MODULES.html.sh: Likewise.
90940         * build-aux/bootstrap.conf: Likewise.
90941         * build-aux/config.libpath: Likewise.
90942         * build-aux/csharpcomp.sh.in: Likewise.
90943         * build-aux/csharpexec.sh.in: Likewise.
90944         * build-aux/install-reloc: Likewise.
90945         * build-aux/javacomp.sh.in: Likewise.
90946         * build-aux/javaexec.sh.in: Likewise.
90947         * build-aux/ldd.sh.in: Likewise.
90948         * build-aux/reloc-ldflags: Likewise.
90949         * build-aux/relocatable.sh.in: Likewise.
90950         * build-aux/x-to-1.in: Likewise.
90951         * check-module: Likewise.
90952         * config/srclistvars.sh: Likewise.
90953         * gnulib-tool: Likewise.
90954         * lib/acl-internal.h: Likewise.
90955         * lib/acl.c: Likewise.
90956         * lib/acl.h: Likewise.
90957         * lib/acl_entries.c: Likewise.
90958         * lib/areadlink-with-size.c: Likewise.
90959         * lib/areadlink.c: Likewise.
90960         * lib/areadlink.h: Likewise.
90961         * lib/argmatch.c: Likewise.
90962         * lib/argmatch.h: Likewise.
90963         * lib/argp-ba.c: Likewise.
90964         * lib/argp-eexst.c: Likewise.
90965         * lib/argp-fmtstream.c: Likewise.
90966         * lib/argp-fmtstream.h: Likewise.
90967         * lib/argp-fs-xinl.c: Likewise.
90968         * lib/argp-help.c: Likewise.
90969         * lib/argp-namefrob.h: Likewise.
90970         * lib/argp-parse.c: Likewise.
90971         * lib/argp-pin.c: Likewise.
90972         * lib/argp-pv.c: Likewise.
90973         * lib/argp-pvh.c: Likewise.
90974         * lib/argp-xinl.c: Likewise.
90975         * lib/argp.h: Likewise.
90976         * lib/at-func.c: Likewise.
90977         * lib/atanl.c: Likewise.
90978         * lib/backupfile.c: Likewise.
90979         * lib/backupfile.h: Likewise.
90980         * lib/basename.c: Likewise.
90981         * lib/binary-io.h: Likewise.
90982         * lib/byteswap.in.h: Likewise.
90983         * lib/c-stack.c: Likewise.
90984         * lib/c-stack.h: Likewise.
90985         * lib/c-strcasestr.c: Likewise.
90986         * lib/c-strcasestr.h: Likewise.
90987         * lib/c-strstr.c: Likewise.
90988         * lib/c-strstr.h: Likewise.
90989         * lib/c-strtod.c: Likewise.
90990         * lib/calloc.c: Likewise.
90991         * lib/canon-host.c: Likewise.
90992         * lib/canon-host.h: Likewise.
90993         * lib/canonicalize-lgpl.c: Likewise.
90994         * lib/canonicalize.c: Likewise.
90995         * lib/canonicalize.h: Likewise.
90996         * lib/ceil.c: Likewise.
90997         * lib/ceilf.c: Likewise.
90998         * lib/ceill.c: Likewise.
90999         * lib/chdir-long.c: Likewise.
91000         * lib/chdir-long.h: Likewise.
91001         * lib/chdir-safer.c: Likewise.
91002         * lib/chdir-safer.h: Likewise.
91003         * lib/chown.c: Likewise.
91004         * lib/classpath.c: Likewise.
91005         * lib/classpath.h: Likewise.
91006         * lib/clean-temp.c: Likewise.
91007         * lib/clean-temp.h: Likewise.
91008         * lib/cloexec.c: Likewise.
91009         * lib/close-stream.c: Likewise.
91010         * lib/closein.c: Likewise.
91011         * lib/closein.h: Likewise.
91012         * lib/closeout.c: Likewise.
91013         * lib/closeout.h: Likewise.
91014         * lib/concat-filename.c: Likewise.
91015         * lib/copy-file.c: Likewise.
91016         * lib/copy-file.h: Likewise.
91017         * lib/count-one-bits.h: Likewise.
91018         * lib/crc.c: Likewise.
91019         * lib/crc.h: Likewise.
91020         * lib/creat-safer.c: Likewise.
91021         * lib/csharpcomp.c: Likewise.
91022         * lib/csharpcomp.h: Likewise.
91023         * lib/csharpexec.c: Likewise.
91024         * lib/csharpexec.h: Likewise.
91025         * lib/cycle-check.c: Likewise.
91026         * lib/cycle-check.h: Likewise.
91027         * lib/diacrit.c: Likewise.
91028         * lib/diacrit.h: Likewise.
91029         * lib/diffseq.h: Likewise.
91030         * lib/dirchownmod.c: Likewise.
91031         * lib/dirent.in.h: Likewise.
91032         * lib/dirfd.c: Likewise.
91033         * lib/dirfd.h: Likewise.
91034         * lib/dirname.c: Likewise.
91035         * lib/dirname.h: Likewise.
91036         * lib/dummy.c: Likewise.
91037         * lib/dup-safer.c: Likewise.
91038         * lib/dup2.c: Likewise.
91039         * lib/eealloc.h: Likewise.
91040         * lib/error.c: Likewise.
91041         * lib/error.h: Likewise.
91042         * lib/euidaccess.c: Likewise.
91043         * lib/exclude.c: Likewise.
91044         * lib/exclude.h: Likewise.
91045         * lib/execute.c: Likewise.
91046         * lib/execute.h: Likewise.
91047         * lib/exitfail.c: Likewise.
91048         * lib/exitfail.h: Likewise.
91049         * lib/expl.c: Likewise.
91050         * lib/fatal-signal.c: Likewise.
91051         * lib/fatal-signal.h: Likewise.
91052         * lib/fbufmode.c: Likewise.
91053         * lib/fbufmode.h: Likewise.
91054         * lib/fchdir.c: Likewise.
91055         * lib/fchmodat.c: Likewise.
91056         * lib/fchownat.c: Likewise.
91057         * lib/fcntl--.h: Likewise.
91058         * lib/fcntl-safer.h: Likewise.
91059         * lib/fcntl.in.h: Likewise.
91060         * lib/fd-safer.c: Likewise.
91061         * lib/fflush.c: Likewise.
91062         * lib/file-has-acl.c: Likewise.
91063         * lib/file-set.c: Likewise.
91064         * lib/file-type.c: Likewise.
91065         * lib/file-type.h: Likewise.
91066         * lib/fileblocks.c: Likewise.
91067         * lib/filemode.c: Likewise.
91068         * lib/filemode.h: Likewise.
91069         * lib/filename.h: Likewise.
91070         * lib/filenamecat.c: Likewise.
91071         * lib/filenamecat.h: Likewise.
91072         * lib/findprog.c: Likewise.
91073         * lib/findprog.h: Likewise.
91074         * lib/float.in.h: Likewise.
91075         * lib/floor.c: Likewise.
91076         * lib/floorf.c: Likewise.
91077         * lib/floorl.c: Likewise.
91078         * lib/fopen-safer.c: Likewise.
91079         * lib/fopen.c: Likewise.
91080         * lib/fpending.c: Likewise.
91081         * lib/fpending.h: Likewise.
91082         * lib/fprintf.c: Likewise.
91083         * lib/fprintftime.h: Likewise.
91084         * lib/fpucw.h: Likewise.
91085         * lib/fpurge.c: Likewise.
91086         * lib/fpurge.h: Likewise.
91087         * lib/freadable.c: Likewise.
91088         * lib/freadable.h: Likewise.
91089         * lib/freadahead.c: Likewise.
91090         * lib/freadahead.h: Likewise.
91091         * lib/freading.c: Likewise.
91092         * lib/freading.h: Likewise.
91093         * lib/free.c: Likewise.
91094         * lib/freopen.c: Likewise.
91095         * lib/frexp.c: Likewise.
91096         * lib/frexpl.c: Likewise.
91097         * lib/fseek.c: Likewise.
91098         * lib/fseterr.c: Likewise.
91099         * lib/fseterr.h: Likewise.
91100         * lib/fstatat.c: Likewise.
91101         * lib/fstrcmp.c: Likewise.
91102         * lib/fstrcmp.h: Likewise.
91103         * lib/fsusage.c: Likewise.
91104         * lib/fsusage.h: Likewise.
91105         * lib/ftell.c: Likewise.
91106         * lib/ftello.c: Likewise.
91107         * lib/fts-cycle.c: Likewise.
91108         * lib/fts.c: Likewise.
91109         * lib/fts_.h: Likewise.
91110         * lib/full-read.c: Likewise.
91111         * lib/full-read.h: Likewise.
91112         * lib/full-write.c: Likewise.
91113         * lib/full-write.h: Likewise.
91114         * lib/fwritable.c: Likewise.
91115         * lib/fwritable.h: Likewise.
91116         * lib/fwriteerror.c: Likewise.
91117         * lib/fwriteerror.h: Likewise.
91118         * lib/fwriting.c: Likewise.
91119         * lib/fwriting.h: Likewise.
91120         * lib/gcd.c: Likewise.
91121         * lib/gcd.h: Likewise.
91122         * lib/getcwd.c: Likewise.
91123         * lib/getdate.h: Likewise.
91124         * lib/getdate.y: Likewise.
91125         * lib/getdomainname.c: Likewise.
91126         * lib/getdomainname.h: Likewise.
91127         * lib/getgroups.c: Likewise.
91128         * lib/gethostname.c: Likewise.
91129         * lib/gethrxtime.c: Likewise.
91130         * lib/gethrxtime.h: Likewise.
91131         * lib/getloadavg.c: Likewise.
91132         * lib/getndelim2.c: Likewise.
91133         * lib/getndelim2.h: Likewise.
91134         * lib/getnline.c: Likewise.
91135         * lib/getnline.h: Likewise.
91136         * lib/getopt.c: Likewise.
91137         * lib/getopt.in.h: Likewise.
91138         * lib/getopt1.c: Likewise.
91139         * lib/getopt_int.h: Likewise.
91140         * lib/getpagesize.h: Likewise.
91141         * lib/getsubopt.c: Likewise.
91142         * lib/gettime.c: Likewise.
91143         * lib/getugroups.c: Likewise.
91144         * lib/getugroups.h: Likewise.
91145         * lib/getusershell.c: Likewise.
91146         * lib/gl_anyavltree_list1.h: Likewise.
91147         * lib/gl_anyavltree_list2.h: Likewise.
91148         * lib/gl_anyhash_list1.h: Likewise.
91149         * lib/gl_anyhash_list2.h: Likewise.
91150         * lib/gl_anylinked_list1.h: Likewise.
91151         * lib/gl_anylinked_list2.h: Likewise.
91152         * lib/gl_anyrbtree_list1.h: Likewise.
91153         * lib/gl_anyrbtree_list2.h: Likewise.
91154         * lib/gl_anytree_list1.h: Likewise.
91155         * lib/gl_anytree_list2.h: Likewise.
91156         * lib/gl_anytree_oset.h: Likewise.
91157         * lib/gl_anytreehash_list1.h: Likewise.
91158         * lib/gl_anytreehash_list2.h: Likewise.
91159         * lib/gl_array_list.c: Likewise.
91160         * lib/gl_array_list.h: Likewise.
91161         * lib/gl_array_oset.c: Likewise.
91162         * lib/gl_array_oset.h: Likewise.
91163         * lib/gl_avltree_list.c: Likewise.
91164         * lib/gl_avltree_list.h: Likewise.
91165         * lib/gl_avltree_oset.c: Likewise.
91166         * lib/gl_avltree_oset.h: Likewise.
91167         * lib/gl_avltreehash_list.c: Likewise.
91168         * lib/gl_avltreehash_list.h: Likewise.
91169         * lib/gl_carray_list.c: Likewise.
91170         * lib/gl_carray_list.h: Likewise.
91171         * lib/gl_linked_list.c: Likewise.
91172         * lib/gl_linked_list.h: Likewise.
91173         * lib/gl_linkedhash_list.c: Likewise.
91174         * lib/gl_linkedhash_list.h: Likewise.
91175         * lib/gl_list.c: Likewise.
91176         * lib/gl_list.h: Likewise.
91177         * lib/gl_oset.c: Likewise.
91178         * lib/gl_oset.h: Likewise.
91179         * lib/gl_rbtree_list.c: Likewise.
91180         * lib/gl_rbtree_list.h: Likewise.
91181         * lib/gl_rbtree_oset.c: Likewise.
91182         * lib/gl_rbtree_oset.h: Likewise.
91183         * lib/gl_rbtreehash_list.c: Likewise.
91184         * lib/gl_rbtreehash_list.h: Likewise.
91185         * lib/gl_sublist.c: Likewise.
91186         * lib/gl_sublist.h: Likewise.
91187         * lib/group-member.c: Likewise.
91188         * lib/group-member.h: Likewise.
91189         * lib/hard-locale.c: Likewise.
91190         * lib/hard-locale.h: Likewise.
91191         * lib/hash-pjw.c: Likewise.
91192         * lib/hash-pjw.h: Likewise.
91193         * lib/hash-triple.c: Likewise.
91194         * lib/hash.c: Likewise.
91195         * lib/hash.h: Likewise.
91196         * lib/human.c: Likewise.
91197         * lib/human.h: Likewise.
91198         * lib/i-ring.c: Likewise.
91199         * lib/i-ring.h: Likewise.
91200         * lib/idcache.c: Likewise.
91201         * lib/imaxabs.c: Likewise.
91202         * lib/imaxdiv.c: Likewise.
91203         * lib/inet_pton.c: Likewise.
91204         * lib/inet_pton.h: Likewise.
91205         * lib/intprops.h: Likewise.
91206         * lib/inttostr.c: Likewise.
91207         * lib/inttostr.h: Likewise.
91208         * lib/inttypes.in.h: Likewise.
91209         * lib/isapipe.c: Likewise.
91210         * lib/isdir.c: Likewise.
91211         * lib/isnan.c: Likewise.
91212         * lib/isnan.h: Likewise.
91213         * lib/isnanf.c: Likewise.
91214         * lib/isnanf.h: Likewise.
91215         * lib/isnanl-nolibm.h: Likewise.
91216         * lib/isnanl.c: Likewise.
91217         * lib/isnanl.h: Likewise.
91218         * lib/javacomp.c: Likewise.
91219         * lib/javacomp.h: Likewise.
91220         * lib/javaexec.c: Likewise.
91221         * lib/javaexec.h: Likewise.
91222         * lib/javaversion.c: Likewise.
91223         * lib/javaversion.h: Likewise.
91224         * lib/javaversion.java: Likewise.
91225         * lib/lbrkprop.h: Likewise.
91226         * lib/lchmod.h: Likewise.
91227         * lib/lchown.c: Likewise.
91228         * lib/ldexpl.c: Likewise.
91229         * lib/linebreak.c: Likewise.
91230         * lib/linebreak.h: Likewise.
91231         * lib/linebuffer.c: Likewise.
91232         * lib/linebuffer.h: Likewise.
91233         * lib/locale.in.h: Likewise.
91234         * lib/logl.c: Likewise.
91235         * lib/long-options.c: Likewise.
91236         * lib/long-options.h: Likewise.
91237         * lib/lstat.c: Likewise.
91238         * lib/lstat.h: Likewise.
91239         * lib/math.in.h: Likewise.
91240         * lib/mbchar.c: Likewise.
91241         * lib/mbchar.h: Likewise.
91242         * lib/mbfile.h: Likewise.
91243         * lib/mbiter.h: Likewise.
91244         * lib/mbscasecmp.c: Likewise.
91245         * lib/mbscasestr.c: Likewise.
91246         * lib/mbschr.c: Likewise.
91247         * lib/mbscspn.c: Likewise.
91248         * lib/mbslen.c: Likewise.
91249         * lib/mbsncasecmp.c: Likewise.
91250         * lib/mbsnlen.c: Likewise.
91251         * lib/mbspbrk.c: Likewise.
91252         * lib/mbspcasecmp.c: Likewise.
91253         * lib/mbsrchr.c: Likewise.
91254         * lib/mbssep.c: Likewise.
91255         * lib/mbsspn.c: Likewise.
91256         * lib/mbsstr.c: Likewise.
91257         * lib/mbstok_r.c: Likewise.
91258         * lib/mbswidth.c: Likewise.
91259         * lib/mbswidth.h: Likewise.
91260         * lib/mbuiter.h: Likewise.
91261         * lib/memcasecmp.c: Likewise.
91262         * lib/memcasecmp.h: Likewise.
91263         * lib/memchr.c: Likewise.
91264         * lib/memcmp.c: Likewise.
91265         * lib/memcoll.c: Likewise.
91266         * lib/memcoll.h: Likewise.
91267         * lib/memcpy.c: Likewise.
91268         * lib/memrchr.c: Likewise.
91269         * lib/mkancesdirs.c: Likewise.
91270         * lib/mkdir-p.c: Likewise.
91271         * lib/mkdir-p.h: Likewise.
91272         * lib/mkdir.c: Likewise.
91273         * lib/mkdirat.c: Likewise.
91274         * lib/mkdtemp.c: Likewise.
91275         * lib/mkstemp-safer.c: Likewise.
91276         * lib/mkstemp.c: Likewise.
91277         * lib/modechange.c: Likewise.
91278         * lib/modechange.h: Likewise.
91279         * lib/mountlist.c: Likewise.
91280         * lib/mountlist.h: Likewise.
91281         * lib/mpsort.c: Likewise.
91282         * lib/nanosleep.c: Likewise.
91283         * lib/obstack.c: Likewise.
91284         * lib/obstack.h: Likewise.
91285         * lib/open-safer.c: Likewise.
91286         * lib/open.c: Likewise.
91287         * lib/openat-die.c: Likewise.
91288         * lib/openat-priv.h: Likewise.
91289         * lib/openat-proc.c: Likewise.
91290         * lib/openat.c: Likewise.
91291         * lib/openat.h: Likewise.
91292         * lib/pagealign_alloc.c: Likewise.
91293         * lib/pagealign_alloc.h: Likewise.
91294         * lib/physmem.c: Likewise.
91295         * lib/physmem.h: Likewise.
91296         * lib/pipe-safer.c: Likewise.
91297         * lib/pipe.c: Likewise.
91298         * lib/pipe.h: Likewise.
91299         * lib/posixtm.c: Likewise.
91300         * lib/posixtm.h: Likewise.
91301         * lib/posixver.c: Likewise.
91302         * lib/printf-frexp.c: Likewise.
91303         * lib/printf-frexp.h: Likewise.
91304         * lib/printf-frexpl.c: Likewise.
91305         * lib/printf-frexpl.h: Likewise.
91306         * lib/printf.c: Likewise.
91307         * lib/progname.c: Likewise.
91308         * lib/progname.h: Likewise.
91309         * lib/progreloc.c: Likewise.
91310         * lib/putenv.c: Likewise.
91311         * lib/quote.c: Likewise.
91312         * lib/quote.h: Likewise.
91313         * lib/quotearg.c: Likewise.
91314         * lib/quotearg.h: Likewise.
91315         * lib/raise.c: Likewise.
91316         * lib/readline.c: Likewise.
91317         * lib/readline.h: Likewise.
91318         * lib/readlink.c: Likewise.
91319         * lib/readtokens.c: Likewise.
91320         * lib/readtokens.h: Likewise.
91321         * lib/readtokens0.c: Likewise.
91322         * lib/readtokens0.h: Likewise.
91323         * lib/readutmp.c: Likewise.
91324         * lib/readutmp.h: Likewise.
91325         * lib/realloc.c: Likewise.
91326         * lib/relocwrapper.c: Likewise.
91327         * lib/rename-dest-slash.c: Likewise.
91328         * lib/rename.c: Likewise.
91329         * lib/rmdir.c: Likewise.
91330         * lib/rpmatch.c: Likewise.
91331         * lib/safe-read.c: Likewise.
91332         * lib/safe-read.h: Likewise.
91333         * lib/safe-write.c: Likewise.
91334         * lib/safe-write.h: Likewise.
91335         * lib/same-inode.h: Likewise.
91336         * lib/same.c: Likewise.
91337         * lib/same.h: Likewise.
91338         * lib/save-cwd.c: Likewise.
91339         * lib/save-cwd.h: Likewise.
91340         * lib/savedir.c: Likewise.
91341         * lib/savedir.h: Likewise.
91342         * lib/savewd.c: Likewise.
91343         * lib/savewd.h: Likewise.
91344         * lib/search.in.h: Likewise.
91345         * lib/setenv.c: Likewise.
91346         * lib/setenv.h: Likewise.
91347         * lib/settime.c: Likewise.
91348         * lib/sh-quote.c: Likewise.
91349         * lib/sh-quote.h: Likewise.
91350         * lib/sig2str.c: Likewise.
91351         * lib/sig2str.h: Likewise.
91352         * lib/signal.in.h: Likewise.
91353         * lib/signbitd.c: Likewise.
91354         * lib/signbitf.c: Likewise.
91355         * lib/signbitl.c: Likewise.
91356         * lib/sigprocmask.c: Likewise.
91357         * lib/sincosl.c: Likewise.
91358         * lib/sleep.c: Likewise.
91359         * lib/sprintf.c: Likewise.
91360         * lib/sqrtl.c: Likewise.
91361         * lib/stat-time.h: Likewise.
91362         * lib/stdio--.h: Likewise.
91363         * lib/stdio-safer.h: Likewise.
91364         * lib/stdlib--.h: Likewise.
91365         * lib/stdlib-safer.h: Likewise.
91366         * lib/stdlib.in.h: Likewise.
91367         * lib/stpcpy.c: Likewise.
91368         * lib/stpncpy.c: Likewise.
91369         * lib/strchrnul.c: Likewise.
91370         * lib/strcspn.c: Likewise.
91371         * lib/strerror.c: Likewise.
91372         * lib/strftime.c: Likewise.
91373         * lib/strftime.h: Likewise.
91374         * lib/striconveh.c: Likewise.
91375         * lib/striconveh.h: Likewise.
91376         * lib/striconveha.c: Likewise.
91377         * lib/striconveha.h: Likewise.
91378         * lib/stripslash.c: Likewise.
91379         * lib/strnlen1.c: Likewise.
91380         * lib/strnlen1.h: Likewise.
91381         * lib/strtod.c: Likewise.
91382         * lib/strtoimax.c: Likewise.
91383         * lib/strtok_r.c: Likewise.
91384         * lib/strtol.c: Likewise.
91385         * lib/strtoll.c: Likewise.
91386         * lib/strtoul.c: Likewise.
91387         * lib/strtoull.c: Likewise.
91388         * lib/sysexits.in.h: Likewise.
91389         * lib/tempname.c: Likewise.
91390         * lib/tempname.h: Likewise.
91391         * lib/timespec.h: Likewise.
91392         * lib/tls.c: Likewise.
91393         * lib/tls.h: Likewise.
91394         * lib/tmpdir.c: Likewise.
91395         * lib/tmpdir.h: Likewise.
91396         * lib/tmpfile-safer.c: Likewise.
91397         * lib/tmpfile.c: Likewise.
91398         * lib/trigl.c: Likewise.
91399         * lib/trigl.h: Likewise.
91400         * lib/trim.c: Likewise.
91401         * lib/trim.h: Likewise.
91402         * lib/trunc.c: Likewise.
91403         * lib/truncf.c: Likewise.
91404         * lib/truncl.c: Likewise.
91405         * lib/tsearch.c: Likewise.
91406         * lib/unicodeio.c: Likewise.
91407         * lib/unicodeio.h: Likewise.
91408         * lib/unistd--.h: Likewise.
91409         * lib/unistd-safer.h: Likewise.
91410         * lib/unistdio/ulc-fprintf.c: Likewise.
91411         * lib/unistdio/ulc-vfprintf.c: Likewise.
91412         * lib/unlinkdir.c: Likewise.
91413         * lib/unlinkdir.h: Likewise.
91414         * lib/unlocked-io.h: Likewise.
91415         * lib/unsetenv.c: Likewise.
91416         * lib/userspec.c: Likewise.
91417         * lib/utime.c: Likewise.
91418         * lib/utimecmp.c: Likewise.
91419         * lib/utimecmp.h: Likewise.
91420         * lib/utimens.c: Likewise.
91421         * lib/verify.h: Likewise.
91422         * lib/verror.c: Likewise.
91423         * lib/verror.h: Likewise.
91424         * lib/version-etc-fsf.c: Likewise.
91425         * lib/version-etc.c: Likewise.
91426         * lib/version-etc.h: Likewise.
91427         * lib/vfprintf.c: Likewise.
91428         * lib/vprintf.c: Likewise.
91429         * lib/vsprintf.c: Likewise.
91430         * lib/w32spawn.h: Likewise.
91431         * lib/wait-process.c: Likewise.
91432         * lib/wait-process.h: Likewise.
91433         * lib/wcwidth.c: Likewise.
91434         * lib/write-any-file.c: Likewise.
91435         * lib/xalloc-die.c: Likewise.
91436         * lib/xalloc.h: Likewise.
91437         * lib/xasprintf.c: Likewise.
91438         * lib/xgetcwd.c: Likewise.
91439         * lib/xgetcwd.h: Likewise.
91440         * lib/xgetdomainname.c: Likewise.
91441         * lib/xgetdomainname.h: Likewise.
91442         * lib/xgethostname.c: Likewise.
91443         * lib/xmalloc.c: Likewise.
91444         * lib/xmalloca.c: Likewise.
91445         * lib/xmalloca.h: Likewise.
91446         * lib/xmemcoll.c: Likewise.
91447         * lib/xnanosleep.c: Likewise.
91448         * lib/xreadlink.c: Likewise.
91449         * lib/xreadlink.h: Likewise.
91450         * lib/xsetenv.c: Likewise.
91451         * lib/xsetenv.h: Likewise.
91452         * lib/xstriconv.c: Likewise.
91453         * lib/xstriconv.h: Likewise.
91454         * lib/xstrndup.c: Likewise.
91455         * lib/xstrndup.h: Likewise.
91456         * lib/xstrtod.c: Likewise.
91457         * lib/xstrtod.h: Likewise.
91458         * lib/xstrtol-error.c: Likewise.
91459         * lib/xstrtol.c: Likewise.
91460         * lib/xstrtol.h: Likewise.
91461         * lib/xtime.h: Likewise.
91462         * lib/xvasprintf.c: Likewise.
91463         * lib/xvasprintf.h: Likewise.
91464         * lib/yesno.c: Likewise.
91465         * lib/yesno.h: Likewise.
91466         * posix-modules: Likewise.
91467         * tests/test-alloca-opt.c: Likewise.
91468         * tests/test-arcfour.c: Likewise.
91469         * tests/test-arctwo.c: Likewise.
91470         * tests/test-argmatch.c: Likewise.
91471         * tests/test-argp-2.sh: Likewise.
91472         * tests/test-argp.c: Likewise.
91473         * tests/test-arpa_inet.c: Likewise.
91474         * tests/test-array_list.c: Likewise.
91475         * tests/test-array_oset.c: Likewise.
91476         * tests/test-atexit.c: Likewise.
91477         * tests/test-avltree_list.c: Likewise.
91478         * tests/test-avltree_oset.c: Likewise.
91479         * tests/test-avltreehash_list.c: Likewise.
91480         * tests/test-base64.c: Likewise.
91481         * tests/test-binary-io.c: Likewise.
91482         * tests/test-byteswap.c: Likewise.
91483         * tests/test-c-ctype.c: Likewise.
91484         * tests/test-c-strcasecmp.c: Likewise.
91485         * tests/test-c-strcasestr.c: Likewise.
91486         * tests/test-c-strncasecmp.c: Likewise.
91487         * tests/test-c-strstr.c: Likewise.
91488         * tests/test-canonicalize-lgpl.c: Likewise.
91489         * tests/test-canonicalize.c: Likewise.
91490         * tests/test-carray_list.c: Likewise.
91491         * tests/test-ceilf.c: Likewise.
91492         * tests/test-ceill.c: Likewise.
91493         * tests/test-count-one-bits.c: Likewise.
91494         * tests/test-crc.c: Likewise.
91495         * tests/test-dirname.c: Likewise.
91496         * tests/test-fbufmode.c: Likewise.
91497         * tests/test-fcntl.c: Likewise.
91498         * tests/test-fflush.c: Likewise.
91499         * tests/test-floorf.c: Likewise.
91500         * tests/test-floorl.c: Likewise.
91501         * tests/test-fopen.c: Likewise.
91502         * tests/test-fprintf-posix.c: Likewise.
91503         * tests/test-fprintf-posix.h: Likewise.
91504         * tests/test-fpurge.c: Likewise.
91505         * tests/test-freadable.c: Likewise.
91506         * tests/test-freadahead.c: Likewise.
91507         * tests/test-freading.c: Likewise.
91508         * tests/test-freopen.c: Likewise.
91509         * tests/test-frexp.c: Likewise.
91510         * tests/test-frexpl.c: Likewise.
91511         * tests/test-fseek.c: Likewise.
91512         * tests/test-fseeko.c: Likewise.
91513         * tests/test-fseterr.c: Likewise.
91514         * tests/test-fstrcmp.c: Likewise.
91515         * tests/test-ftell.c: Likewise.
91516         * tests/test-ftello.c: Likewise.
91517         * tests/test-fwritable.c: Likewise.
91518         * tests/test-fwriting.c: Likewise.
91519         * tests/test-getaddrinfo.c: Likewise.
91520         * tests/test-getpass.c: Likewise.
91521         * tests/test-gettimeofday.c: Likewise.
91522         * tests/test-hmac-md5.c: Likewise.
91523         * tests/test-hmac-sha1.c: Likewise.
91524         * tests/test-iconv.c: Likewise.
91525         * tests/test-iconvme.c: Likewise.
91526         * tests/test-inttypes.c: Likewise.
91527         * tests/test-isnan.c: Likewise.
91528         * tests/test-isnanf.c: Likewise.
91529         * tests/test-isnanl-nolibm.c: Likewise.
91530         * tests/test-isnanl.c: Likewise.
91531         * tests/test-isnanl.h: Likewise.
91532         * tests/test-ldexpl.c: Likewise.
91533         * tests/test-linked_list.c: Likewise.
91534         * tests/test-linkedhash_list.c: Likewise.
91535         * tests/test-locale.c: Likewise.
91536         * tests/test-localename.c: Likewise.
91537         * tests/test-lock.c: Likewise.
91538         * tests/test-lseek.c: Likewise.
91539         * tests/test-malloca.c: Likewise.
91540         * tests/test-math.c: Likewise.
91541         * tests/test-mbscasecmp.c: Likewise.
91542         * tests/test-mbscasestr1.c: Likewise.
91543         * tests/test-mbscasestr2.c: Likewise.
91544         * tests/test-mbscasestr3.c: Likewise.
91545         * tests/test-mbscasestr4.c: Likewise.
91546         * tests/test-mbschr.c: Likewise.
91547         * tests/test-mbscspn.c: Likewise.
91548         * tests/test-mbsncasecmp.c: Likewise.
91549         * tests/test-mbspbrk.c: Likewise.
91550         * tests/test-mbspcasecmp.c: Likewise.
91551         * tests/test-mbsrchr.c: Likewise.
91552         * tests/test-mbsspn.c: Likewise.
91553         * tests/test-mbsstr1.c: Likewise.
91554         * tests/test-mbsstr2.c: Likewise.
91555         * tests/test-mbsstr3.c: Likewise.
91556         * tests/test-md5.c: Likewise.
91557         * tests/test-memmem.c: Likewise.
91558         * tests/test-netinet_in.c: Likewise.
91559         * tests/test-open.c: Likewise.
91560         * tests/test-printf-frexp.c: Likewise.
91561         * tests/test-printf-frexpl.c: Likewise.
91562         * tests/test-printf-posix.c: Likewise.
91563         * tests/test-printf-posix.h: Likewise.
91564         * tests/test-rbtree_list.c: Likewise.
91565         * tests/test-rbtree_oset.c: Likewise.
91566         * tests/test-rbtreehash_list.c: Likewise.
91567         * tests/test-read-file.c: Likewise.
91568         * tests/test-rijndael.c: Likewise.
91569         * tests/test-search.c: Likewise.
91570         * tests/test-signbit.c: Likewise.
91571         * tests/test-sleep.c: Likewise.
91572         * tests/test-snprintf-posix.c: Likewise.
91573         * tests/test-snprintf-posix.h: Likewise.
91574         * tests/test-snprintf.c: Likewise.
91575         * tests/test-sprintf-posix.c: Likewise.
91576         * tests/test-sprintf-posix.h: Likewise.
91577         * tests/test-stat-time.c: Likewise.
91578         * tests/test-stdbool.c: Likewise.
91579         * tests/test-stdint.c: Likewise.
91580         * tests/test-stdio.c: Likewise.
91581         * tests/test-stdlib.c: Likewise.
91582         * tests/test-stpncpy.c: Likewise.
91583         * tests/test-strcasestr.c: Likewise.
91584         * tests/test-striconv.c: Likewise.
91585         * tests/test-striconveh.c: Likewise.
91586         * tests/test-striconveha.c: Likewise.
91587         * tests/test-string.c: Likewise.
91588         * tests/test-sys_select.c: Likewise.
91589         * tests/test-sys_socket.c: Likewise.
91590         * tests/test-sys_stat.c: Likewise.
91591         * tests/test-sys_time.c: Likewise.
91592         * tests/test-sysexits.c: Likewise.
91593         * tests/test-time.c: Likewise.
91594         * tests/test-tls.c: Likewise.
91595         * tests/test-trunc.c: Likewise.
91596         * tests/test-truncf.c: Likewise.
91597         * tests/test-truncl.c: Likewise.
91598         * tests/test-unistd.c: Likewise.
91599         * tests/test-vasnprintf-posix.c: Likewise.
91600         * tests/test-vasnprintf-posix2.c: Likewise.
91601         * tests/test-vasnprintf.c: Likewise.
91602         * tests/test-vasprintf-posix.c: Likewise.
91603         * tests/test-vasprintf.c: Likewise.
91604         * tests/test-verify.c: Likewise.
91605         * tests/test-vfprintf-posix.c: Likewise.
91606         * tests/test-vprintf-posix.c: Likewise.
91607         * tests/test-vsnprintf-posix.c: Likewise.
91608         * tests/test-vsnprintf.c: Likewise.
91609         * tests/test-vsprintf-posix.c: Likewise.
91610         * tests/test-wchar.c: Likewise.
91611         * tests/test-wctype.c: Likewise.
91612         * tests/test-wcwidth.c: Likewise.
91613         * tests/test-xstrtol.c: Likewise.
91614         * tests/test-xvasprintf.c: Likewise.
91615         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
91616         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
91617         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
91618         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
91619         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
91620         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
91621         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
91622         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
91623         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
91624         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
91625         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
91626         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
91627         * tests/uniname/test-uninames.c: Likewise.
91628         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
91629         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
91630         * tests/unistdio/test-u16-printf1.h: Likewise.
91631         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
91632         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
91633         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
91634         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
91635         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
91636         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
91637         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
91638         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
91639         * tests/unistdio/test-u32-printf1.h: Likewise.
91640         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
91641         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
91642         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
91643         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
91644         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
91645         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
91646         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
91647         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
91648         * tests/unistdio/test-u8-printf1.h: Likewise.
91649         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
91650         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
91651         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
91652         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
91653         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
91654         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
91655         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
91656         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
91657         * tests/unistdio/test-ulc-printf1.h: Likewise.
91658         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
91659         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
91660         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
91661         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
91662         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
91663         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
91664         * tests/uniwidth/test-u16-strwidth.c: Likewise.
91665         * tests/uniwidth/test-u16-width.c: Likewise.
91666         * tests/uniwidth/test-u32-strwidth.c: Likewise.
91667         * tests/uniwidth/test-u32-width.c: Likewise.
91668         * tests/uniwidth/test-u8-strwidth.c: Likewise.
91669         * tests/uniwidth/test-u8-width.c: Likewise.
91670         * tests/uniwidth/test-uc_width.c: Likewise.
91671         * config/srclist-update: Likewise.
91672         (fixlicense): Update to GPLv3+.
91674         Change copyright notice from LGPLv2.1+ to LGPLv3+.
91675         * tests/test-tsearch.c: Change copyright notice.
91677         Change copyright notice from LGPLv2.0+ to LGPLv3+.
91678         * lib/c-strcaseeq.h: Change copyright notice.
91679         * lib/streq.h: Likewise.
91680         * lib/uniconv.h: Likewise.
91681         * lib/uniconv/u-conv-from-enc.h: Likewise.
91682         * lib/uniconv/u-conv-to-enc.h: Likewise.
91683         * lib/uniconv/u-strconv-from-enc.h: Likewise.
91684         * lib/uniconv/u-strconv-to-enc.h: Likewise.
91685         * lib/uniconv/u16-conv-from-enc.c: Likewise.
91686         * lib/uniconv/u16-conv-to-enc.c: Likewise.
91687         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
91688         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
91689         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
91690         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
91691         * lib/uniconv/u32-conv-from-enc.c: Likewise.
91692         * lib/uniconv/u32-conv-to-enc.c: Likewise.
91693         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
91694         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
91695         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
91696         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
91697         * lib/uniconv/u8-conv-from-enc.c: Likewise.
91698         * lib/uniconv/u8-conv-to-enc.c: Likewise.
91699         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
91700         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
91701         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
91702         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
91703         * lib/uniname.h: Likewise.
91704         * lib/uniname/uniname.c: Likewise.
91705         * lib/unistdio.h: Likewise.
91706         * lib/unistdio/u-asnprintf.h: Likewise.
91707         * lib/unistdio/u-asprintf.h: Likewise.
91708         * lib/unistdio/u-printf-args.c: Likewise.
91709         * lib/unistdio/u-printf-args.h: Likewise.
91710         * lib/unistdio/u-printf-parse.h: Likewise.
91711         * lib/unistdio/u-snprintf.h: Likewise.
91712         * lib/unistdio/u-sprintf.h: Likewise.
91713         * lib/unistdio/u-vasprintf.h: Likewise.
91714         * lib/unistdio/u-vsnprintf.h: Likewise.
91715         * lib/unistdio/u-vsprintf.h: Likewise.
91716         * lib/unistdio/u16-asnprintf.c: Likewise.
91717         * lib/unistdio/u16-asprintf.c: Likewise.
91718         * lib/unistdio/u16-printf-parse.c: Likewise.
91719         * lib/unistdio/u16-snprintf.c: Likewise.
91720         * lib/unistdio/u16-sprintf.c: Likewise.
91721         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
91722         * lib/unistdio/u16-u16-asprintf.c: Likewise.
91723         * lib/unistdio/u16-u16-snprintf.c: Likewise.
91724         * lib/unistdio/u16-u16-sprintf.c: Likewise.
91725         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
91726         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
91727         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
91728         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
91729         * lib/unistdio/u16-vasnprintf.c: Likewise.
91730         * lib/unistdio/u16-vasprintf.c: Likewise.
91731         * lib/unistdio/u16-vsnprintf.c: Likewise.
91732         * lib/unistdio/u16-vsprintf.c: Likewise.
91733         * lib/unistdio/u32-asnprintf.c: Likewise.
91734         * lib/unistdio/u32-asprintf.c: Likewise.
91735         * lib/unistdio/u32-printf-parse.c: Likewise.
91736         * lib/unistdio/u32-snprintf.c: Likewise.
91737         * lib/unistdio/u32-sprintf.c: Likewise.
91738         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
91739         * lib/unistdio/u32-u32-asprintf.c: Likewise.
91740         * lib/unistdio/u32-u32-snprintf.c: Likewise.
91741         * lib/unistdio/u32-u32-sprintf.c: Likewise.
91742         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
91743         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
91744         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
91745         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
91746         * lib/unistdio/u32-vasnprintf.c: Likewise.
91747         * lib/unistdio/u32-vasprintf.c: Likewise.
91748         * lib/unistdio/u32-vsnprintf.c: Likewise.
91749         * lib/unistdio/u32-vsprintf.c: Likewise.
91750         * lib/unistdio/u8-asnprintf.c: Likewise.
91751         * lib/unistdio/u8-asprintf.c: Likewise.
91752         * lib/unistdio/u8-printf-parse.c: Likewise.
91753         * lib/unistdio/u8-snprintf.c: Likewise.
91754         * lib/unistdio/u8-sprintf.c: Likewise.
91755         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
91756         * lib/unistdio/u8-u8-asprintf.c: Likewise.
91757         * lib/unistdio/u8-u8-snprintf.c: Likewise.
91758         * lib/unistdio/u8-u8-sprintf.c: Likewise.
91759         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
91760         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
91761         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
91762         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
91763         * lib/unistdio/u8-vasnprintf.c: Likewise.
91764         * lib/unistdio/u8-vasprintf.c: Likewise.
91765         * lib/unistdio/u8-vsnprintf.c: Likewise.
91766         * lib/unistdio/u8-vsprintf.c: Likewise.
91767         * lib/unistdio/ulc-asnprintf.c: Likewise.
91768         * lib/unistdio/ulc-asprintf.c: Likewise.
91769         * lib/unistdio/ulc-printf-parse.c: Likewise.
91770         * lib/unistdio/ulc-snprintf.c: Likewise.
91771         * lib/unistdio/ulc-sprintf.c: Likewise.
91772         * lib/unistdio/ulc-vasnprintf.c: Likewise.
91773         * lib/unistdio/ulc-vasprintf.c: Likewise.
91774         * lib/unistdio/ulc-vsnprintf.c: Likewise.
91775         * lib/unistdio/ulc-vsprintf.c: Likewise.
91776         * lib/unistr.h: Likewise.
91777         * lib/unistr/u-cpy-alloc.h: Likewise.
91778         * lib/unistr/u-cpy.h: Likewise.
91779         * lib/unistr/u-endswith.h: Likewise.
91780         * lib/unistr/u-move.h: Likewise.
91781         * lib/unistr/u-set.h: Likewise.
91782         * lib/unistr/u-startswith.h: Likewise.
91783         * lib/unistr/u-stpcpy.h: Likewise.
91784         * lib/unistr/u-stpncpy.h: Likewise.
91785         * lib/unistr/u-strcat.h: Likewise.
91786         * lib/unistr/u-strcpy.h: Likewise.
91787         * lib/unistr/u-strcspn.h: Likewise.
91788         * lib/unistr/u-strdup.h: Likewise.
91789         * lib/unistr/u-strlen.h: Likewise.
91790         * lib/unistr/u-strncat.h: Likewise.
91791         * lib/unistr/u-strncpy.h: Likewise.
91792         * lib/unistr/u-strnlen.h: Likewise.
91793         * lib/unistr/u-strpbrk.h: Likewise.
91794         * lib/unistr/u-strspn.h: Likewise.
91795         * lib/unistr/u-strstr.h: Likewise.
91796         * lib/unistr/u-strtok.h: Likewise.
91797         * lib/unistr/u16-check.c: Likewise.
91798         * lib/unistr/u16-chr.c: Likewise.
91799         * lib/unistr/u16-cmp.c: Likewise.
91800         * lib/unistr/u16-cpy-alloc.c: Likewise.
91801         * lib/unistr/u16-cpy.c: Likewise.
91802         * lib/unistr/u16-endswith.c: Likewise.
91803         * lib/unistr/u16-mblen.c: Likewise.
91804         * lib/unistr/u16-mbsnlen.c: Likewise.
91805         * lib/unistr/u16-mbtouc-aux.c: Likewise.
91806         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
91807         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
91808         * lib/unistr/u16-mbtouc.c: Likewise.
91809         * lib/unistr/u16-mbtoucr.c: Likewise.
91810         * lib/unistr/u16-move.c: Likewise.
91811         * lib/unistr/u16-next.c: Likewise.
91812         * lib/unistr/u16-prev.c: Likewise.
91813         * lib/unistr/u16-set.c: Likewise.
91814         * lib/unistr/u16-startswith.c: Likewise.
91815         * lib/unistr/u16-stpcpy.c: Likewise.
91816         * lib/unistr/u16-stpncpy.c: Likewise.
91817         * lib/unistr/u16-strcat.c: Likewise.
91818         * lib/unistr/u16-strchr.c: Likewise.
91819         * lib/unistr/u16-strcmp.c: Likewise.
91820         * lib/unistr/u16-strcpy.c: Likewise.
91821         * lib/unistr/u16-strcspn.c: Likewise.
91822         * lib/unistr/u16-strdup.c: Likewise.
91823         * lib/unistr/u16-strlen.c: Likewise.
91824         * lib/unistr/u16-strmblen.c: Likewise.
91825         * lib/unistr/u16-strmbtouc.c: Likewise.
91826         * lib/unistr/u16-strncat.c: Likewise.
91827         * lib/unistr/u16-strncmp.c: Likewise.
91828         * lib/unistr/u16-strncpy.c: Likewise.
91829         * lib/unistr/u16-strnlen.c: Likewise.
91830         * lib/unistr/u16-strpbrk.c: Likewise.
91831         * lib/unistr/u16-strrchr.c: Likewise.
91832         * lib/unistr/u16-strspn.c: Likewise.
91833         * lib/unistr/u16-strstr.c: Likewise.
91834         * lib/unistr/u16-strtok.c: Likewise.
91835         * lib/unistr/u16-to-u32.c: Likewise.
91836         * lib/unistr/u16-to-u8.c: Likewise.
91837         * lib/unistr/u16-uctomb-aux.c: Likewise.
91838         * lib/unistr/u16-uctomb.c: Likewise.
91839         * lib/unistr/u32-check.c: Likewise.
91840         * lib/unistr/u32-chr.c: Likewise.
91841         * lib/unistr/u32-cmp.c: Likewise.
91842         * lib/unistr/u32-cpy-alloc.c: Likewise.
91843         * lib/unistr/u32-cpy.c: Likewise.
91844         * lib/unistr/u32-endswith.c: Likewise.
91845         * lib/unistr/u32-mblen.c: Likewise.
91846         * lib/unistr/u32-mbsnlen.c: Likewise.
91847         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
91848         * lib/unistr/u32-mbtouc.c: Likewise.
91849         * lib/unistr/u32-mbtoucr.c: Likewise.
91850         * lib/unistr/u32-move.c: Likewise.
91851         * lib/unistr/u32-next.c: Likewise.
91852         * lib/unistr/u32-prev.c: Likewise.
91853         * lib/unistr/u32-set.c: Likewise.
91854         * lib/unistr/u32-startswith.c: Likewise.
91855         * lib/unistr/u32-stpcpy.c: Likewise.
91856         * lib/unistr/u32-stpncpy.c: Likewise.
91857         * lib/unistr/u32-strcat.c: Likewise.
91858         * lib/unistr/u32-strchr.c: Likewise.
91859         * lib/unistr/u32-strcmp.c: Likewise.
91860         * lib/unistr/u32-strcpy.c: Likewise.
91861         * lib/unistr/u32-strcspn.c: Likewise.
91862         * lib/unistr/u32-strdup.c: Likewise.
91863         * lib/unistr/u32-strlen.c: Likewise.
91864         * lib/unistr/u32-strmblen.c: Likewise.
91865         * lib/unistr/u32-strmbtouc.c: Likewise.
91866         * lib/unistr/u32-strncat.c: Likewise.
91867         * lib/unistr/u32-strncmp.c: Likewise.
91868         * lib/unistr/u32-strncpy.c: Likewise.
91869         * lib/unistr/u32-strnlen.c: Likewise.
91870         * lib/unistr/u32-strpbrk.c: Likewise.
91871         * lib/unistr/u32-strrchr.c: Likewise.
91872         * lib/unistr/u32-strspn.c: Likewise.
91873         * lib/unistr/u32-strstr.c: Likewise.
91874         * lib/unistr/u32-strtok.c: Likewise.
91875         * lib/unistr/u32-to-u16.c: Likewise.
91876         * lib/unistr/u32-to-u8.c: Likewise.
91877         * lib/unistr/u32-uctomb.c: Likewise.
91878         * lib/unistr/u8-check.c: Likewise.
91879         * lib/unistr/u8-chr.c: Likewise.
91880         * lib/unistr/u8-cmp.c: Likewise.
91881         * lib/unistr/u8-cpy-alloc.c: Likewise.
91882         * lib/unistr/u8-cpy.c: Likewise.
91883         * lib/unistr/u8-endswith.c: Likewise.
91884         * lib/unistr/u8-mblen.c: Likewise.
91885         * lib/unistr/u8-mbsnlen.c: Likewise.
91886         * lib/unistr/u8-mbtouc-aux.c: Likewise.
91887         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
91888         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
91889         * lib/unistr/u8-mbtouc.c: Likewise.
91890         * lib/unistr/u8-mbtoucr.c: Likewise.
91891         * lib/unistr/u8-move.c: Likewise.
91892         * lib/unistr/u8-next.c: Likewise.
91893         * lib/unistr/u8-prev.c: Likewise.
91894         * lib/unistr/u8-set.c: Likewise.
91895         * lib/unistr/u8-startswith.c: Likewise.
91896         * lib/unistr/u8-stpcpy.c: Likewise.
91897         * lib/unistr/u8-stpncpy.c: Likewise.
91898         * lib/unistr/u8-strcat.c: Likewise.
91899         * lib/unistr/u8-strchr.c: Likewise.
91900         * lib/unistr/u8-strcmp.c: Likewise.
91901         * lib/unistr/u8-strcpy.c: Likewise.
91902         * lib/unistr/u8-strcspn.c: Likewise.
91903         * lib/unistr/u8-strdup.c: Likewise.
91904         * lib/unistr/u8-strlen.c: Likewise.
91905         * lib/unistr/u8-strmblen.c: Likewise.
91906         * lib/unistr/u8-strmbtouc.c: Likewise.
91907         * lib/unistr/u8-strncat.c: Likewise.
91908         * lib/unistr/u8-strncmp.c: Likewise.
91909         * lib/unistr/u8-strncpy.c: Likewise.
91910         * lib/unistr/u8-strnlen.c: Likewise.
91911         * lib/unistr/u8-strpbrk.c: Likewise.
91912         * lib/unistr/u8-strrchr.c: Likewise.
91913         * lib/unistr/u8-strspn.c: Likewise.
91914         * lib/unistr/u8-strstr.c: Likewise.
91915         * lib/unistr/u8-strtok.c: Likewise.
91916         * lib/unistr/u8-to-u16.c: Likewise.
91917         * lib/unistr/u8-to-u32.c: Likewise.
91918         * lib/unistr/u8-uctomb-aux.c: Likewise.
91919         * lib/unistr/u8-uctomb.c: Likewise.
91920         * lib/unitypes.h: Likewise.
91921         * lib/uniwidth.h: Likewise.
91922         * lib/uniwidth/cjk.h: Likewise.
91923         * lib/uniwidth/u16-strwidth.c: Likewise.
91924         * lib/uniwidth/u16-width.c: Likewise.
91925         * lib/uniwidth/u32-strwidth.c: Likewise.
91926         * lib/uniwidth/u32-width.c: Likewise.
91927         * lib/uniwidth/u8-strwidth.c: Likewise.
91928         * lib/uniwidth/u8-width.c: Likewise.
91929         * lib/uniwidth/width.c: Likewise.
91931 2007-10-07  Bruno Haible  <bruno@clisp.org>
91933         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
91934         The file is still under LGPL (see modules/inttypes).
91936 2007-10-06  Bruno Haible  <bruno@clisp.org>
91938         * modules/trunc (Dependencies): Add 'extensions'.
91939         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
91940         Reported by Ben Pfaff <blp@gnu.org>.
91942 2007-10-06  Bruno Haible  <bruno@clisp.org>
91944         * modules/freopen-tests: New file.
91945         * tests/test-freopen.c: New file.
91947         * modules/fopen-tests: New file.
91948         * tests/test-fopen.c: New file.
91950         * modules/fopen: New file.
91951         * lib/fopen.c: New file.
91952         * m4/fopen.m4: New file.
91953         * modules/freopen: New file.
91954         * lib/freopen.c: New file.
91955         * m4/freopen.m4: New file.
91956         * lib/stdio.in.h (fopen, freopen): New declarations.
91957         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
91958         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
91959         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
91960         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
91961         * doc/functions/fopen.texi: Mention the 'fopen' module.
91962         * doc/functions/freopen.texi: Mention the 'freopen' module.
91964 2007-10-06  Bruno Haible  <bruno@clisp.org>
91966         * modules/open-tests: New file.
91967         * tests/test-open.c: New file.
91969         * modules/open: New file.
91970         * lib/open.c: New file.
91971         * m4/open.m4: New file.
91972         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
91973         lib/open.c does.
91974         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
91975         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
91976         macros.
91977         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
91978         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
91979         REPLACE_OPEN.
91980         * doc/functions/open.texi: Mention the 'open' module.
91982 2007-10-04  Bruno Haible  <bruno@clisp.org>
91984         * modules/ceill-tests: New file.
91985         * tests/test-ceill.c: New file.
91987         * modules/ceill: New file.
91988         * lib/ceill.c: Replace entire file.
91989         * m4/ceill.m4: New file.
91990         * lib/math.in.h (ceill): Replace declaration.
91991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
91992         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
91993         * doc/functions/ceill.texi: Mention the 'ceill' module.
91994         * modules/mathl (Files): Remove lib/ceill.c.
91995         (Depends-on): Add ceill.
91997 2007-10-04  Bruno Haible  <bruno@clisp.org>
91999         * modules/ceilf-tests: New file.
92000         * tests/test-ceilf.c: New file.
92002         * modules/ceilf: New file.
92003         * lib/ceil.c: New file.
92004         * lib/ceilf.c: New file.
92005         * m4/ceilf.m4: New file.
92006         * lib/math.in.h (ceilf): New declaration.
92007         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
92008         HAVE_DECL_CEILF.
92009         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
92010         HAVE_DECL_CEILF.
92011         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
92013 2007-10-04  Bruno Haible  <bruno@clisp.org>
92015         * modules/floorl-tests: New file.
92016         * tests/test-floorl.c: New file.
92018         * modules/floorl: New file.
92019         * lib/floorl.c: Replace entire file.
92020         * m4/floorl.m4: New file.
92021         * lib/math.in.h (floorl): Replace declaration.
92022         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
92023         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
92024         * doc/functions/floorl.texi: Mention the 'floorl' module.
92025         * modules/mathl (Files): Remove lib/floorl.c.
92026         (Depends-on): Add floorl.
92028 2007-10-04  Bruno Haible  <bruno@clisp.org>
92030         * modules/floorf-tests: New file.
92031         * tests/test-floorf.c: New file.
92033         * modules/floorf: New file.
92034         * lib/floor.c: New file.
92035         * lib/floorf.c: New file.
92036         * m4/floorf.m4: New file.
92037         * lib/math.in.h (floorf): New declaration.
92038         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
92039         HAVE_DECL_FLOORF.
92040         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
92041         HAVE_DECL_FLOORF.
92042         * doc/functions/floorf.texi: Mention the 'floorf' module.
92044 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
92045             Bruno Haible  <bruno@clisp.org>
92047         Advertise for the Git server instead of the CVS server.
92048         * doc/gnulib-intro.texi (Steady Development): Mention the Git
92049         repository instead of the CVS one.
92050         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
92051         about all VCS systems generically.
92052         * doc/gnulib.texi (Introduction): Capitalize `Git'.
92054 2007-10-04  Bruno Haible  <bruno@clisp.org>
92056         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
92057         means.
92058         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
92060 2007-10-04  Bruno Haible  <bruno@clisp.org>
92062         * modules/truncl-tests: New file.
92063         * tests/test-truncl.c: New file.
92065         * modules/truncl: New file.
92066         * lib/truncl.c: New file.
92067         * m4/truncl.m4: New file.
92068         * lib/math.in.h (truncl): New declaration.
92069         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
92070         HAVE_DECL_TRUNCL.
92071         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
92072         HAVE_DECL_TRUNCL.
92073         * doc/functions/truncl.texi: Mention the 'truncl' module.
92075 2007-10-04  Bruno Haible  <bruno@clisp.org>
92077         * modules/truncf-tests: New file.
92078         * tests/test-truncf.c: New file.
92080         * modules/truncf: New file.
92081         * lib/trunc.c: Make paramerizable through USE_* macros.
92082         * lib/truncf.c: New file.
92083         * m4/truncf.m4: New file.
92084         * lib/math.in.h (truncf): New declaration.
92085         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
92086         HAVE_DECL_TRUNCF.
92087         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
92088         HAVE_DECL_TRUNCF.
92089         * doc/functions/truncf.texi: Mention the 'truncf' module.
92091 2007-10-03  Bruno Haible  <bruno@clisp.org>
92093         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
92094         augmentation also for tests modules.
92095         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
92096         * modules/atexit-tests (Makefile.am): Likewise.
92097         * modules/binary-io-tests (Makefile.am): Likewise.
92098         * modules/c-strcase-tests (Makefile.am): Likewise.
92099         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
92100         * modules/canonicalize-tests (Makefile.am): Likewise.
92101         * modules/closein-tests (Makefile.am): Likewise.
92102         * modules/fprintf-posix-tests (Makefile.am): Likewise.
92103         * modules/freadahead-tests (Makefile.am): Likewise.
92104         * modules/fseek-tests (Makefile.am): Likewise.
92105         * modules/fseeko-tests (Makefile.am): Likewise.
92106         * modules/ftell-tests (Makefile.am): Likewise.
92107         * modules/ftello-tests (Makefile.am): Likewise.
92108         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
92109         * modules/isnanl-tests (Makefile.am): Likewise.
92110         * modules/lseek-tests (Makefile.am): Likewise.
92111         * modules/mbscasecmp-tests (Makefile.am): Likewise.
92112         * modules/mbscasestr-tests (Makefile.am): Likewise.
92113         * modules/mbschr-tests (Makefile.am): Likewise.
92114         * modules/mbscspn-tests (Makefile.am): Likewise.
92115         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
92116         * modules/mbspbrk-tests (Makefile.am): Likewise.
92117         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
92118         * modules/mbsrchr-tests (Makefile.am): Likewise.
92119         * modules/mbsspn-tests (Makefile.am): Likewise.
92120         * modules/mbsstr-tests (Makefile.am): Likewise.
92121         * modules/printf-posix-tests (Makefile.am): Likewise.
92122         * modules/snprintf-posix-tests (Makefile.am): Likewise.
92123         * modules/sprintf-posix-tests (Makefile.am): Likewise.
92124         * modules/tsearch-tests (Makefile.am): Likewise.
92125         * modules/uniname/uniname-tests (Makefile.am): Likewise.
92126         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
92127         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
92128         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
92129         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
92130         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
92131         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
92132         * modules/vprintf-posix-tests (Makefile.am): Likewise.
92133         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
92134         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
92135         * modules/xstrtoimax-tests (Makefile.am): Likewise.
92136         * modules/xstrtol-tests (Makefile.am): Likewise.
92137         * modules/xstrtoumax-tests (Makefile.am): Likewise.
92138         * modules/yesno-tests (Makefile.am): Likewise.
92140 2007-10-03  Bruno Haible  <bruno@clisp.org>
92142         * modules/trunc-tests: New file.
92143         * tests/test-trunc.c: New file.
92145         * modules/trunc: New file.
92146         * lib/trunc.c: New file.
92147         * m4/trunc.m4: New file.
92148         * lib/math.in.h (trunc): New declaration.
92149         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
92150         HAVE_DECL_TRUNC.
92151         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
92152         HAVE_DECL_TRUNC.
92153         * doc/functions/trunc.texi: Mention the 'trunc' module.
92155 2007-10-03  Bruno Haible  <bruno@clisp.org>
92157         * tests/test-fpending.c: New file, mostly copied
92158         from coreutils/lib/t-fpending.c.
92159         * modules/fpending-tests: New file.
92161 2007-10-03  Bruno Haible  <bruno@clisp.org>
92163         Port the stdio extensions to QNX (untested).
92164         * lib/fseterr.c (fseterr): Add support for QNX.
92165         * lib/fbufmode.c (fbufmode): Likewise.
92166         * lib/freadable.c (freadable): Likewise.
92167         * lib/fwritable.c (fwritable): Likewise.
92168         * lib/freading.c (freading): Likewise.
92169         * lib/fwriting.c (fwriting): Likewise.
92170         * lib/freadahead.c (freadahed): Likewise.
92171         * lib/fpurge.c (fpurge): Likewise.
92172         * lib/fseeko.c (rpl_fseeko): Likewise.
92174 2007-10-03  Bruno Haible  <bruno@clisp.org>
92175             Jim Meyering  <jim@meyering.net>
92176             Eric Blake  <ebb9@byu.net>
92178         * doc/relocatable.texi: Use @command instead of @program.
92180 2007-10-02  Jim Meyering  <jim@meyering.net>
92182         Perform one more "_.h" -> ".in.h" substitution.
92183         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
92184         instead of unistd_.h here, too.
92186 2007-10-01  Bruno Haible  <bruno@clisp.org>
92188         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
92189         Needed for the alloca-opt module.
92191 2007-09-30  Bruno Haible  <bruno@clisp.org>
92193         * lib/alloca.in.h: Renamed from lib/alloca_.h.
92194         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
92195         alloca_.h.
92196         * lib/argz.in.h: Renamed from lib/argz_.h.
92197         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
92198         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
92199         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
92200         byteswap_.h.
92201         * lib/dirent.in.h: Renamed from lib/dirent_.h.
92202         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
92203         dirent_.h.
92204         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
92205         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
92206         fcntl_.h.
92207         * lib/float.in.h: Renamed from lib/float_.h.
92208         * modules/float (Files, Makefile.am): Use float.in.h instead of
92209         float_.h.
92210         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
92211         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
92212         fnmatch_.h.
92213         * lib/getopt.in.h: Renamed from lib/getopt_.h.
92214         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
92215         getopt_.h.
92216         * lib/glob.in.h: Renamed from lib/glob_.h.
92217         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
92218         * lib/iconv.in.h: Renamed from lib/iconv_.h.
92219         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
92220         iconv_.h.
92221         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
92222         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
92223         inttypes_.h.
92224         * lib/locale.in.h: Renamed from lib/locale_.h.
92225         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
92226         locale_.h.
92227         * lib/math.in.h: Renamed from lib/math_.h.
92228         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
92229         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
92230         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
92231         of netinet_in_.h. Add dependency.
92232         * lib/poll.in.h: Renamed from lib/poll_.h.
92233         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
92234         * lib/search.in.h: Renamed from lib/search_.h.
92235         * modules/search (Files, Makefile.am): Use search.in.h instead of
92236         search_.h.
92237         * lib/signal.in.h: Renamed from lib/signal_.h.
92238         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
92239         _signal.h.
92240         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
92241         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
92242         stdbool_.h.
92243         * lib/stdint.in.h: Renamed from lib/stdint_.h.
92244         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
92245         stdint_.h.
92246         * lib/stdio.in.h: Renamed from lib/stdio_.h.
92247         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
92248         stdio_.h.
92249         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
92250         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
92251         stdlib_.h.
92252         * lib/string.in.h: Renamed from lib/string_.h.
92253         * modules/string (Files, Makefile.am): Use string.in.h instead of
92254         string_.h.
92255         * doc/gnulib-tool.texi (Initial import): Update.
92256         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
92257         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
92258         of sys_select_.h. Add dependency.
92259         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
92260         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
92261         of sys_socket_.h.
92262         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
92263         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
92264         sys_stat_.h.
92265         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
92266         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
92267         sys_time_.h.
92268         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
92269         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
92270         sysexits_.h.
92271         * lib/time.in.h: Renamed from lib/time_.h.
92272         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
92273         * lib/unistd.in.h: Renamed from lib/unistd_.h.
92274         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
92275         unistd_.h.
92276         * lib/wchar.in.h: Renamed from lib/wchar_.h.
92277         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
92278         wchar_.h.
92279         * lib/wctype.in.h: Renamed from lib/wctype_.h.
92280         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
92281         wctype_.h.
92282         * build-aux/bootstrap (slurp): Update.
92283         * lib/.cppi-disable: Update.
92285 2007-09-30  Bruno Haible  <bruno@clisp.org>
92287         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
92288         Needed on BeOS.
92290 2007-09-30  Bruno Haible  <bruno@clisp.org>
92292         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
92294 2007-09-29  Bruno Haible  <bruno@clisp.org>
92296         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
92298 2007-09-29  Bruno Haible  <bruno@clisp.org>
92300         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
92301         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
92302         * build-aux/install-reloc: Compile also areadlink.c.
92303         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
92305 2007-09-29  Bruno Haible  <bruno@clisp.org>
92307         * gnulib-tool (func_emit_initmacro_done): Indentation.
92309 2007-09-29  Bruno Haible  <bruno@clisp.org>
92311         * README: Add CVS checkout update instructions.
92312         Info from Bob Proulx <bob@proulx.com>.
92314 2007-09-28  Eric Blake  <ebb9@byu.net>
92316         Provide move-if-change.
92317         * build-aux/move-if-change: New file, based on best practice
92318         rather than any canonical upstream location.
92320 2007-09-28  Jim Meyering  <jim@meyering.net>
92322         Fix canonicalize loop-detection corner case.
92323         Do not attempt to stat the symlink values stored via seen_triple.
92324         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
92325         on linux-2.6.18, (but not 2.6.22).
92326         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
92327         triple_compare.  The former compares dev,ino,filename, while the latter
92328         would actually stat dirname(filename) when dev and ino were equal.
92329         * lib/hash-triple.c: Install <string.h>.
92330         (STREQ): Define.
92331         (triple_compare_ino_str): New function.
92332         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
92334 2007-09-28  Eric Blake  <ebb9@byu.net>
92336         Enforce that AC_REPLACE_FUNCS files exist.
92337         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
92338         override check for typos.
92340         Fix test-closein on Solaris 10.
92341         * tests/test-closein.c (main): Don't assume stdin can be inherited
92342         closed on all systems.
92343         * tests/test-closein.sh: Likewise.
92344         Reported by Piotr Tarnowski.
92346 2007-09-28  Jim Meyering  <jim@meyering.net>
92348         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
92350 2007-09-27  Jim Meyering  <jim@meyering.net>
92352         canonicalize: Avoid a false-positive cycle failure.
92353         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
92354         Sort.  Remove cycle-check.
92355         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
92356         not cycle-check.h.
92357         (seen_triple): New function.
92358         (canonicalize_filename_mode): Use it instead of cycle-check.
92359         * tests/test-canonicalize.c: Add a test for this bug.
92360         * tests/test-canonicalize.sh: Set up and run the test.
92362         New module, file-set, from coreutils.
92363         * modules/file-set: Define it.
92364         * lib/file-set.c, lib/file-set.h: Implement.
92366         New module, hash-triple, from coreutils.
92367         * modules/hash-triple: Define it.
92368         * lib/hash-triple.c, lib/hash-triple.h: Implement.
92370 2007-09-25  Eric Blake  <ebb9@byu.net>
92372         Fix strerror on Interix.
92373         * lib/string_.h (strerror): Declare replacement.
92374         * doc/functions/strerror.texi (strerror): Document the Interix
92375         shortcoming.
92376         * modules/string (Makefile.am): Support new hooks.
92377         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
92378         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
92379         gl_FUNC_STRERROR_SEPARATE.
92380         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
92381         * lib/strerror.c (rpl_strerror): Provide replacement.
92382         * modules/strerror (Depends-on): Add string.
92383         (configure.ac): Detect use of module.
92384         * tests/test-strerror.c: New file.
92385         * modules/strerror-tests: New test module.
92386         * modules/argp (Depends-on): Add strerror.
92387         * modules/error (Depends-on): Likewise.
92388         Reported by Martin Koeppe.
92390 2007-09-24  Bruno Haible  <bruno@clisp.org>
92392         * README: Update git instructions.
92394 2007-09-24  Eric Blake  <ebb9@byu.net>
92396         Revert fpending breakage from 2007-09-08.
92397         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
92398         __fpending.c.
92400 2007-09-24  Jim Meyering  <jim@meyering.net>
92402         filenamecat.c: Add a test.
92403         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
92404         showing how the function works when DIR is the empty string.
92406 2007-09-21  Simon Josefsson  <simon@josefsson.org>
92408         * tests/test-canonicalize.sh: Turn on executable bit.
92410 2007-09-19  Eric Blake  <ebb9@byu.net>
92412         * README: Update CVS instructions.
92414 2007-09-18  Bruno Haible  <bruno@clisp.org>
92416         * modules/areadlink: New file.
92417         * lib/areadlink.h (areadlink): New declaration.
92418         * lib/areadlink.c: New file, based on lib/xreadlink.c.
92420 2007-09-17  Jim Meyering  <jim@meyering.net>
92422         * lib/savewd.c (ESTALE) [!defined]: Define.
92423         Reported to be required on Interix by Martin Koeppe.
92425 2007-09-17  Bruno Haible  <bruno@clisp.org>
92427         * gnulib-tool (func_version): Use $version.
92429 2007-09-16  Bruno Haible  <bruno@clisp.org>
92431         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
92432         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
92433         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
92434         Reported by Greg Schafer <gschafer@zip.com.au>.
92436 2007-09-15  Bruno Haible  <bruno@clisp.org>
92438         * gnulib-tool (sed): Try a little harder to make bash understand the
92439         alias.
92440         Reported by Bruce Korb <bruce.korb@gmail.com>.
92442 2007-09-13  Eric Blake  <ebb9@byu.net>
92444         * ChangeLog: Remove conflict markers.
92446 2007-09-13  Simon Josefsson  <simon@josefsson.org>
92448         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
92449         Reported by Bruno Haible <bruno@clisp.org>.
92451 2007-09-12  Bruno Haible  <bruno@clisp.org>
92453         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
92454         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
92455         is not defined.
92457 2007-09-12  Eric Blake  <ebb9@byu.net>
92459         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
92460         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
92461         Autoconf definition.
92462         * modules/euidaccess (Depends-on): Add extensions, for
92463         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
92464         * modules/fnmatch (Depends-on): Likewise.
92465         * modules/getaddrinfo (Depends-on): Likewise.
92466         * modules/getdelim (Depends-on): Likewise.
92467         * modules/getline (Depends-on): Likewise.
92468         * modules/getsubopt (Depends-on): Likewise.
92469         * modules/gettext (Depends-on): Likewise.
92470         * modules/group-member (Depends-on): Likewise.
92471         * modules/mbchar (Depends-on): Likewise.
92472         * modules/memmem (Depends-on): Likewise.
92473         * modules/mempcpy (Depends-on): Likewise.
92474         * modules/memrchr (Depends-on): Likewise.
92475         * modules/pagealign_alloc (Depends-on): Likewise.
92476         * modules/readutmp (Depends-on): Likewise.
92477         * modules/stpcpy (Depends-on): Likewise.
92478         * modules/stpncpy (Depends-on): Likewise.
92479         * modules/strchrnul (Depends-on): Likewise.
92480         * modules/strndup (Depends-on): Likewise.
92481         * modules/strsep (Depends-on): Likewise.
92482         * modules/strverscmp (Depends-on): Likewise.
92483         * modules/vasprintf (Depends-on): Likewise.
92484         * modules/wcwidth (Depends-on): Likewise.
92485         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
92486         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
92487         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
92488         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
92489         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
92490         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
92491         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
92492         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
92493         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
92494         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
92495         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
92496         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
92497         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
92498         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
92499         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
92500         * m4/readutmp.m4 (gl_READUTMP): Likewise.
92501         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
92502         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
92503         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
92504         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
92505         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
92506         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
92507         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
92508         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
92509         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
92510         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
92511         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
92512         so that lock.m4 can be used in gettext without extensions module.
92514 2007-09-11  Bruno Haible  <bruno@clisp.org>
92516         * m4/isc-posix.m4: Remove file.
92517         Suggested by Eric Blake.
92519 2007-09-11  Eric Blake  <ebb9@byu.net>
92521         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
92523 2007-09-10  Bruno Haible  <bruno@clisp.org>
92525         * posix-modules: Fix typo in error message.
92526         Reported by Matt <mkraai@beckman.com>.
92528 2007-09-09  Bruno Haible  <bruno@clisp.org>
92530         * doc/functions/getdelim.texi: Update list of platforms lacking the
92531         function.
92532         * doc/functions/getline.texi: Likewise.
92534 2007-09-09  Jim Meyering  <jim@meyering.net>
92536         * lib/hash.c (hash_initialize): Detect calloc failure.
92537         Reported by Bruno Haible.
92539 2007-09-09  Bruno Haible  <bruno@clisp.org>
92541         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
92542         malloc or realloc fails.
92544 2007-09-09  Bruno Haible  <bruno@clisp.org>
92546         * modules/getcwd (Depends-on): Add malloc-posix.
92547         * modules/glob (Depends-on): Likewise.
92548         * modules/putenv (Depends-on): Likewise.
92549         * modules/strdup (Depends-on): Likewise.
92550         * modules/getdelim (Depends-on): Add realloc-posix.
92551         * modules/read-file (Depends-on): Likewise.
92553 2007-09-09  Bruno Haible  <bruno@clisp.org>
92555         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
92556         (gl_FUNC_MALLOC_POSIX): Require it.
92557         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
92558         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
92559         * modules/realloc (Files): Add m4/malloc.m4.
92560         * modules/calloc (Files): Likewise.
92562 2007-09-09  Bruno Haible  <bruno@clisp.org>
92564         * modules/malloc-posix: New file.
92565         * modules/malloc (Depends-on): Add malloc-posix.
92566         * lib/malloc.c: Include errno.h.
92567         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
92568         and a POSIX-compatible malloc into a single function. Set ENOMEM
92569         when returning NULL.
92570         * m4/malloc.m4: New file.
92571         * doc/functions/malloc.texi: Mention the malloc-posix module.
92572         * lib/stdlib_.h (malloc): New declaration.
92573         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
92574         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
92575         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
92576         and HAVE_MALLOC_POSIX.
92578 2007-09-09  Bruno Haible  <bruno@clisp.org>
92580         * modules/realloc-posix: New file.
92581         * modules/realloc (Depends-on): Add realloc-posix.
92582         * lib/realloc.c: Include errno.h.
92583         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
92584         and a POSIX-compatible realloc into a single function. Set ENOMEM
92585         when returning NULL.
92586         * m4/realloc.m4: New file.
92587         * doc/functions/realloc.texi: Mention the realloc-posix module.
92588         * lib/stdlib_.h (realloc): New declaration.
92589         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
92590         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
92591         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
92592         and HAVE_REALLOC_POSIX.
92594 2007-09-09  Bruno Haible  <bruno@clisp.org>
92596         * modules/calloc-posix: New file.
92597         * modules/calloc (Depends-on): Add calloc-posix.
92598         * lib/calloc.c: Include errno.h.
92599         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
92600         and a POSIX-compatible calloc into a single function. Set ENOMEM
92601         when returning NULL.
92602         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
92603         * doc/functions/calloc.texi: Mention the calloc-posix module.
92604         * lib/stdlib_.h (calloc): New declaration.
92605         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
92606         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
92607         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
92608         and HAVE_CALLOC_POSIX.
92610 2007-09-09  Bruno Haible  <bruno@clisp.org>
92612         Allow for modules to show an arbitrary notice.
92613         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
92614         * gnulib-tool: New option --extract-notice.
92615         (func_usage): Document it.
92616         (sed_extract_prog): Update.
92617         (func_get_notice): New function.
92618         (func_modules_notice): New function.
92619         (func_import, func_create_testdir): Invoke it.
92620         Suggested by Jim Meyering.
92622 2007-09-09  Bruno Haible  <bruno@clisp.org>
92624         * gnulib-tool: New options --verbose, --quiet.
92625         (func_usage): Document them.
92626         (verbose): New variable.
92627         (func_execute_command): New function.
92628         (func_import): Don't show the module list and the file list if
92629         $verbose < 0.
92630         (func_create_testdir): Likewise. Use func_execute_command.
92631         (func_create_megatestdir): Use func_execute_command.
92633 2007-09-08  Bruno Haible  <bruno@clisp.org>
92635         * gnulib-tool (func_import): Prefer rsync over wget when available,
92636         for fetching the PO files.
92638 2007-09-08  Bruno Haible  <bruno@clisp.org>
92640         * posix-modules: New file. Portions copied from gnulib-tool.
92641         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
92643 2007-09-08  Jim Meyering  <jim@meyering.net>
92645         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
92646         * lib/fpending.h: Rename from __fpending.h.
92647         * lib/fpending.c: Rename from __fpending.c.
92648         Include "fpending.h", not "__fpending.h".
92649         * lib/__fpending.h, lib/__fpending.c: Remove files.
92650         * modules/fpending (Files): Reflect new file names.
92651         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
92653 2007-09-08  Bruno Haible  <bruno@clisp.org>
92655         * m4/inttypes-h.m4: Remove stub file.
92657 2007-09-07  Simon Josefsson  <simon@josefsson.org>
92659         * doc/headers/stdint.texi: Discuss #include_next issue.
92661 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
92663         * build-aux/bootstrap: Remove obsolete comment about wget --help.
92665 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92667         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
92668         in variable name.
92670 2007-09-03  Jim Meyering  <jim@meyering.net>
92672         New module: git-version-gen.
92673         * modules/git-version-gen: New file.
92675         Import changes from coreutils for bootstrap script.
92677         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
92679         bootstrap: uses rsync to download the .po files
92680         * build-aux/bootstrap (po_download_command_format): New global.
92681         (download_po_files): Use rsync.
92682         (update_po_files): Don't remove .po files after download,
92683         so future rsync runs can take advantage of the copies.
92685         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
92687         Solve the unnecessary-.po-file-regeneration problem once and for all.
92688         * build-aux/bootstrap (download_po_files): New function, renamed from
92689         get_translations.  Now, downloads, but doesn't update LINGUAS.
92690         (update_po_files): New function.
92692         bootstrap: Ignore more.
92693         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
92694         uniwidth to e.g., lib/.gitignore.
92695         (slurp): Handle the sys_stat_.h -> sys mapping, too.
92697         * build-aux/bootstrap: New setting: vc_ignore.
92698         (insert_sorted_if_absent): Create $file if absent.
92699         Adapt to new, possibly empty, list: $vc_ignore.
92701         bootstrap: generate more ignorable names
92702         * build-aux/bootstrap (slurp): When generating ignorable names,
92703         also map .sin to .sed, .gperf to .c, and .y to .c.
92705 2007-09-03  Jim Meyering  <jim@meyering.net>
92707         * build-aux/git-version-gen: New file, from coreutils.  For details, see
92708         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
92710 2007-09-02  Bruno Haible  <bruno@clisp.org>
92712         Fix mis-recognition of 'mcs' on QNX 6.
92713         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
92714         output contains the string "Mono".
92715         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
92716         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
92718 2007-09-01  Bruno Haible  <bruno@clisp.org>
92720         Fix collision between uniwidth/* and linebreak modules.
92721         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
92722         u32_width): Remove declarations.
92723         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
92724         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
92725         streq3, streq2, streq1, streq0): Remove functions.
92726         (STREQ): Remove macro.
92727         (is_cjk_encoding): Remove function.
92728         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
92729         (uc_width, u8_width, u16_width, u32_width): Remove functions.
92730         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
92731         * NEWS: Document the change.
92733 2007-09-01  Bruno Haible  <bruno@clisp.org>
92735         * lib/streq.h: Add double-inclusion guard.
92737 2007-09-01  Karl Berry  <karl@gnu.org>
92739         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
92741 2007-08-28  Jim Meyering  <jim@meyering.net>
92743         Rename mreadlink_with_size to areadlink_with_size.
92744         * NEWS: Document the change.
92745         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
92746         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
92747         * lib/mreadlink.h: Rename this to...
92748         * lib/areadlink.h: ...this.
92749         * modules/mreadlink-with-size: Rename this to...
92750         * modules/areadlink-with-size: ...this.
92751         * lib/canonicalize.c: Reflect the renaming.
92752         * modules/canonicalize: Likewise.
92754 2007-08-26  Bruno Haible  <bruno@clisp.org>
92756         * gnulib-tool (func_import): When deciding which files to remove,
92757         consider also dangling symbolic links.
92758         Reported by Eric Blake.
92760 2007-08-26  Bruno Haible  <bruno@clisp.org>
92762         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
92764 2007-08-23  Simon Josefsson  <simon@josefsson.org>
92766         * lib/readline.c: Don't include getline.h, the prototype is now
92767         found in stdio.h.
92769 2007-08-23  Jim Meyering  <jim@meyering.net>
92771         Getdelim touchup.
92772         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
92773         around the funlockfile call, since funlockfile never sets errno.
92774         Don't set errno upon failed realloc.
92776 2007-08-22  Eric Blake  <ebb9@byu.net>
92778         Getline touchups.
92779         * lib/getdelim.c (getdelim): Revert regression that required *n to
92780         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
92781         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
92782         getdelim, rather than whether implementation is missing.
92783         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
92784         * lib/stdio_.h (getline): Also declare if replacement is
92785         required.
92786         * doc/functions/getdelim.texi: New file.
92787         * doc/functions/getline.texi: Likewise.
92788         * doc/gnulib.texi (Function Substitutes): Add new files.
92789         Reported by Bruno Haible.
92791 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
92793         * users.txt: Add Guile.
92795 2007-08-22  Eric Blake  <ebb9@byu.net>
92797         * tests/test-getdelim.c (main): Use remove, not unlink.
92798         * tests/test-getline.c (main): Likewise.
92800         Move getline and getdelim into stdio.h, per POSIX 200x.
92801         * modules/getline (Files): Remove getline.h.
92802         (Depends-on): Add stdio.
92803         (configure.ac): Add module indicator.
92804         * modules/getdelim (Files): Remove getdelim.h.
92805         (Depends-on): Add stdio.
92806         (configure.ac): Add module indicator.
92807         * modules/stdio (Makefile.am): Work with new indicators.
92808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
92809         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
92810         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
92811         * lib/getdelim.h: Delete.
92812         * lib/getline.h: Delete.
92813         * lib/stdio_.h (getdelim, getline): Declare.
92814         * modules/getdelim-tests: New module.
92815         * modules/getline-tests: Likewise.
92816         * tests/test-getdelim.c: New file.
92817         * tests/test-getline.c: Likewise.
92818         * NEWS: Document the change.
92819         * lib/getline.c: Update choice of header.
92820         * lib/csharpcomp.c: Likewise.
92821         * lib/getpass.c: Likewise.
92822         * lib/javacomp.c: Likewise.
92823         * lib/javaversion.c: Likewise.
92824         * lib/yesno.c: Likewise.
92825         * lib/getdelim.c: Likewise.
92826         (getdelim): Set errno on failure, and avoid memory leak.
92828 2007-08-19  Bruno Haible  <bruno@clisp.org>
92830         * modules/closein (Depends-on): Add freadahead.
92831         * lib/closein.c: Include freadahead.h.
92832         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
92833         is zero.
92835 2007-08-19  Bruno Haible  <bruno@clisp.org>
92837         * modules/freadahead-tests: New file.
92838         * tests/test-freadahead.sh: New file.
92839         * tests/test-freadahead.c: New file.
92841         * modules/freadahead: New file.
92842         * lib/freadahead.h: New file.
92843         * lib/freadahead.c: New file.
92844         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
92845         fbufmode, fpurge, freadable, fwritable.
92847 2007-08-19  Eric Blake  <ebb9@byu.net>
92849         Test yesno in combination with closein.
92850         * lib/yesno.c (yesno): Document use of stdin.
92851         * modules/yesno-tests (Files): New module.
92852         * tests/test-yesno.c (main): New file.
92853         * tests/test-yesno.sh: Likewise.
92855 2007-08-19  Bruno Haible  <bruno@clisp.org>
92857         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
92858         * lib/fseeko.c (rpl_fseeko): Likewise.
92859         * lib/fseterr.c (fseterr): Likewise.
92861 2007-08-19  Bruno Haible  <bruno@clisp.org>
92863         * tests/test-lseek.c (main): Disable a test for BeOS.
92864         * doc/functions/lseek.texi: Document the BeOS bug.
92866 2007-08-19  Bruno Haible  <bruno@clisp.org>
92867             Eric Blake  <ebb9@byu.net>
92869         * lib/lseek.c: Include <sys/stat.h>.
92870         (rpl_lseek): Add workaround code also for Unix platforms.
92871         Needed for BeOS.
92872         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
92873         * doc/functions/lseek.texi: Document BeOS definiency.
92875 2007-08-18  Bruno Haible  <bruno@clisp.org>
92877         * modules/fstrcmp-tests: New file.
92878         * tests/test-fstrcmp.c: New file.
92880 2007-08-18  Bruno Haible  <bruno@clisp.org>
92882         * modules/fstrcmp: New file, from GNU gettext with modifications.
92883         * lib/fstrcmp.h: New file, from GNU gettext.
92884         * lib/fstrcmp.c: New file, from GNU gettext.
92885         * MODULES.html.sh (String handling): Add fstrcmp.
92887 2007-08-18  Bruno Haible  <bruno@clisp.org>
92889         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
92890         'bool'.
92891         (diag, compareseq): Remove const from the ctxt argument.
92892         (USE_HEURISTIC): Undefine at the end.
92894 2007-08-18  Jim Meyering  <jim@meyering.net>
92896         New file: lib/idcache.h
92897         * NEWS: Mention the addition.
92898         * modules/idcache (Files): Add lib/idcache.h
92899         * lib/idcache.c: Include "idcache.h".
92900         Don't include <sys/types.h>.
92901         Add a FIXME comment.
92902         Move file-scoped "static" declarations to the top.
92903         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
92905 2007-08-17  Bruno Haible  <bruno@clisp.org>
92906         and Paul Eggert  <eggert@cs.ucla.edu>
92908         * MODULES.html.sh: Add diffseq.
92909         * modules/diffseq: New file.
92910         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
92911         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
92913 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
92915         Import changes from coreutils for bootstrap script.
92917         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
92919         * build-aux/bootstrap (slurp): Work even in environments where
92920         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
92921         current code does not slurp files whose names start with ".", and
92922         this looks like it might be a troublesome area.
92924         2007-07-11  Jim Meyering  <jim@meyering.net>
92926         If there's a GPL vN copyright comment, require that N == 3.
92928         2007-07-08  Jim Meyering  <jim@meyering.net>
92930         Run the coreutils-specific code only if tests/Makefile.am.in exists.
92931         * build-aux/bootstrap (mam_template): Move definition out of loop.
92933         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
92935         * build-aux/bootstrap (symlink_to_dir): Rename function from
92936         symlink_to_gnulib.  Add a directory parameter.  Update all
92937         callers.
92938         (cp_mark_as_generated): Also check for -- and link to -- files in
92939         gl/.
92941         2007-07-08  Jim Meyering  <jim@meyering.net>
92943         Adapt to deeper hierarchy in gnulib.
92944         * build-aux/bootstrap (symlink_to_dir): If the destination
92945         directory doesn't exist, create it. This is required at least for
92946         "lib/uniwidth/cjk.h".
92948         2007-05-15  Jim Meyering  <jim@meyering.net>
92950         * build-aux/bootstrap: Now that generated Makefile.am files
92951         are no longer under version control, they must be created at
92952         bootstrap time.
92954 2007-08-14  Ben Pfaff  <blp@gnu.org>
92956         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
92958 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
92960         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
92961         given the changes below.
92962         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
92963         even on hosts that have padding bits beyond the supported 64.
92965 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
92967         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
92968         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
92969         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
92970         depends on it.
92971         (xstrtol_error): Remove.
92972         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
92973         but with a different signature.
92974         (ATTRIBUTE_NORETURN, __attribute__): New macros.
92975         * lib/xstrtol-error.c: Include exitfail.h.
92976         (xstrtol_fatal): New function, with a different signature from the
92977         old xstrtol_error, so that the caller need not worry about passing
92978         in an exit status, or about storage management of the option argument.
92979         (xstrtol_error): Now a static function.  Redo signature to
92980         implement xstrtol_fatal.  Output the correct number of hyphens in
92981         front of the option so that the caller need not worry about
92982         storage management.
92983         (N_): New macro.
92984         (_): Remove; not used now.
92985         * modules/xstrtol: Depend on getopt.
92986         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
92987         of old STRTOL_FATAL_ERROR macro.
92988         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
92989         of test program.
92990         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
92991         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
92993 2007-08-08  Eric Blake  <ebb9@byu.net>
92995         * lib/xstrtol-error.c: Add missing include.
92997         Move xstrtol messages into gnulib domain, when --pobase is used.
92998         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
92999         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
93000         * modules/xstrtol (Files): Distribute new file.
93001         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
93002         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
93003         * tests/test-xstrtol.c: ...into new file.
93004         * tests/test-xstrtoul.c: Also test xstrtoul.
93005         * tests/test-xstrtoimax.c: Also test xstrtoimax.
93006         * tests/test-xstrtoumax.c: Also test xstrtoumax.
93007         * tests/test-xstrtol.sh: Drive the tests.
93008         * tests/test-xstrtoimax.sh: Likewise.
93009         * tests/test-xstrtoumax.sh: Likewise.
93010         * modules/xstrtol-tests: New module.
93011         * modules/xstrtoimax-tests: Likewise.
93012         * modules/xstrtoumax-tests: Likewise.
93014 2007-08-08  Jim Meyering  <jim@meyering.net>
93016         New function: mfile_name_concat.
93017         * lib/filenamecat.c (mfile_name_concat): New function, just like
93018         file_name_concat, but return NULL upon failure rather than exiting
93019         with a diagnostic.
93020         * lib/filenamecat.h: Declare it.
93022 2007-08-07  Bruno Haible  <bruno@clisp.org>
93024         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
93025         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
93026         warning from gcc.
93027         Reported by Eric Blake.
93029 2007-08-07  Simon Josefsson  <simon@josefsson.org>
93031         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
93032         * modules/crypto/arcfour (License): Likewise.
93033         * modules/crypto/des-tests (License): Likewise.
93034         * modules/crypto/gc-arctwo-tests (License): Likewise.
93035         * modules/crypto/gc-des-tests (License): Likewise.
93036         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
93037         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
93038         * modules/crypto/gc-md2-tests (License): Likewise.
93039         * modules/crypto/gc-md4-tests (License): Likewise.
93040         * modules/crypto/gc-md5-tests (License): Likewise.
93041         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
93042         * modules/crypto/gc-rijndael-tests (License): Likewise.
93043         * modules/crypto/gc-sha1-tests (License): Likewise.
93044         * modules/crypto/gc-tests (License): Likewise.
93045         * modules/crypto/hmac-md5 (License): Likewise.
93046         * modules/crypto/hmac-sha1 (License): Likewise.
93047         * modules/crypto/md2-tests (License): Likewise.
93048         * modules/crypto/md4-tests (License): Likewise.
93049         * modules/crypto/md5 (License): Likewise.
93050         * modules/crypto/rijndael (License): Likewise.
93051         * modules/crypto/sha1 (License): Likewise.
93052         * modules/memxor (License): Likewise.
93054 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
93055         and Bruno Haible  <bruno@clisp.org>
93057         * NEWS: Describe interface changes to human, xstrtol.
93058         * lib/human.h: Include <xstrtol.h>.
93059         (human_options): Return enum strtol_error, not int.  Remove
93060         bool arg; take int * instead.
93061         * lib/human.c: Don't include "gettext.h".
93062         (_): Remove; no longer used.
93063         Don't include <xstrtol.h>, since human.h does it.
93064         (human_options): Adjust to abovementioned interface changes.
93065         Do not report error to stderr; that's now the caller's
93066         responsibility.
93067         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
93068         interface change.
93069         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
93070         Str, Argument_type_string.  All uses changed.  Put " argument"
93071         in diagnostics to make them clearer.  Change wording of suffix
93072         message for clarity.
93073         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
93074         Argument_type_string.
93075         (STRTOL_FATAL_WARN): Remove; no longer used.
93076         * modules/human (Depends-on): Remove gettext-h.
93078 2007-08-06  Simon Josefsson  <simon@josefsson.org>
93080         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
93082 2007-07-31  Bruno Haible  <bruno@clisp.org>
93084         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
93085         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
93086         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
93088 2007-07-31  Bruno Haible  <bruno@clisp.org>
93090         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
93091         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
93093 2007-07-30  Bruno Haible  <bruno@clisp.org>
93095         * modules/base64 (License): Use the synonymous term "LGPLv2+".
93096         * modules/c-ctype (License): Likewise.
93097         * modules/c-strcase (License): Likewise.
93098         * modules/check-version (License): Likewise.
93099         * modules/iconv (License): Likewise.
93100         * modules/iconv_open (License): Likewise.
93101         * modules/read-file (License): Likewise.
93102         * modules/striconv (License): Likewise.
93103         * modules/strverscmp (License): Likewise.
93104         * modules/vasprintf (License): Likewise.
93105         * modules/crypto/des (License): Likewise.
93106         * modules/crypto/gc (License): Likewise.
93107         * modules/crypto/gc-arcfour (License): Likewise.
93108         * modules/crypto/gc-arctwo (License): Likewise.
93109         * modules/crypto/gc-des (License): Likewise.
93110         * modules/crypto/gc-hmac-md5 (License): Likewise.
93111         * modules/crypto/gc-hmac-sha1 (License): Likewise.
93112         * modules/crypto/gc-md2 (License): Likewise.
93113         * modules/crypto/gc-md4 (License): Likewise.
93114         * modules/crypto/gc-md5 (License): Likewise.
93115         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
93116         * modules/crypto/gc-random (License): Likewise.
93117         * modules/crypto/gc-rijndael (License): Likewise.
93118         * modules/crypto/gc-sha1 (License): Likewise.
93119         * modules/crypto/md2 (License): Likewise.
93120         * modules/crypto/md4 (License): Likewise.
93122 2007-07-30  Jim Meyering  <jim@meyering.net>
93124         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
93125         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
93126         it has valid stat data.  This bug would cause du not to count the
93127         sizes of inaccessible directories.
93128         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
93129         in <http://bugzilla.redhat.com/250077>.
93131 2007-07-25  Peter O'Gorman  <peter@pogma.com>
93132             Bruno Haible  <bruno@clisp.org>
93134         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
93135         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
93136         #include_next, gives a diagnostic about it, but reports no error in
93137         the exit code.
93138         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
93140 2007-07-24  Ben Pfaff  <blp@gnu.org>
93142         Improve name: "count-one-bits" is better than "popcount".
93143         * MODULES.html.sh: Update name.
93144         * lib/popcount.h: Renamed lib/count-one-bits.h.
93145         (popcount): Renamed count_one_bits.
93146         (popcountl): Renamed count_one_bits_l.
93147         (popcountll): Renamed count_one_bits_ll.
93148         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
93149         * modules/popcount: Renamed module/count-one-bits.
93150         * modules/popcount-tests: Renamed module/count-one-bits-tests.
93151         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
93153 2007-07-23  Ben Pfaff  <blp@gnu.org>
93155         * lib/popcount.h (popcount32): Reduce size of constants, to allow
93156         better code generation, and add U to large constants to avoid
93157         warnings, in non-GCC case.
93158         Suggested by Bruno Haible.
93160 2007-07-23  Ben Pfaff  <blp@gnu.org>
93162         * lib/popcount.h: Use verify_true instead of if...abort.
93163         * modules/popcount: Depend on verify module.
93164         Suggested by Jim Meyering.
93166 2007-07-23  Bruno Haible  <bruno@clisp.org>
93168         * gnulib-tool (func_import): Create a .cvsignore file also when the
93169         directory is not yet in CVS but the toplevel directory is. When
93170         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
93171         Reported by Karl Berry.
93173 2007-07-22  Ben Pfaff  <blp@gnu.org>
93175         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
93176         case.
93177         Suggested by Eric Blake.
93179 2007-07-22  Ben Pfaff  <blp@gnu.org>
93181         New module: popcount.
93182         * MODULES.html.sh: Add popcount.
93183         * modules/popcount: New file.
93184         * modules/popcount-tests: New file.
93185         * tests/test-popcount.c: New file.
93186         * lib/popcount.h: New file.
93187         * m4/popcount.m4: New file.
93189 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
93191         * build-aux/announce-gen: Update to GPLv3.
93193         * build-aux/config.guess: Update from config.
93195 2007-07-21  Bruno Haible  <bruno@clisp.org>
93197         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
93198         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
93200 2007-07-20  Jim Meyering  <jim@meyering.net>
93202         * check-module: Diagnose a self-dependency.
93204 2007-07-19  Bruno Haible  <bruno@clisp.org>
93206         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
93207         empty.
93208         Reported by Eric Blake.
93210 2007-07-18  Bruno Haible  <bruno@clisp.org>
93212         * gnulib-tool: New options --po-base, --po-domain.
93213         (func_usage): Document them.
93214         (pobase, po_domain): New variables.
93215         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
93216         DEFAULT_TEXT_DOMAIN.
93217         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
93218         (func_import): Consider pobase and po_domain. Create a po/ directory.
93219         (func_create_testdir): Set pobase and po_domain to empty.
93220         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
93221         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
93223 2007-07-18  Bruno Haible  <bruno@clisp.org>
93225         * gnulib-tool (func_get_automake_snippet): Synthesize also an
93226         EXTRA_DIST augmentation for files in build-aux/.
93228 2007-07-16  Bruno Haible  <bruno@clisp.org>
93230         * modules/lseek (License): Use the synonymous term "LGPLv2+".
93231         * modules/getdelim (License): Likewise.
93233 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93235         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
93236         * modules/d-type (License): Likewise.
93237         * modules/extensions (License): Likewise.
93238         * modules/fnmatch (License): Likewise.
93239         * modules/fseeko (License): Likewise.
93240         * modules/getaddrinfo (License): Likewise.
93241         * modules/getline (License): Likewise.
93242         * modules/getlogin_r (License): Likewise.
93243         * modules/getpass (License): Likewise.
93244         * modules/gettimeofday (License): Likewise.
93245         * modules/glob (License): Likewise.
93246         * modules/inet_ntop (License): Likewise.
93247         * modules/malloc (License): Likewise.
93248         * modules/malloca (License): Likewise.
93249         * modules/memmem (License): Likewise.
93250         * modules/mempcpy (License): Likewise.
93251         * modules/memset (License): Likewise.
93252         * modules/minmax (License): Likewise.
93253         * modules/mktime (License): Likewise.
93254         * modules/netinet_in (License): Likewise.
93255         * modules/pathmax (License): Likewise.
93256         * modules/poll (License): Likewise.
93257         * modules/regex (License): Likewise.
93258         * modules/snprintf (License): Likewise.
93259         * modules/stdbool (License): Likewise.
93260         * modules/stdint (License): Likewise.
93261         * modules/stdio (License): Likewise.
93262         * modules/strcase (License): Likewise.
93263         * modules/strcasestr (License): Likewise.
93264         * modules/strdup (License): Likewise.
93265         * modules/string (License): Likewise.
93266         * modules/strndup (License): Likewise.
93267         * modules/strnlen (License): Likewise.
93268         * modules/strpbrk (License): Likewise.
93269         * modules/strptime (License): Likewise.
93270         * modules/strsep (License): Likewise.
93271         * modules/sys_select (License): Likewise.
93272         * modules/sys_socket (License): Likewise.
93273         * modules/sys_stat (License): Likewise.
93274         * modules/sys_time (License): Likewise.
93275         * modules/time (License): Likewise.
93276         * modules/time_r (License): Likewise.
93277         * modules/timegm (License): Likewise.
93278         * modules/unistd (License): Likewise.
93279         * modules/vsnprintf (License): Likewise.
93280         * modules/wctype (License): Likewise.
93282 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93284         * modules/argz (License): LGPLv2+.
93286 2007-07-15  Karl Berry  <karl@gnu.org>
93288         * doc/gnulib.texi: revise node structure per new fdl.texi.
93290 2007-07-14  Bruno Haible  <bruno@clisp.org>
93292         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
93293         the output file.
93294         * lib/uniname/uninames.h: Regenerated.
93296 2007-07-14  Karl Berry  <karl@gnu.org>
93298         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
93299         omitting sectioning and index commands.
93301 2007-07-13  Bruno Haible  <bruno@clisp.org>
93303         New gnulib-tool option --more-symlinks.
93304         * gnulib-tool (func_usage): Document --more-symlinks.
93305         (do_copyrights): New variable.
93306         Recognize option --more-symlinks.
93307         (func_import): Don't add a copyright notice transform to
93308         sed_transform_lib_file if do_copyrights is empty.
93310 2007-07-13  Bruno Haible  <bruno@clisp.org>
93312         * lib/vasnprintf.c (decimal_point_char): Define also if
93313         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
93314         && !NEED_PRINTF_DIRECTIVE_A.
93315         Reported by Clemens Koller <clemens.koller@anagramm.de> via
93316         Gary V. Vaughan <gary@gnu.org>.
93318 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
93320         * lib/inttypes_.h: Undo previous change, since it was fixed
93321         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
93323 2007-07-13  Bruno Haible  <bruno@clisp.org>
93325         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
93326         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
93328 2007-07-13  Jim Meyering  <jim@meyering.net>
93330         df: Don't fail for Tru64's "file-on-file mount".
93331         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
93332         so we fall through and use statfs instead.  Details here:
93333         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
93334         Reported by Albert Chin.
93336 2007-07-13  Bruno Haible  <bruno@clisp.org>
93338         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
93339         * modules/configmake (License): Likewise.
93340         * modules/gettext (License): Likewise.
93341         * modules/gettext-h (License): Likewise.
93342         * modules/include_next (License): Likewise.
93343         * modules/link-warning (License): Likewise.
93344         * modules/localcharset (License): Likewise.
93345         * modules/localename (License): Likewise.
93346         * modules/lock (License): Likewise.
93347         * modules/relocatable-lib-lgpl (License): Likewise.
93348         * modules/size_max (License): Likewise.
93349         * modules/vasnprintf (License): Likewise.
93350         * modules/wchar (License): Likewise.
93351         * modules/xsize (License): Likewise.
93353 2007-07-13  Bruno Haible  <bruno@clisp.org>
93355         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
93356         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
93358 2007-07-12  Bruno Haible  <bruno@clisp.org>
93360         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
93361         in the modules files.
93363 2007-07-11  Karl Berry  <karl@gnu.org>
93365         * MODULES.html.sh (func_module): use
93366          sed -e '\|^'"${includefile}"'$|d'
93367          instead of /.../d, to avoid errors on $includefile's containing /.
93369 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
93371         * gnulib-tool (func_import): Avoid duplication of --avoid
93372         statements
93373         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
93374         names to `_' in variable names.
93376 2007-07-10  Eric Blake  <ebb9@byu.net>
93378         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
93379         * NEWS: Document this change.
93381 2007-07-08  Bruno Haible  <bruno@clisp.org>
93383         Update to Unicode 5.0.
93384         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
93385         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
93386         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
93387         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
93388         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
93389         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
93390         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
93391         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
93392         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
93393         U+10A3F, U+1D242..U+1D244.
93394         (nonspacing_table_ind): Update.
93395         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
93396         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
93398 2007-07-08  Bruno Haible  <bruno@clisp.org>
93400         Update to Unicode 5.0.
93401         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
93402         code transform. Extend the name index field of unicode_name_to_code and
93403         unicode_code_to_name from 16 to 24 bits.
93404         * lib/uniname/uniname.c (unicode_character_name,
93405         unicode_name_character): Add the range 0x12xxx to the code transform.
93406         * lib/uniname/uninames.h: Regenerated.
93407         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
93409 2007-07-07  Bruno Haible  <bruno@clisp.org>
93411         * modules/wcwidth-tests: New file.
93412         * tests/test-wcwidth.c: New file.
93414         Work around MacOS X wcwidth() bug.
93415         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
93416         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
93417         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
93418         original wcwidth in non-UTF-8 locales.
93419         * modules/wcwidth (Depends-on): Add localcharset, streq,
93420         uniwidth/width.
93421         * doc/functions/wcwidth.texi: Update.
93423 2007-07-07  Bruno Haible  <bruno@clisp.org>
93425         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
93426         (wcwidth): New declaration.
93427         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
93428         macros.
93429         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
93430         here. Prepare for creating <wchar.h> unconditionally.
93431         * modules/wchar (Depends-on): Add link-warning.
93432         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
93433         REPLACE_WCWIDTH, and GL_LINK_WARNING.
93434         * lib/wcwidth.h: Remove file.
93435         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
93436         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
93437         * modules/wcwidth (Files): Remove lib/wcwidth.h.
93438         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
93439         (Include): Replace wcwidth.h with <wchar.h>.
93440         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
93441         * lib/mbchar.h: Don't include wcwidth.h.
93442         * lib/mbswidth.c: Likewise.
93443         * NEWS: Mention the change.
93445 2007-07-07  Bruno Haible  <bruno@clisp.org>
93447         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
93448         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
93449         definition with an external declaration.
93450         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
93451         defined as a function. Remove AC_C_INLINE requirement.
93452         * modules/wcwidth (Files): Add lib/wcwidth.c.
93453         (Makefile.am): Remove redundant statement.
93455 2007-07-07  Bruno Haible  <bruno@clisp.org>
93457         * MODULES.html.sh (Unicode string functions): Add the new modules.
93459         * tests/uniwidth/test-u32-strwidth.c: New file.
93460         * modules/uniwidth/u32-strwidth-tests: New file.
93462         * lib/uniwidth/u32-strwidth.c: New file.
93463         * modules/uniwidth/u32-strwidth: New file.
93465         * tests/uniwidth/test-u16-strwidth.c: New file.
93466         * modules/uniwidth/u16-strwidth-tests: New file.
93468         * lib/uniwidth/u16-strwidth.c: New file.
93469         * modules/uniwidth/u16-strwidth: New file.
93471         * tests/uniwidth/test-u8-strwidth.c: New file.
93472         * modules/uniwidth/u8-strwidth-tests: New file.
93474         * lib/uniwidth/u8-strwidth.c: New file.
93475         * modules/uniwidth/u8-strwidth: New file.
93477         * tests/uniwidth/test-u32-width.c: New file.
93478         * modules/uniwidth/u32-width-tests: New file.
93480         * lib/uniwidth/u32-width.c: New file.
93481         * modules/uniwidth/u32-width: New file.
93483         * tests/uniwidth/test-u16-width.c: New file.
93484         * modules/uniwidth/u16-width-tests: New file.
93486         * lib/uniwidth/u16-width.c: New file.
93487         * modules/uniwidth/u16-width: New file.
93489         * tests/uniwidth/test-u8-width.c: New file.
93490         * modules/uniwidth/u8-width-tests: New file.
93492         * lib/uniwidth/u8-width.c: New file.
93493         * modules/uniwidth/u8-width: New file.
93495         * tests/uniwidth/test-uc_width.c: New file.
93496         * modules/uniwidth/width-tests: New file.
93498         * lib/uniwidth/width.c: New file, from GNU libiconv.
93499         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
93500         * modules/uniwidth/width: New file.
93502         * lib/uniwidth.h: New file, from GNU libiconv.
93503         * modules/uniwidth/base: New file.
93505 2007-07-07  Bruno Haible  <bruno@clisp.org>
93507         * lib/uniname.h: New file, from GNU gettext.
93508         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
93509         * lib/uniname/uninames.h: New file, from GNU gettext.
93510         * lib/uniname/uniname.c: New file, from GNU gettext.
93511         * tests/uniname/test-uninames.sh: New file.
93512         * tests/uniname/test-uninames.c: New file, from GNU gettext.
93513         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
93514         * modules/uniname/base: New file.
93515         * modules/uniname/uniname: New file.
93516         * modules/uniname/uniname-tests: New file.
93517         * MODULES.html.sh (Unicode string functions): Add the new modules.
93519 2007-07-06  Bruno Haible  <bruno@clisp.org>
93521         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
93523 2007-07-06  Bruno Haible  <bruno@clisp.org>
93525         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
93526         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
93527         includes <cygwin/sys_time.h> which includes <sys/select.h> which
93528         include <sys/time.h>.
93529         Reported by Eric Blake.
93531 2007-07-06  Eric Blake  <ebb9@byu.net>
93533         Fix testing canonicalize on cygwin.
93534         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
93535         Revert patch from 2007-06-19.
93536         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
93537         canonicalize module is also in use.
93538         * tests/test-canonicalize.c: New file.
93539         * tests/test-canonicalize.sh: Likewise.
93540         * modules/canonicalize-tests: Likewise.
93542 2007-07-06  Jim Meyering  <jim@meyering.net>
93544         * lib/getugroups.c (getugroups): Detect getgrent failure.
93545         Adjust comment to reflect reality: this function may return -1.
93547 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
93549         * build-aux/bootstrap (TP_URL,get_translations): Update to use
93550         the new TP address.
93551         (usage): Fix typo
93552         (gnulib_mk): New variable.
93554 2007-07-05  Jim Meyering  <jim@meyering.net>
93556         Don't let endgrent clobber errno, no matter how improbable.
93557         * lib/getugroups.c (getugroups): Save and restore errno around
93558         endgrent call.
93560         Close the group DB even when failing with 2^31 or more members.
93561         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
93563 2007-07-04  Jim Meyering  <jim@meyering.net>
93565         * lib/getugroups.h: New file.
93566         * lib/getugroups.c: Include "getugroups.h".
93567         Remove uses of "register" keyword.
93568         Move local variable, "cp", down into scope where used.
93569         Give "username" parameter the "const" attribute.
93570         * modules/getugroups (Files): Add lib/getugroups.h
93572 2007-07-04  Karl Berry  <karl@gnu.org>
93574         * MODULES.html.sh (func_all_modules): Complete rename of
93575         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
93577 2007-07-02  Bruno Haible  <bruno@clisp.org>
93579         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
93580         mode, when inttypes.h comes from gnulib.
93581         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
93583 2007-07-02  Simon Josefsson  <simon@josefsson.org>
93585         * NEWS: Mention lgpl module name change.
93587         * modules/lgpl-2.1: Renamed from lgpl.
93589         * NEWS: Mention gpl module name change.
93591         * modules/gpl-3.0: New file, based on gpl-2.0.
93593         * modules/gpl-2.0: Renamed from gpl.
93595         * modules/gpl: Fix filename, doc/gpl.texi is now found at
93596         doc/gpl-2.0.texi.
93598 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
93600         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
93601         #define __STDC_LIMIT_MACROS temporarily while including
93602         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
93603         Problem reported by Joel E. Denny in
93604         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
93606 2007-07-01  Bruno Haible  <bruno@clisp.org>
93608         * lib/unistdio.h: New file.
93609         * lib/unistdio/u-asnprintf.h: New file.
93610         * lib/unistdio/u-asprintf.h: New file.
93611         * lib/unistdio/u-printf-args.c: New file.
93612         * lib/unistdio/u-printf-args.h: New file.
93613         * lib/unistdio/u-printf-parse.h: New file.
93614         * lib/unistdio/u-snprintf.h: New file.
93615         * lib/unistdio/u-sprintf.h: New file.
93616         * lib/unistdio/u-vasprintf.h: New file.
93617         * lib/unistdio/u-vsnprintf.h: New file.
93618         * lib/unistdio/u-vsprintf.h: New file.
93619         * lib/unistdio/ulc-asnprintf.c: New file.
93620         * lib/unistdio/ulc-asprintf.c: New file.
93621         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
93622         * lib/unistdio/ulc-printf-parse.c: New file.
93623         * lib/unistdio/ulc-snprintf.c: New file.
93624         * lib/unistdio/ulc-sprintf.c: New file.
93625         * lib/unistdio/ulc-vasnprintf.c: New file.
93626         * lib/unistdio/ulc-vasprintf.c: New file.
93627         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
93628         * lib/unistdio/ulc-vsnprintf.c: New file.
93629         * lib/unistdio/ulc-vsprintf.c: New file.
93630         * lib/unistdio/u8-asnprintf.c: New file.
93631         * lib/unistdio/u8-asprintf.c: New file.
93632         * lib/unistdio/u8-printf-parse.c: New file.
93633         * lib/unistdio/u8-snprintf.c: New file.
93634         * lib/unistdio/u8-sprintf.c: New file.
93635         * lib/unistdio/u8-vasnprintf.c: New file.
93636         * lib/unistdio/u8-vasprintf.c: New file.
93637         * lib/unistdio/u8-vsnprintf.c: New file.
93638         * lib/unistdio/u8-vsprintf.c: New file.
93639         * lib/unistdio/u8-u8-asnprintf.c: New file.
93640         * lib/unistdio/u8-u8-asprintf.c: New file.
93641         * lib/unistdio/u8-u8-snprintf.c: New file.
93642         * lib/unistdio/u8-u8-sprintf.c: New file.
93643         * lib/unistdio/u8-u8-vasnprintf.c: New file.
93644         * lib/unistdio/u8-u8-vasprintf.c: New file.
93645         * lib/unistdio/u8-u8-vsnprintf.c: New file.
93646         * lib/unistdio/u8-u8-vsprintf.c: New file.
93647         * lib/unistdio/u16-asnprintf.c: New file.
93648         * lib/unistdio/u16-asprintf.c: New file.
93649         * lib/unistdio/u16-printf-parse.c: New file.
93650         * lib/unistdio/u16-snprintf.c: New file.
93651         * lib/unistdio/u16-sprintf.c: New file.
93652         * lib/unistdio/u16-vasnprintf.c: New file.
93653         * lib/unistdio/u16-vasprintf.c: New file.
93654         * lib/unistdio/u16-vsnprintf.c: New file.
93655         * lib/unistdio/u16-vsprintf.c: New file.
93656         * lib/unistdio/u16-u16-asnprintf.c: New file.
93657         * lib/unistdio/u16-u16-asprintf.c: New file.
93658         * lib/unistdio/u16-u16-snprintf.c: New file.
93659         * lib/unistdio/u16-u16-sprintf.c: New file.
93660         * lib/unistdio/u16-u16-vasnprintf.c: New file.
93661         * lib/unistdio/u16-u16-vasprintf.c: New file.
93662         * lib/unistdio/u16-u16-vsnprintf.c: New file.
93663         * lib/unistdio/u16-u16-vsprintf.c: New file.
93664         * lib/unistdio/u32-asnprintf.c: New file.
93665         * lib/unistdio/u32-asprintf.c: New file.
93666         * lib/unistdio/u32-printf-parse.c: New file.
93667         * lib/unistdio/u32-snprintf.c: New file.
93668         * lib/unistdio/u32-sprintf.c: New file.
93669         * lib/unistdio/u32-vasnprintf.c: New file.
93670         * lib/unistdio/u32-vasprintf.c: New file.
93671         * lib/unistdio/u32-vsnprintf.c: New file.
93672         * lib/unistdio/u32-vsprintf.c: New file.
93673         * lib/unistdio/u32-u32-asnprintf.c: New file.
93674         * lib/unistdio/u32-u32-asprintf.c: New file.
93675         * lib/unistdio/u32-u32-snprintf.c: New file.
93676         * lib/unistdio/u32-u32-sprintf.c: New file.
93677         * lib/unistdio/u32-u32-vasnprintf.c: New file.
93678         * lib/unistdio/u32-u32-vasprintf.c: New file.
93679         * lib/unistdio/u32-u32-vsnprintf.c: New file.
93680         * lib/unistdio/u32-u32-vsprintf.c: New file.
93681         * tests/unistdio/test-ulc-asnprintf1.c: New file.
93682         * tests/unistdio/test-ulc-asnprintf1.h: New file.
93683         * tests/unistdio/test-ulc-printf1.h: New file.
93684         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
93685         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
93686         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
93687         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
93688         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
93689         * tests/unistdio/test-ulc-vasprintf1.c: New file.
93690         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
93691         * tests/unistdio/test-ulc-vsprintf1.c: New file.
93692         * tests/unistdio/test-u8-asnprintf1.c: New file.
93693         * tests/unistdio/test-u8-asnprintf1.h: New file.
93694         * tests/unistdio/test-u8-printf1.h: New file.
93695         * tests/unistdio/test-u8-vasnprintf1.c: New file.
93696         * tests/unistdio/test-u8-vasnprintf2.c: New file.
93697         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
93698         * tests/unistdio/test-u8-vasnprintf3.c: New file.
93699         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
93700         * tests/unistdio/test-u8-vasprintf1.c: New file.
93701         * tests/unistdio/test-u8-vsnprintf1.c: New file.
93702         * tests/unistdio/test-u8-vsprintf1.c: New file.
93703         * tests/unistdio/test-u16-asnprintf1.c: New file.
93704         * tests/unistdio/test-u16-asnprintf1.h: New file.
93705         * tests/unistdio/test-u16-printf1.h: New file.
93706         * tests/unistdio/test-u16-vasnprintf1.c: New file.
93707         * tests/unistdio/test-u16-vasnprintf2.c: New file.
93708         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
93709         * tests/unistdio/test-u16-vasnprintf3.c: New file.
93710         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
93711         * tests/unistdio/test-u16-vasprintf1.c: New file.
93712         * tests/unistdio/test-u16-vsnprintf1.c: New file.
93713         * tests/unistdio/test-u16-vsprintf1.c: New file.
93714         * tests/unistdio/test-u32-asnprintf1.c: New file.
93715         * tests/unistdio/test-u32-asnprintf1.h: New file.
93716         * tests/unistdio/test-u32-printf1.h: New file.
93717         * tests/unistdio/test-u32-vasnprintf1.c: New file.
93718         * tests/unistdio/test-u32-vasnprintf2.c: New file.
93719         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
93720         * tests/unistdio/test-u32-vasnprintf3.c: New file.
93721         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
93722         * tests/unistdio/test-u32-vasprintf1.c: New file.
93723         * tests/unistdio/test-u32-vsnprintf1.c: New file.
93724         * tests/unistdio/test-u32-vsprintf1.c: New file.
93725         * modules/unistdio/base: New file.
93726         * modules/unistdio/u-printf-args: New file.
93727         * modules/unistdio/ulc-asnprintf: New file.
93728         * modules/unistdio/ulc-asprintf: New file.
93729         * modules/unistdio/ulc-fprintf: New file.
93730         * modules/unistdio/ulc-printf-parse: New file.
93731         * modules/unistdio/ulc-snprintf: New file.
93732         * modules/unistdio/ulc-sprintf: New file.
93733         * modules/unistdio/ulc-vasnprintf: New file.
93734         * modules/unistdio/ulc-vasprintf: New file.
93735         * modules/unistdio/ulc-vfprintf: New file.
93736         * modules/unistdio/ulc-vsnprintf: New file.
93737         * modules/unistdio/ulc-vsprintf: New file.
93738         * modules/unistdio/u8-asnprintf: New file.
93739         * modules/unistdio/u8-asprintf: New file.
93740         * modules/unistdio/u8-printf-parse: New file.
93741         * modules/unistdio/u8-snprintf: New file.
93742         * modules/unistdio/u8-sprintf: New file.
93743         * modules/unistdio/u8-vasnprintf: New file.
93744         * modules/unistdio/u8-vasprintf: New file.
93745         * modules/unistdio/u8-vsnprintf: New file.
93746         * modules/unistdio/u8-vsprintf: New file.
93747         * modules/unistdio/u8-u8-asnprintf: New file.
93748         * modules/unistdio/u8-u8-asprintf: New file.
93749         * modules/unistdio/u8-u8-snprintf: New file.
93750         * modules/unistdio/u8-u8-sprintf: New file.
93751         * modules/unistdio/u8-u8-vasnprintf: New file.
93752         * modules/unistdio/u8-u8-vasprintf: New file.
93753         * modules/unistdio/u8-u8-vsnprintf: New file.
93754         * modules/unistdio/u8-u8-vsprintf: New file.
93755         * modules/unistdio/u16-asnprintf: New file.
93756         * modules/unistdio/u16-asprintf: New file.
93757         * modules/unistdio/u16-printf-parse: New file.
93758         * modules/unistdio/u16-snprintf: New file.
93759         * modules/unistdio/u16-sprintf: New file.
93760         * modules/unistdio/u16-vasnprintf: New file.
93761         * modules/unistdio/u16-vasprintf: New file.
93762         * modules/unistdio/u16-vsnprintf: New file.
93763         * modules/unistdio/u16-vsprintf: New file.
93764         * modules/unistdio/u16-u16-asnprintf: New file.
93765         * modules/unistdio/u16-u16-asprintf: New file.
93766         * modules/unistdio/u16-u16-snprintf: New file.
93767         * modules/unistdio/u16-u16-sprintf: New file.
93768         * modules/unistdio/u16-u16-vasnprintf: New file.
93769         * modules/unistdio/u16-u16-vasprintf: New file.
93770         * modules/unistdio/u16-u16-vsnprintf: New file.
93771         * modules/unistdio/u16-u16-vsprintf: New file.
93772         * modules/unistdio/u32-asnprintf: New file.
93773         * modules/unistdio/u32-asprintf: New file.
93774         * modules/unistdio/u32-printf-parse: New file.
93775         * modules/unistdio/u32-snprintf: New file.
93776         * modules/unistdio/u32-sprintf: New file.
93777         * modules/unistdio/u32-vasnprintf: New file.
93778         * modules/unistdio/u32-vasprintf: New file.
93779         * modules/unistdio/u32-vsnprintf: New file.
93780         * modules/unistdio/u32-vsprintf: New file.
93781         * modules/unistdio/u32-u32-asnprintf: New file.
93782         * modules/unistdio/u32-u32-asprintf: New file.
93783         * modules/unistdio/u32-u32-snprintf: New file.
93784         * modules/unistdio/u32-u32-sprintf: New file.
93785         * modules/unistdio/u32-u32-vasnprintf: New file.
93786         * modules/unistdio/u32-u32-vasprintf: New file.
93787         * modules/unistdio/u32-u32-vsnprintf: New file.
93788         * modules/unistdio/u32-u32-vsprintf: New file.
93789         * modules/unistdio/ulc-asnprintf-tests: New file.
93790         * modules/unistdio/ulc-vasnprintf-tests: New file.
93791         * modules/unistdio/ulc-vasprintf-tests: New file.
93792         * modules/unistdio/ulc-vsnprintf-tests: New file.
93793         * modules/unistdio/ulc-vsprintf-tests: New file.
93794         * modules/unistdio/u8-asnprintf-tests: New file.
93795         * modules/unistdio/u8-vasnprintf-tests: New file.
93796         * modules/unistdio/u8-vasprintf-tests: New file.
93797         * modules/unistdio/u8-vsnprintf-tests: New file.
93798         * modules/unistdio/u8-vsprintf-tests: New file.
93799         * modules/unistdio/u16-asnprintf-tests: New file.
93800         * modules/unistdio/u16-vasnprintf-tests: New file.
93801         * modules/unistdio/u16-vasprintf-tests: New file.
93802         * modules/unistdio/u16-vsnprintf-tests: New file.
93803         * modules/unistdio/u16-vsprintf-tests: New file.
93804         * modules/unistdio/u32-asnprintf-tests: New file.
93805         * modules/unistdio/u32-vasnprintf-tests: New file.
93806         * modules/unistdio/u32-vasprintf-tests: New file.
93807         * modules/unistdio/u32-vsnprintf-tests: New file.
93808         * modules/unistdio/u32-vsprintf-tests: New file.
93809         * MODULES.html.sh (Unicode string functions): Add the new modules.
93811 2007-07-01  Bruno Haible  <bruno@clisp.org>
93813         * lib/sprintf.c (sprintf): Limit the available length estimation,
93814         to avoid address wraparound.
93815         * lib/vsprintf.c (vsprintf): Likewise.
93816         * modules/sprintf-posix (Dependencies): Add stdint.
93817         * modules/vsprintf-posix (Dependencies): Likewise.
93819 2007-07-01  Bruno Haible  <bruno@clisp.org>
93821         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
93822         Windows PATH as well. Conservative double-quoting. Comments.
93824 2007-07-01  Bruno Haible  <bruno@clisp.org>
93825             Eric Blake  <ebb9@byu.net>
93826             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93828         * gnulib-tool (self_abspathname): Fix algorithm to cope with
93829         empty components in $PATH, denoting '.'.
93831 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93833         * gnulib-tool: Fix indentation.
93834         (func_create_megatestdir): Likewise.
93835         Report by Bruno Haible.
93837 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93839         Sync from Automake.
93840         * build-aux/gnupload: Fix shell portability issues with for loops.
93841         Report by Karl Berry.
93843 2007-06-29  Simon Josefsson  <simon@josefsson.org>
93845         * build-aux/maint.mk (POURL): Use translationproject.org.
93847 2007-06-27  Simon Josefsson  <simon@josefsson.org>
93848             Bruno Haible  <bruno@clisp.org>
93850         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
93851         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
93852         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
93853         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
93854         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
93856 2007-06-27  Bruno Haible  <bruno@clisp.org>
93858         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
93859         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
93861 2007-06-26  Karl Berry  <karl@gnu.org>
93863         * MODULES.html.sh: remove xreadlink-with-size.
93865 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
93867         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
93868         method that I hope also handles the double-include problem noted
93869         by Bruno Haible in
93870         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
93872 2007-06-23  Bruno Haible  <bruno@clisp.org>
93874         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
93875         Don't let the 'mostlyclean' target fail if the last subdirectory could
93876         not be removed.
93877         Reported by Karl Berry.
93879 2007-06-23  Bruno Haible  <bruno@clisp.org>
93881         * gnulib-tool (echo): Add a speedier workaround for ksh.
93882         * tests/test-echo.sh: Likewise.
93884 2007-06-23  Bruno Haible  <bruno@clisp.org>
93886         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
93887         * tests/test-echo.sh: Likewise.
93889 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93891         * gnulib-tool (IFS): Initialize early, so we don't set it to
93892         empty later.
93893         (self_abspathname): Rewrite algorithm to set it, reindent.
93894         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
93895         (func_create_megatestdir): Merge some sed scripts.
93897 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
93899         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
93900         exposed by Sun Studio 11 cc on Solaris 8.
93902 2007-06-22  Bruno Haible  <bruno@clisp.org>
93904         * gnulib-tool (echo): Ensure the echo primitive does not interpret
93905         backslashes.
93906         * tests/test-echo.sh: New file.
93908 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93910         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
93911         simplify `sed_replace_build_aux' scripts, they are portable but
93912         echoing them with `echo' is not.
93913         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
93915 2007-06-21  Karl Berry  <karl@gnu.org>
93917         * config/srclist.txt: guess we can't handle the licenses via
93918         srclist at the moment.
93920 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
93922         * MODULES.html.sh: Add include_next.
93923         * modules/include_next: New file.
93925 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
93927         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
93928         INCLUDE_NEXT.
93929         (gl_CHECK_NEXT_HEADERS): New macro.
93930         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
93931         the obsolescent gl_ABSOLUTE_HEADER.
93932         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
93933         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
93934         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
93935         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
93936         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
93937         * m4/math_h.m4 (gl_MATH_H): Likewise.
93938         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
93939         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
93940         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
93941         * m4/stdint.m4 (gl_STDINT_H): Likewise.
93942         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
93943         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
93944         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
93945         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
93946         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
93947         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
93948         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
93949         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
93950         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
93951         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
93952         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
93953         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
93954         * m4/inttypes.m4 (gl_INTTYPES_H): Define
93955         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
93956         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
93957         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
93958         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
93959         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
93960         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
93961         * lib/float_.h: Likewise.
93962         * lib/inttypes_.h: Likewise.
93963         * lib/math_.h: Likewise.
93964         * lib/search_.h: Likewise.
93965         * lib/signal_.h: Likewise.
93966         * lib/stdint_.h: Likewise.
93967         * lib/stdio_.h: Likewise.
93968         * lib/stdlib_.h: Likewise.
93969         * lib/string_.h: Likewise.
93970         * lib/sys_stat_.h: Likewise.
93971         * lib/sys_time_.h: Likewise.
93972         * lib/time_.h: Likewise.
93973         * lib/unistd_.h: Likewise.
93974         * lib/wchar_.h: Likewise.
93975         * lib/wctype_.h: Likewise.
93976         * lib/dirent_.h: Likewise.
93977         * lib/iconv_.h: Likewise.
93978         * lib/locale_.h: Likewise.
93979         * lib/netinet_in_.h: Likewise.
93980         * lib/sys_select_.h: Likewise.
93981         * lib/sys_socket_.h: Likewise.
93982         * lib/sysexits_.h: Likewise.
93983         * modules/fcntl (Depends-on): Depend on include_next, not
93984         absolute_header.
93985         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
93986         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
93987         * modules/fchdir: Likewise.
93988         * modules/float: Likewise.
93989         * modules/iconv_open: Likewise.
93990         * modules/inttypes: Likewise.
93991         * modules/locale: Likewise.
93992         * modules/math: Likewise.
93993         * modules/netinet_in: Likewise.
93994         * modules/search: Likewise.
93995         * modules/signal: Likewise.
93996         * modules/stdint: Likewise.
93997         * modules/stdio: Likewise.
93998         * modules/stdlib: Likewise.
93999         * modules/string: Likewise.
94000         * modules/sys_select: Likewise.
94001         * modules/sys_socket: Likewise.
94002         * modules/sys_stat: Likewise.
94003         * modules/sys_time: Likewise.
94004         * modules/sysexits: Likewise.
94005         * modules/time: Likewise.
94006         * modules/unistd: Likewise.
94007         * modules/wchar: Likewise.
94008         * modules/wctype: Likewise.
94009         * modules/sys_stat: Change maintainer to "all".
94010         * modules/unistd: Likewise.
94012 2007-06-20  Karl Berry  <karl@gnu.org>
94014         * config/srclist.txt: track www changes in license files.
94016 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
94018         * build-aux/bootstrap: Remove stray dot.
94019         Make sure build_aux settings are honored when linking
94020         gnulib_extra_files.
94022 2007-06-19  Eric Blake  <ebb9@byu.net>
94024         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
94025         Allow compilation on cygwin.
94027 2007-06-19  Jim Meyering  <jim@meyering.net>
94029         xreadlink-with-size: Remove module.  No longer used.
94030         Ex-callers now use xreadlink or mreadlink-with-size.
94031         * modules/xreadlink-with-size: Remove module.
94032         * lib/xreadlink-with-size.c: Remove file.
94033         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
94034         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
94035         just before the function definition *is* accurate.
94037         Eliminate one way canonicalize_filename_mode could exit.
94038         * lib/canonicalize.c (canonicalize_filename_mode):
94039         Use mreadlink_with_size, not xreadlink_with_size.
94041 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
94043         Detect porting problems to FreeBSD/arm, which has time_t wider than
94044         long int.  Original problem reported for GNU diff by Xin Li in
94045         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
94046         * modules/getdate (Depends-on): Add intprops, verify.
94047         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
94048         is an integer type no wider than long int.
94050 2007-06-18  Jim Meyering  <jim@meyering.net>
94052         New module: mreadlink-with-size.
94053         * MODULES.html.sh: Add mreadlink-with-size.
94054         * modules/mreadlink-with-size: New module
94055         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
94056         not xreadlink-with-size.
94057         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
94059 2007-06-16  Bruno Haible  <bruno@clisp.org>
94061         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
94062         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
94063         Reported by Gary V. Vaughan <gary@gnu.org>.
94065 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
94067         Revamp lchown so that it lives in unistd.h where it belongs.
94068         * lib/lchown.h: Remove.
94069         * lib/dirchownmod.c: Don't include lib/lchown.h.
94070         * lib/fchownat.c: Likewise.
94071         * lib/openat.c: Likewise.
94072         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
94073         does not follow symlinks.
94074         (EOPNOTSUPP): Define if not defined.
94075         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
94076         is defined to 0.
94077         (lchown): New decl.
94078         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
94079         Do not check for lchown decl.
94080         Set REPLACE_LCHOWN.
94081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
94082         REPLACE_LCHOWN.
94083         * modules/chown: Make it clear it follows symlinks.
94084         * modules/lchown: Make it clear it doesn't follow symlinks.
94085         (Files): Remove lib/lchown.h
94086         (Depends-on): Add unistd.
94087         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
94088         (Include): Include <unistd.h>, not "lchown.h".
94089         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
94090         REPLACE_LCHOWN.
94092 2007-06-15  Jim Meyering  <jim@meyering.net>
94094         Change license (GPL to LGPL) of fsusage and dependents.
94095         * modules/fsusage (License): Change to LGPL.
94096         * modules/full-read (License): Likewise.
94097         * modules/full-write (License): Likewise.
94098         * modules/safe-read (License): Likewise.
94099         * modules/safe-write (License): Likewise.
94101 2007-06-14  Ben Pfaff  <blp@gnu.org>
94103         Missing part of allocsa -> malloca transition.
94104         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
94105         gl_MALLOCA.
94107 2007-06-12  Bruno Haible  <bruno@clisp.org>
94109         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
94110         to ia64, x86_64, i386.
94111         Reported by Eric Blake.
94113 2007-06-12  Bruno Haible  <bruno@clisp.org>
94115         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
94116         cross-compiling to x86_64.
94118 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
94120         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
94121         glitch reported by Ralf Wildenhues in
94122         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
94124         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
94125         Vin Shelton.
94127 2007-06-11  Bruno Haible  <bruno@clisp.org>
94129         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
94130         replacement string.
94131         Reported by Eric Blake.
94133 2007-06-10  Bruno Haible  <bruno@clisp.org>
94135         Prepare vasnprintf code for use with Unicode strings.
94136         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
94137         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
94138         TYPE_U32_STRING.
94139         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
94140         a_u32_string variants.
94141         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
94142         * lib/printf-args.c: Don't include config.h and the specification
94143         header if PRINTF_FETCHARGS is already defined.
94144         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
94145         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
94146         TYPE_U16_STRING, TYPE_U32_STRING.
94147         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
94148         u16_directive, u16_directives, u32_directive, u32_directives): New
94149         types.
94150         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
94151         New declarations.
94152         * lib/printf-parse.c: Don't include config.h and the specification
94153         header if PRINTF_PARSE is already defined. Eliminate the set of
94154         parameters for WIDE_CHAR_VERSION; the user of this file must provide
94155         them now. Include c-ctype.h.
94156         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
94157         directive and CHAR_T_ONLY_ASCII.
94158         * lib/vasnprintf.c: Don't include config.h and the specification header
94159         if VASNPRINTF is already defined.
94160         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
94161         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
94162         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
94163         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
94164         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
94165         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
94166         code accordingly.
94167         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
94168         pad_ourselves also in this case, with the 'c' and 's' directives, and
94169         with a different notion of "width".
94170         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
94172 2007-06-10  Bruno Haible  <bruno@clisp.org>
94174         * modules/unistr/u32-mbsnlen: New file.
94175         * lib/unistr/u32-mbsnlen.c: New file.
94177         * modules/unistr/u16-mbsnlen: New file.
94178         * lib/unistr/u16-mbsnlen.c: New file.
94180         * modules/unistr/u8-mbsnlen: New file.
94181         * lib/unistr/u8-mbsnlen.c: New file.
94183         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
94184         declarations.
94186 2007-06-10  Bruno Haible  <bruno@clisp.org>
94188         * lib/string_.h (mbsnlen): New declaration.
94189         * lib/mbsnlen.c: New file.
94190         * m4/mbsnlen.m4: New file.
94191         * modules/mbsnlen: New file.
94192         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
94193         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
94194         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
94196 2007-06-10  Bruno Haible  <bruno@clisp.org>
94198         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
94200 2007-06-10  Bruno Haible  <bruno@clisp.org>
94202         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
94203         * lib/mbuiter.h: Likewise.
94205 2007-06-10  Bruno Haible  <bruno@clisp.org>
94207         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
94208         declaration.
94210 2007-06-10  Karl Berry  <karl@gnu.org>
94212         * config/srclist.txt: remove gettext entries, Bruno prefers
94213         to update individually.
94215 2007-06-10  Bruno Haible  <bruno@clisp.org>
94217         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
94218         'maxlen'. Ensure only length + width bytes are allocated, not
94219         length + 1 + width.
94221 2007-06-09  Bruno Haible  <bruno@clisp.org>
94223         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
94224         (CHAR_T): Remove macro.
94225         (VASNPRINTF): Update.
94227 2007-06-09  Bruno Haible  <bruno@clisp.org>
94229         * MODULES.html.sh (Unicode string functions): Add the new modules.
94231         * modules/uniconv/u32-conv-to-enc: New file.
94232         * lib/uniconv/u32-conv-to-enc.c: New file.
94233         * modules/uniconv/u32-conv-to-enc-tests: New file.
94234         * tests/uniconv/test-u32-conv-to-enc.c: New file.
94236         * modules/uniconv/u16-conv-to-enc: New file.
94237         * lib/uniconv/u16-conv-to-enc.c: New file.
94238         * lib/uniconv/u-conv-to-enc.h: New file.
94239         * modules/uniconv/u16-conv-to-enc-tests: New file.
94240         * tests/uniconv/test-u16-conv-to-enc.c: New file.
94242         * modules/uniconv/u8-conv-to-enc: New file.
94243         * lib/uniconv/u8-conv-to-enc.c: New file.
94244         * modules/uniconv/u8-conv-to-enc-tests: New file.
94245         * tests/uniconv/test-u8-conv-to-enc.c: New file.
94247         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
94248         u32_conv_to_encoding): New declarations.
94250 2007-06-09  Bruno Haible  <bruno@clisp.org>
94252         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
94254 2007-06-09  Bruno Haible  <bruno@clisp.org>
94256         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
94257         * modules/malloca: Renamed from modules/allocsa, updated.
94258         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
94259         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
94260         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
94261         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
94262         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
94263         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
94264         * modules/xmalloca: Renamed from modules/xallocsa, updated.
94265         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
94266         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
94267         * modules/c-strcasestr (Depends-on): Update.
94268         * lib/c-strcasestr.c: Update.
94269         * modules/c-strstr (Depends-on): Update.
94270         * lib/c-strstr.c: Update.
94271         * modules/canonicalize-lgpl (Depends-on): Update.
94272         * lib/canonicalize-lgpl.c: Update.
94273         * modules/clean-temp (Depends-on): Update.
94274         * lib/clean-temp.c: Update.
94275         * modules/csharpcomp (Depends-on): Update.
94276         * lib/csharpcomp.c: Update.
94277         * modules/csharpexec (Depends-on): Update.
94278         * lib/csharpexec.c: Update.
94279         * modules/javacomp (Depends-on): Update.
94280         * lib/javacomp.c: Update.
94281         * modules/javaexec (Depends-on): Update.
94282         * lib/javaexec.c: Update.
94283         * modules/mbscasestr (Depends-on): Update.
94284         * lib/mbscasestr.c: Update.
94285         * modules/mbsstr (Depends-on): Update.
94286         * lib/mbsstr.c: Update.
94287         * modules/setenv (Depends-on): Update.
94288         * lib/setenv.c: Update.
94289         * modules/strcasestr (Depends-on): Update.
94290         * lib/strcasestr.c: Update.
94291         * modules/striconveha (Depends-on): Update.
94292         * lib/striconveha.c: Update.
94293         * modules/relocatable-prog-wrapper (Files): Update.
94294         * lib/relocwrapper.c: Update.
94295         * build-aux/install-reloc: Update.
94296         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
94298 2007-06-08  Bruno Haible  <bruno@clisp.org>
94300         Port to uClibc.
94301         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
94302         * lib/fpurge.c (fpurge): Likewise.
94303         * lib/freading.c (freading): Likewise.
94304         * lib/fseeko.c (rpl_fseeko): Likewise.
94305         * lib/fseterr.c (fseterr): Likewise.
94306         * lib/fwriting.c (fwriting): Likewise.
94307         * tests/test-fflush.c (main): Avoid a failure on uClibc.
94309 2007-06-08  Bruno Haible  <bruno@clisp.org>
94311         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
94312         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
94313         * modules/gettext (Files): Add m4/intlmacosx.m4.
94315 2007-06-07  Bruno Haible  <bruno@clisp.org>
94317         * modules/localename-tests: New file.
94318         * tests/test-localename.c: New file.
94320         New module 'localename'.
94321         * lib/localename.h: New file.
94322         * lib/localename.c: New file, from GNU gettext.
94323         * m4/localename.m4: New file.
94324         * modules/localename: New file.
94326 2007-06-07  Bruno Haible  <bruno@clisp.org>
94328         Work around the lack of <wchar.h> on some builds of uClibc.
94329         * doc/headers/wchar.texi: Update.
94330         * lib/wchar_.h: Include <wchar.h> only if it exists.
94331         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
94332         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
94333         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
94334         doesn't exist.
94335         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
94336         * modules/mbfile (Depends-on): Add wchar.
94337         * modules/mbiter (Depends-on): Likewise.
94338         * modules/mbuiter (Depends-on): Likewise.
94339         Reported by Simon Josefsson.
94341 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
94343         Work around problem reported by Steven M. Schweda in
94344         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
94345         Tru64 5.1B with the Compaq compiler environment installed declares
94346         an 'isblank' function but does not define it in the C library.
94347         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
94348         * lib/regex_internal.h (isblank): Likewise.
94349         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
94350         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
94352 2007-06-05  Bruno Haible  <bruno@clisp.org>
94354         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
94355         ia64.
94356         * modules/printf-safe: New file.
94357         * modules/fprintf-posix (Depends-on): Add printf-safe.
94358         * modules/printf-posix (Depends-on): Likewise.
94359         * modules/snprintf-posix (Depends-on): Likewise.
94360         * modules/sprintf-posix (Depends-on): Likewise.
94361         * modules/vasnprintf-posix (Depends-on): Likewise.
94362         * modules/vasprintf-posix (Depends-on): Likewise.
94363         * modules/vfprintf-posix (Depends-on): Likewise.
94364         * modules/vprintf-posix (Depends-on): Likewise.
94365         * modules/vsnprintf-posix (Depends-on): Likewise.
94366         * modules/vsprintf-posix (Depends-on): Likewise.
94367         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
94368         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
94369         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
94370         "no" on i386, x86_64, ia64.
94371         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
94372         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
94373         on i386, x86_64, ia64.
94374         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
94375         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
94376         on i386, x86_64, ia64.
94377         * tests/test-vasnprintf-posix.c: Include float.h.
94378         (LDBL80_WORDS): New macro.
94379         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
94380         on i386, x86_64, ia64.
94381         * tests/test-vasprintf-posix.c: Include float.h.
94382         (LDBL80_WORDS): New macro.
94383         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
94384         on i386, x86_64, ia64.
94385         * tests/test-snprintf-posix.c: Include float.h.
94386         * tests/test-sprintf-posix.c: Likewise.
94387         * tests/test-vsnprintf-posix.c: Likewise.
94388         * tests/test-vsprintf-posix.c: Likewise.
94390 2007-06-05  Bruno Haible  <bruno@clisp.org>
94392         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
94393         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
94394         non-IEEE numbers on i386, x86_64, ia64.
94395         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
94396         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
94397         * tests/test-isnanl.h: Include float.h.
94398         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
94400 2007-06-05  Bruno Haible  <bruno@clisp.org>
94402         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
94403         also the %a / %A. Handle the %a / %A code before this extra handling.
94405 2007-06-05  Bruno Haible  <bruno@clisp.org>
94407         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
94408         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
94410 2007-06-05  Bruno Haible  <bruno@clisp.org>
94412         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
94413         typo in variable name.
94415 2007-06-05  Eric Blake  <ebb9@byu.net>
94417         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
94418         Reported by Simon Josefsson.
94420 2007-06-04  Bruno Haible  <bruno@clisp.org>
94422         Avoid test failures on some PowerPC platforms.
94423         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
94424         Define differently for PowerPC.
94425         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
94426         Reported by Gary V. Vaughan <gary@gnu.org>.
94428 2007-06-02  Bruno Haible  <bruno@clisp.org>
94430         Fix test-stdint failure on FreeBSD/ia64.
94431         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
94432         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
94433         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
94434         * doc/headers/stdint.texi: Update.
94436 2007-06-01  Bruno Haible  <bruno@clisp.org>
94438         * tests/test-binary-io.c (main): Pass a third argument to open().
94439         Reported by Gary V. Vaughan <gary@gnu.org>.
94441 2007-06-01  Bruno Haible  <bruno@clisp.org>
94443         * doc/functions/frexpl.texi: Update for mingw.
94445 2007-06-01  Bruno Haible  <bruno@clisp.org>
94447         * tests/test-lseek.c (main): Disable test of errno for invalid third
94448         argument.
94449         * doc/functions/lseek.texi: Update.
94450         Reported by Gary V. Vaughan <gary@gnu.org>.
94452 2007-05-28  Bruno Haible  <bruno@clisp.org>
94454         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
94456 2007-05-31  Eric Blake  <ebb9@byu.net>
94458         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
94459         cross compiling.
94461 2007-05-30  Eric Blake  <ebb9@byu.net>
94462         and Bruno Haible  <bruno@clisp.org>
94464         Work around mingw test failures exposed by m4-1.4.9b.
94465         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
94466         * tests/test-unistd.c: Disable uid_t and git_t tests for the
94467         moment.
94469 2007-05-30  Bruno Haible  <bruno@clisp.org>
94471         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
94472         assuming that they are closed. Needed on HP-UX 11.
94474 2007-05-29  Bruno Haible  <bruno@clisp.org>
94476         Fix a problem with #include_next.
94477         * lib/dirent_.h: Split the double-inclusion guard.
94478         * lib/fcntl_.h: Likewise.
94479         * lib/float_.h: Likewise.
94480         * lib/iconv_.h: Likewise.
94481         * lib/inttypes_.h: Likewise.
94482         * lib/locale_.h: Likewise.
94483         * lib/math_.h: Likewise.
94484         * lib/netinet_in_.h: Likewise.
94485         * lib/search_.h: Likewise.
94486         * lib/signal_.h: Likewise.
94487         * lib/stdint_.h: Likewise.
94488         * lib/stdio_.h: Likewise.
94489         * lib/stdlib_.h: Likewise.
94490         * lib/string_.h: Likewise.
94491         * lib/sys_select_.h: Likewise.
94492         * lib/sys_socket_.h: Likewise.
94493         * lib/sys_stat_.h: Likewise.
94494         * lib/sys_time_.h: Likewise.
94495         * lib/sysexits_.h: Likewise.
94496         * lib/time_.h: Likewise.
94497         * lib/unistd_.h: Likewise.
94498         * lib/wchar_.h: Likewise.
94499         * lib/wctype_.h: Likewise.
94501 2007-05-29  Bruno Haible  <bruno@clisp.org>
94503         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
94504         for the moment.
94506 2007-05-29  Bruno Haible  <bruno@clisp.org>
94508         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
94509         invocation.
94510         Reported by Eric Blake.
94512 2007-05-29  Bruno Haible  <bruno@clisp.org>
94514         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
94515         compiling case.
94517 2007-05-29  Eric Blake  <ebb9@byu.net>
94518             Bruno Haible  <bruno@clisp.org>
94520         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
94521         cross compiles.
94523 2007-05-28  Eric Blake  <ebb9@byu.net>
94525         * modules/closein-tests (test_closein_LDADD): Support test on
94526         cygwin with libtool.
94528 2007-05-28  Bruno Haible  <bruno@clisp.org>
94530         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
94531         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
94532         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
94533         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
94534         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
94535         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
94536         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
94537         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
94538         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
94540 2007-05-28  Eric Blake  <ebb9@byu.net>
94542         Unconditionally include <config.h> in unit tests.
94543         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
94544         * tests/test-allocsa.c, tests/test-arcfour.c,
94545         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
94546         tests/test-array_list.c, tests/test-array_oset.c,
94547         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
94548         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
94549         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
94550         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
94551         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
94552         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
94553         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
94554         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
94555         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
94556         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
94557         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
94558         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
94559         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
94560         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
94561         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
94562         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
94563         test-md5.c, test-memmem.c, test-printf-posix.c,
94564         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
94565         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
94566         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
94567         test-strcasestr.c, test-striconv.c, test-striconveh.c,
94568         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
94569         test-vasnprintf-posix2.c, test-vasnprintf.c,
94570         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
94571         test-vfprintf-posix.c, test-vprintf-posix.c,
94572         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
94573         test-xvasprintf.c: Likewise.
94575 2007-05-28  Bruno Haible  <bruno@clisp.org>
94577         * gnulib-tool (func_import): Remember the --with-tests command-line
94578         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
94579         Reported by Eric Blake.
94581 2007-05-28  Bruno Haible  <bruno@clisp.org>
94583         * modules/ftell-tests: New file.
94584         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
94585         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
94587         * lib/ftell.c: New file.
94588         * modules/ftell: New file.
94589         * m4/ftell.m4: New file.
94590         * doc/functions/ftell.texi: Update.
94591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
94592         REPLACE_FTELL.
94593         * lib/stdio_.h (rpl_ftell): New declaration.
94594         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
94595         REPLACE_FTELL.
94597 2007-05-28  Eric Blake  <ebb9@byu.net>
94599         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
94601 2007-05-28  Bruno Haible  <bruno@clisp.org>
94603         * modules/fseek-tests: New file.
94604         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
94605         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
94607         * lib/fseek.c: New file.
94608         * modules/fseek: New file.
94609         * m4/fseek.m4: New file.
94610         * doc/functions/fseek.texi: Update.
94611         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
94612         REPLACE_FSEEK.
94613         * lib/stdio_.h (rpl_fseek): New declaration.
94614         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
94615         REPLACE_FSEEK.
94617 2007-05-28  Bruno Haible  <bruno@clisp.org>
94619         * lib/stdio_.h (fflush): More comments.
94621 2007-05-28  Bruno Haible  <bruno@clisp.org>
94623         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
94624         runtime test.
94626 2007-05-28  Eric Blake  <ebb9@byu.net>
94628         Improve lseek module.
94629         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
94630         * lib/unistd_.h (lseek): Scale back link warning message.
94631         * tests/test-lseek.c: Beef up test.
94632         * tests/test-lseek.sh: Exercise more facets of lseek.
94633         Reported by Bruno Haible.
94635 2007-05-28  Bruno Haible  <bruno@clisp.org>
94637         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
94638         to define.
94640 2007-05-27  Bruno Haible  <bruno@clisp.org>
94642         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
94644 2007-05-27  Bruno Haible  <bruno@clisp.org>
94646         * modules/openmp: New file.
94647         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
94648         Noah Misch.
94650 2007-05-26  Bruno Haible  <bruno@clisp.org>
94652         * modules/chdir-long (Depends-on): Add fchdir.
94653         * modules/chdir-safer (Depends-on): Likewise.
94654         * modules/fts (Depends-on): Likewise.
94655         * modules/fts-lgpl (Depends-on): Likewise.
94656         * modules/openat (Depends-on): Likewise.
94657         * modules/savewd (Depends-on): Likewise.
94659 2007-05-24  Eric Blake  <ebb9@byu.net>
94661         Fix lseek on mingw.
94662         * modules/lseek: New module.
94663         * m4/lseek.m4: New file.
94664         * lib/lseek.c: New file.
94665         * modules/lseek-tests: New file.
94666         * tests/test-lseek.c: New file.
94667         * tests/test-lseek.sh: New file.
94668         * MODULES.html.sh: Document lseek module.
94669         * modules/fflush (Depends-on): Add lseek, fseeko.
94670         * modules/fseeko (Depends-on): Likewise.
94671         * modules/ftello (Depends-on): Likewise.
94672         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
94673         broken.
94674         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
94675         broken.
94676         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
94677         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
94678         * lib/ftello.c (rpl_ftello): Likewise.
94679         * tests/test-fseeko.c (main): Test this.
94680         * tests/test-fseeko.sh: Likewise.
94681         * tests/test-ftello.c (main): Likewise.
94682         * tests/test-ftello.sh: Likewise.
94683         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
94684         implies replacing fseek.
94685         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
94686         HAVE_FTELLO.
94687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
94688         * modules/unistd (Makefile.am): Likewise.
94689         * lib/unistd_.h (lseek): Declare a replacement.
94690         * doc/functions/lseek.texi (lseek): Document this fix.
94691         * doc/functions/fseek.texi (fseek): Likewise.
94692         * doc/functions/ftell.texi (ftell): Likewise.
94694 2007-05-24  Bruno Haible  <bruno@clisp.org>
94696         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
94697         in the printed representation of a NaN.
94698         * tests/test-vasprintf-posix.c (test_function): Likewise.
94699         * tests/test-snprintf-posix.h (test_function): Likewise.
94700         * tests/test-sprintf-posix.h (test_function): Likewise.
94701         Reported by Eric Blake.
94703 2007-05-23  Eric Blake  <ebb9@byu.net>
94705         Fix fseeko/ftello on cygwin 1.5.24.
94706         * doc/functions/fseeko.texi (fseeko): Document the fix.
94707         * doc/functions/ftello.texi (ftello): Document the fix.
94708         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
94709         * doc/functions/stdout.text (stdout): New file.
94710         * doc/functions/stderr.text (stderr): New file.
94711         * doc/gnulib.texi (Function Substitutes): Use new files.
94712         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
94713         prior to 1.7.0.
94714         * tests/test-ftello.c (main): Likewise for ftello.
94715         * tests/test-fseeko.sh: New file.
94716         * tests/test-ftello.sh: New file.
94717         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
94718         with seekable stdin.
94719         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
94720         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
94721         (gl_REPLACE_FSEEKO): New macro.
94722         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
94723         * modules/fseeko (Files): Distribute fseeko.c.
94724         * modules/ftello (Files): Distribute ftello.c.
94725         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
94726         mode.
94727         * lib/ftello.c (rpl_ftello): New file.
94728         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
94729         fseeko, ftello.
94730         (gl_STDIN_LARGE_OFFSET): New macro.
94731         * modules/stdio (Makefile.am): Perform the replacement.
94732         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
94734 2007-05-23  Bruno Haible  <bruno@clisp.org>
94736         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
94737         GNULIB_POSIXCHECK is defined.
94739 2007-05-21  Bruno Haible  <bruno@clisp.org>
94741         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
94742         Check also the output for NaN arguments. When cross-compiling, guess
94743         no on IRIX.
94744         * lib/vasnprintf.c: Update comments.
94745         * tests/test-vasnprintf-posix.c (strisnan): New function.
94746         (test_function): Use it.
94747         * tests/test-vasprintf-posix.c (strisnan): New function.
94748         (test_function): Use it.
94749         * tests/test-snprintf-posix.h (strisnan): New function.
94750         (test_function): Use it.
94751         * tests/test-sprintf-posix.h (strisnan): New function.
94752         (test_function): Use it.
94753         Reported by Eric Blake.
94755 2007-05-20  Bruno Haible  <bruno@clisp.org>
94757         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
94758         numbers that fails on BeOS.
94759         * doc/functions/frexpl.texi: Update.
94761 2007-05-20  Jim Meyering  <jim@meyering.net>
94763         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
94764         forced upon us by glibc-2.6.
94766 2007-05-20  Bruno Haible  <bruno@clisp.org>
94768         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
94769         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
94770         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
94771         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
94772         NEED_PRINTF_INFINITE.
94773         (is_infinitel): New function.
94774         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
94775         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
94776         gl_PREREQ_VASNPRINTF_INFINITE.
94777         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
94778         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
94779         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
94780         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
94781         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
94782         gl_PREREQ_VASNPRINTF_INFINITE.
94783         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
94784         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
94785         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
94786         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
94787         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
94788         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
94789         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
94790         * doc/functions/fprintf.texi: Update.
94791         * doc/functions/printf.texi: Update.
94792         * doc/functions/snprintf.texi: Update.
94793         * doc/functions/sprintf.texi: Update.
94794         * doc/functions/vfprintf.texi: Update.
94795         * doc/functions/vprintf.texi: Update.
94796         * doc/functions/vsnprintf.texi: Update.
94797         * doc/functions/vsprintf.texi: Update.
94799 2007-05-20  Bruno Haible  <bruno@clisp.org>
94801         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
94802         was not found in libc.
94803         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
94805 2007-05-20  Bruno Haible  <bruno@clisp.org>
94807         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
94808         printed as "-nan" instead of "nan".
94809         * tests/test-vasprintf-posix.c (test_function): Likewise.
94810         * tests/test-snprintf-posix.h (test_function): Likewise.
94811         * tests/test-sprintf-posix.h (test_function): Likewise.
94812         Needed for HP-UX 11.
94814 2007-05-20  Jim Meyering  <jim@meyering.net>
94816         Fix buggy test for the fchownat-deref bug.
94817         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
94818         symlink required for the run-test.  Without it, this test would
94819         always declare that fchownat doesn't work, and client code would
94820         unnecessarily use the replacement function with fixed libc.
94821         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
94822         Reported by Greg Schafer.
94824 2007-05-19  Bruno Haible  <bruno@clisp.org>
94826         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
94827         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
94828         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
94829         Needed for IRIX 6.5 and Solaris 2.5.1.
94831 2007-05-19  Bruno Haible  <bruno@clisp.org>
94833         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
94834         (test_function): Skip tests involving -0.0 on platforms where
94835         -0.0 = 0.0.
94836         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
94837         (test_function): Skip tests involving -0.0 on platforms where
94838         -0.0 = 0.0.
94839         * tests/test-snprintf-posix.h (have_minus_zero): New function.
94840         (test_function): Skip tests involving -0.0 on platforms where
94841         -0.0 = 0.0.
94842         * tests/test-sprintf-posix.h (have_minus_zero): New function.
94843         (test_function): Skip tests involving -0.0 on platforms where
94844         -0.0 = 0.0.
94845         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
94846         tests.
94847         * tests/test-printf-posix.h (test_function): Likewise.
94848         * tests/test-printf-posix.output: Remove all -0.0 related results.
94849         Needed for IRIX 6.5.
94851 2007-05-19  Bruno Haible  <bruno@clisp.org>
94853         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
94854         printed as "nan0x7fffffff" instead of "nan".
94855         * tests/test-vasprintf-posix.c (test_function): Likewise.
94856         * tests/test-snprintf-posix.h (test_function): Likewise.
94857         * tests/test-sprintf-posix.h (test_function): Likewise.
94858         * tests/test-fprintf-posix.h (NaN): Remove macro.
94859         (test_function): Remove all NaN related tests.
94860         * tests/test-printf-posix.h (NaN): Remove macro.
94861         (test_function): Remove all NaN related tests.
94862         * tests/test-printf-posix.output: Remove all NaN related results.
94863         Needed for IRIX 6.5.
94865 2007-05-19  Bruno Haible  <bruno@clisp.org>
94867         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
94868         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
94870 2007-05-19  Bruno Haible  <bruno@clisp.org>
94872         * lib/float_.h: New file.
94873         * m4/float_h.m4: New file.
94874         * modules/float: New file.
94875         * modules/isnanl (Dependencies): Add float.
94876         * modules/isnanl-nolibm (Dependencies): Likewise.
94877         * modules/mathl (Dependencies): Likewise.
94878         * modules/printf-frexpl (Dependencies): Likewise.
94879         * modules/signbit (Dependencies): Likewise.
94880         * modules/vasnprintf (Dependencies): Likewise.
94881         * doc/headers/float.texi: Update.
94883 2007-05-19  Jim Meyering  <jim@meyering.net>
94885         * lib/utimens.c (gl_futimens): Rename from futimens,
94886         now that glibc-2.6 declares futimens.
94887         * lib/utimens.h: Likewise.
94889 2007-05-19  Bruno Haible  <bruno@clisp.org>
94891         Avoid test failures on mingw.
94892         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
94893         * tests/test-printf-posix.sh: Likewise.
94894         * tests/test-vfprintf-posix.sh: Likewise.
94895         * tests/test-vprintf-posix.sh: Likewise.
94897 2007-05-19  Bruno Haible  <bruno@clisp.org>
94899         Fix *printf result for NaN, Inf, -0.0 on mingw.
94900         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
94901         * lib/vasnprintf.c: Include math.h and isnan.h.
94902         (is_infinite_or_zero): New function.
94903         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
94904         values in the %f, %F, %e, %E, %g, %G directives.
94905         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
94906         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
94907         gl_PRINTF_INFINITE and test its result. Invoke
94908         gl_PREREQ_VASNPRINTF_INFINITE.
94909         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
94910         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
94911         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
94912         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
94913         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
94914         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
94915         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
94916         * doc/functions/fprintf.texi: Update.
94917         * doc/functions/printf.texi: Update.
94918         * doc/functions/snprintf.texi: Update.
94919         * doc/functions/sprintf.texi: Update.
94920         * doc/functions/vfprintf.texi: Update.
94921         * doc/functions/vprintf.texi: Update.
94922         * doc/functions/vsnprintf.texi: Update.
94923         * doc/functions/vsprintf.texi: Update.
94925 2007-05-19  Bruno Haible  <bruno@clisp.org>
94927         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
94928         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
94929         Instead of multiplying with 10^k, set extra_zeroes to k.
94930         (scale10_round_long_double): Remove function.
94932 2007-05-18  Bruno Haible  <bruno@clisp.org>
94934         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
94935         introduced on 2007-05-06.
94937 2007-05-18  Bruno Haible  <bruno@clisp.org>
94939         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
94940         %g directives.
94941         * tests/test-vasprintf-posix.c (test_function): Likewise.
94942         * tests/test-snprintf-posix.h (test_function): Likewise.
94943         * tests/test-sprintf-posix.h (test_function): Likewise.
94945 2007-05-18  Bruno Haible  <bruno@clisp.org>
94947         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
94948         (strmatch): New function.
94949         (test_function): Test the %f directive on numbers of various exponents.
94950         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
94951         (strmatch): New function.
94952         (test_function): Test the %f directive on numbers of various exponents.
94953         * tests/test-snprintf-posix.h (strmatch): New function.
94954         (test_function): Test the %f directive on numbers of various exponents.
94955         * tests/test-sprintf-posix.h (strmatch): New function.
94956         (test_function): Test the %f directive on numbers of various exponents.
94957         * tests/test-snprintf-posix.c (SIZEOF): New macro.
94958         * tests/test-sprintf-posix.c (SIZEOF): New macro.
94959         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
94960         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
94962 2007-05-18  Bruno Haible  <bruno@clisp.org>
94964         Add support for 'long double' number output.
94965         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
94966         * lib/vasnprintf.c: Include math.h and float+.h.
94967         (mp_limb_t): New type.
94968         (GMP_LIMB_BITS): New macro.
94969         (mp_twolimb_t): New type.
94970         (GMP_TWOLIMB_BITS): New macro.
94971         (mpn_t): New type.
94972         (multiply, divide, convert_to_decimal, decode_long_double,
94973         scale10_round_long_double, scale10_round_decimal_long_double,
94974         floorlog10l): New functions.
94975         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
94976         for the %f, %F, %e, %E, %g, %G directives.
94977         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
94978         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
94979         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
94980         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
94981         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
94982         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
94983         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
94984         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
94985         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
94986         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
94987         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
94988         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
94989         * modules/snprintf-posix (Depends-on): Likewise.
94990         * modules/sprintf-posix (Depends-on): Likewise.
94991         * modules/vasnprintf-posix (Depends-on): Likewise.
94992         * modules/vasprintf-posix (Depends-on): Likewise.
94993         * modules/vfprintf-posix (Depends-on): Likewise.
94994         * modules/vsnprintf-posix (Depends-on): Likewise.
94995         * modules/vsprintf-posix (Depends-on): Likewise.
94996         * modules/vasnprintf (Files): Add lib/float+.h.
94997         * doc/functions/fprintf.texi: Update.
94998         * doc/functions/printf.texi: Update.
94999         * doc/functions/snprintf.texi: Update.
95000         * doc/functions/sprintf.texi: Update.
95001         * doc/functions/vfprintf.texi: Update.
95002         * doc/functions/vprintf.texi: Update.
95003         * doc/functions/vsnprintf.texi: Update.
95004         * doc/functions/vsprintf.texi: Update.
95006 2007-05-18  Bruno Haible  <bruno@clisp.org>
95008         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
95010 2007-05-18  Bruno Haible  <bruno@clisp.org>
95012         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
95013         for printing 64-bit integers. Needed for mingw.
95015 2007-05-18  Bruno Haible  <bruno@clisp.org>
95017         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
95018         gl_FUNC_FREXPL_WORKS.
95019         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
95021 2007-05-18  Bruno Haible  <bruno@clisp.org>
95023         * modules/frexpl-nolibm-tests: New file.
95025         * modules/frexpl-nolibm: New file.
95026         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
95028 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
95030         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
95031         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
95032         GCC 4.2, which otherwise issues a lot of warnings.
95033         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
95034         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
95035         Likewise.
95036         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
95037         * modules/iconv_open (iconv.h): Likewise.
95038         * modules/locale (locale.h): Likewise.
95039         * modules/netinet_in (netinet/in.h): Likewise.
95040         * modules/sys_select (sys_select.h): Likewise.
95041         * modules/sys_socket (sys/socket.h): Likewise.
95042         * modules/sys_stat (sys/stat.h): Likewise.
95043         * modules/sysexits (sysexits.h): Likewise.
95044         * modules/unistd (unistd.h): Likewise.
95046 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95048         * modules/closein-tests (Makefile.am): Distribute
95049         `test-closein.sh'.
95051 2007-05-17  Bruno Haible  <bruno@clisp.org>
95053         * tests/test-printf-posix.output: Renamed from
95054         tests/test-fprintf-posix.out.
95055         * modules/fprintf-posix-tests: Update.
95056         * modules/printf-posix-tests: Update.
95057         * modules/vfprintf-posix-tests: Update.
95058         * modules/vprintf-posix-tests: Update.
95059         * tests/test-fprintf-posix.sh: Update.
95060         * tests/test-printf-posix.sh: Update.
95061         * tests/test-vfprintf-posix.sh: Update.
95062         * tests/test-vprintf-posix.sh: Update.
95063         Reported by Ralf Wildenhues.
95065 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
95067         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
95068         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
95069         GCC 4.2, which otherwise issues a lot of warnings.
95070         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
95071         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
95072         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
95073         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
95074         it should no longer be needed.
95075         * lib/string_.h: Likewise.
95076         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
95077         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
95078         * modules/inttypes (inttypes.h): Likewise.
95079         * modules/math (math.h): Likewise.
95080         * modules/search (search.h): Likewise.
95081         * modules/signal (signal.h): Likewise.
95082         * modules/stdint (stdint.h): Likewise.
95083         * modules/stdio (stdio.h): Likewise.
95084         * modules/stdlib (stdlib.h): Likewise.
95085         * modules/string (string.h): Likewise.
95086         * modules/sys_time (sys/time.h): Likewise.
95087         * modules/time (time.h): Likewise.
95088         * modules/wchar (wchar.h): Likewise.
95089         * modules/wctype (wtype.h): Likewise.
95091 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
95093         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
95095 2007-05-13  Bruno Haible  <bruno@clisp.org>
95097         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
95098         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
95099         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
95100         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
95101         (gl_PREREQ_STRTOK_R): Don't require it here.
95103 2007-05-13  Bruno Haible  <bruno@clisp.org>
95105         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
95106         when used in C++ mode.
95108 2007-05-12  Bruno Haible  <bruno@clisp.org>
95110         * lib/linebuffer.h: Tweak doc.
95111         * lib/linebuffer.c: Likewise.
95113 2007-05-12  James Youngman  <jay@gnu.org>
95115         * lib/linebuffer.c (readlinebuffer_delim): New function,
95116         like readlinebuffer, but use a caller-specified delimiter.
95117         (readlinebuffer): Just call readlinebuffer_delim with '\n'
95118         as the delimiter.
95119         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
95121 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
95123         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
95124         * modules/openat (Files): Remove openat-die.c.
95125         (Depends-on): Add openat-die.
95126         * modules/openat-die: New module.
95128 2007-05-06  Bruno Haible  <bruno@clisp.org>
95130         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
95131         Update with info about Cygwin.
95132         * doc/functions/fprintf.texi: Update.
95133         * doc/functions/printf.texi: Update.
95134         * doc/functions/snprintf.texi: Update.
95135         * doc/functions/sprintf.texi: Update.
95136         * doc/functions/vfprintf.texi: Update.
95137         * doc/functions/vprintf.texi: Update.
95138         * doc/functions/vsnprintf.texi: Update.
95139         * doc/functions/vsprintf.texi: Update.
95140         Reported by Eric Blake.
95142 2007-05-06  Bruno Haible  <bruno@clisp.org>
95144         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
95145         padding ourselves for the floating-point directives.
95146         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
95147         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
95148         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
95149         gl_PRINTF_FLAG_ZERO and test its result. Invoke
95150         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
95151         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
95152         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
95153         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
95154         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
95155         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
95156         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
95157         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
95158         * tests/test-snprintf-posix.h (test_function): Also check the width
95159         and some flags in the %f directive.
95160         * tests/test-sprintf-posix.h (test_function): Likewise.
95161         * tests/test-vasnprintf-posix.c (test_function): Likewise.
95162         * tests/test-vasprintf-posix.c (test_function): Likewise.
95163         * doc/functions/fprintf.texi: Update.
95164         * doc/functions/printf.texi: Update.
95165         * doc/functions/snprintf.texi: Update.
95166         * doc/functions/sprintf.texi: Update.
95167         * doc/functions/vfprintf.texi: Update.
95168         * doc/functions/vprintf.texi: Update.
95169         * doc/functions/vsnprintf.texi: Update.
95170         * doc/functions/vsprintf.texi: Update.
95172 2007-05-06  Bruno Haible  <bruno@clisp.org>
95174         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
95175         pass the ' flag character to sprintf or snprintf.
95176         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
95177         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
95178         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
95179         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
95180         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
95181         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
95182         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
95183         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
95184         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
95185         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
95186         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
95187         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
95188         * tests/test-snprintf-posix.h (test_function): Also check the grouping
95189         flag.
95190         * tests/test-sprintf-posix.h (test_function): Likewise.
95191         * tests/test-vasnprintf-posix.c (test_function): Likewise.
95192         * tests/test-vasprintf-posix.c (test_function): Likewise.
95193         * doc/functions/fprintf.texi: Update.
95194         * doc/functions/printf.texi: Update.
95195         * doc/functions/snprintf.texi: Update.
95196         * doc/functions/sprintf.texi: Update.
95197         * doc/functions/vfprintf.texi: Update.
95198         * doc/functions/vprintf.texi: Update.
95199         * doc/functions/vsnprintf.texi: Update.
95200         * doc/functions/vsprintf.texi: Update.
95202 2007-05-01  Bruno Haible  <bruno@clisp.org>
95204         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
95206 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
95208         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
95209         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
95211 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
95213         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
95214         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
95215         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
95217 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
95219         * lib/argp-help.c (struct hol_entry): New member `ord'.
95220         (HOL_ENTRY_PTRCMP): Use ord for comparison
95221         (hol_sort): Initialize ord.
95223 2007-05-01  Bruno Haible  <bruno@clisp.org>
95225         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
95226         Reported by Eric Blake.
95227         * doc/gnulib.texi (Function Substitutes): Update.
95229 2007-05-01  Bruno Haible  <bruno@clisp.org>
95231         * doc/functions.texi: Remove file, now redundant through
95232         doc/functions/*.texi.
95234 2007-05-01  Bruno Haible  <bruno@clisp.org>
95236         * modules/argp (Depends-on): Add sleep.
95238 2007-05-01  Bruno Haible  <bruno@clisp.org>
95240         * modules/sleep-tests: New file.
95241         * tests/test-sleep.c: New file.
95243         * modules/sleep: New file.
95244         * lib/sleep.c: New file.
95245         * m4/sleep.m4: New file.
95246         * lib/unistd_.h (sleep): New declaration.
95247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
95248         HAVE_SLEEP.
95249         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
95250         * doc/functions/sleep.texi: Document the sleep module.
95252 2007-05-01  Bruno Haible  <bruno@clisp.org>
95254         * lib/sigprocmask.h: Remove file.
95255         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
95256         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
95257         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
95258         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
95259         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
95260         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
95261         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
95262         HAVE_SIGSET_T as a shell variable.
95263         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
95264         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
95265         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
95266         (Depends-on): Add signal. Remove verify.
95267         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
95268         (Include): Mention <signal.h> instead of sigprocmask.h.
95269         * NEWS: Mention the change.
95270         * lib/fatal-signal.c: Don't include sigprocmask.h.
95272 2007-05-01  Bruno Haible  <bruno@clisp.org>
95274         * modules/signal: New file.
95275         * lib/signal_.h: New file.
95276         * m4/signal_h.m4: New file.
95278 2007-05-01  Bruno Haible  <bruno@clisp.org>
95280         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
95281         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
95282         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
95283         HAVE_WCTYPE_CTMP_BUG into wctype.h.
95285 2007-05-01  Bruno Haible  <bruno@clisp.org>
95287         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
95288         configure time.
95289         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
95290         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
95291         * modules/sys_stat (Makefile.am): Substitute their values into
95292         sys/stat.h.
95294 2007-05-01  Bruno Haible  <bruno@clisp.org>
95296         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
95297         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
95298         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
95300 2007-05-01  Bruno Haible  <bruno@clisp.org>
95302         * doc/header/assert.texi: Undo last change: don't mention the gnulib
95303         'assert' module here.
95305 2007-05-01  Bruno Haible  <bruno@clisp.org>
95307         * doc/functions/*.texi: New files.
95308         * doc/functions/google-ranking.txt: New file.
95309         * doc/gnulib.texi (Function Substitutes): New chapter.
95310         (ctime, inet_ntoa): Remove sections.
95311         * doc/ctime.texi: Remove file.
95312         * doc/inet_ntoa.texi: Remove file.
95313         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
95314         dependencies.
95315         (%.info): New rule, specifying a --reference-limit.
95317 2007-05-01  Bruno Haible  <bruno@clisp.org>
95319         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
95321 2007-05-01  Bruno Haible  <bruno@clisp.org>
95323         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
95324         the portability of 'mkdir' to mingw systems.
95326 2007-05-01  Bruno Haible  <bruno@clisp.org>
95328         * doc/headers/google-ranking.txt: New file.
95330 2007-04-30  Eric Blake  <ebb9@byu.net>
95332         Prefer fseeko to fseek.
95333         * modules/getpass (Depends-on): Add fseeko.
95334         * lib/getpass.c (getpass): Use fseeko, not fseek.
95336 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
95338         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
95339         assumes the sorting is stable, while most qsort implementations
95340         are not.  Use argument addresses to ensure they never compare as
95341         equal.
95343         * tests/test-argp-2.sh (usage-indent test): Fix output
95344         (func_compare): Restore diff options
95345         * tests/test-argp.c: Restore #include "progname.h"
95347 2007-04-29  Bruno Haible  <bruno@clisp.org>
95349         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
95350         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
95351         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
95352         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
95353         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
95354         (configure.ac): Define CHECK_SNPRINTF_POSIX.
95355         (TESTS, check_PROGRAMS): Add test-snprintf.
95356         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
95357         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
95358         (TESTS, check_PROGRAMS): Add test-vsnprintf.
95359         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
95360         assertions that fail on HP-UX, OSF/1, or IRIX.
95361         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
95363 2007-04-29  Bruno Haible  <bruno@clisp.org>
95365         * MODULES.html.sh (posix_functions): Remove 'contents'.
95367 2007-04-29  Karl Berry  <karl@gnu.org>
95369         * config/srclist.txt (gendocs_template_min): new entry.
95371 2007-04-29  Bruno Haible  <bruno@clisp.org>
95373         Work around fpurge bug on BSD systems.
95374         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
95375         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
95376         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
95377         fpurge to rpl_fpurge if the system already has this function.
95378         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
95379         the case where the system already has this function. Correct invariants
95380         on BSD systems.
95381         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
95382         BSD systems.
95384 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
95386         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
95387         proposed by Sven Verdoolaege.
95389         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
95390         options.
95391         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
95392         (usage and help tests): Update
95394 2007-04-29  Bruno Haible  <bruno@clisp.org>
95396         * tests/test-fflush.c (main): Use a file of size 17, not 10.
95397         Print more information in case of failure. Disable a test on BeOS.
95399 2007-04-29  Bruno Haible  <bruno@clisp.org>
95401         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
95402         This helps debugging on systems on which no gdb is available.
95404 2007-04-29  Bruno Haible  <bruno@clisp.org>
95406         * lib/freading.h: Improve comments.
95407         * lib/fwriting.h: Likewise.
95408         * tests/test-freading.c (main): Don't check freading immediately after
95409         repositioning. Needed for glibc.
95411 2007-04-29  Bruno Haible  <bruno@clisp.org>
95413         * lib/freading.c (freading): Trivial simplification.
95415 2007-04-28  Bruno Haible  <bruno@clisp.org>
95417         * tests/test-fwriting.c (main): Also test the interaction between
95418         fflush and fwriting.
95419         * modules/fwriting-tests (Depends-on): Add fflush.
95421         * tests/test-freading.c (main): Also test the interaction between
95422         fflush and freading.
95423         * modules/freading-tests (Depends-on): Add fflush.
95425 2007-04-28  Bruno Haible  <bruno@clisp.org>
95427         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
95428         fseeko and ftello.
95429         Suggested by Eric Blake.
95431 2007-04-28  Jim Meyering  <jim@meyering.net>
95433         Avoid false-negative in gl_STDINT_H's C99 conformance test.
95434         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
95435         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
95437 2007-04-27  Eric Blake  <ebb9@byu.net>
95439         * doc/headers/assert.texi (assert.h): Document assert module use.
95441 2007-04-27  Bruno Haible  <bruno@clisp.org>
95443         * doc/headers/*.texi: New files.
95444         * doc/gnulib.texi (Header File Substitutes): New chapter.
95445         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
95446         dependencies.
95447         (standards.info ,standards.html, standards.dvi): Update dependencies.
95448         (mostlyclean, clean): New targets.
95450 2007-04-27  Bruno Haible  <bruno@clisp.org>
95452         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
95453         * modules/sysexits (Files, Makefile.am): Update.
95455         * lib/sys_socket_.h: Renamed from lib/socket_.h.
95456         * modules/sys_socket (Files, Makefile.am): Update.
95458         * lib/sys_stat_.h: Renamed from lib/stat_.h.
95459         * modules/sys_stat (Files, Makefile.am): Update.
95461 2007-04-27  Eric Blake  <ebb9@byu.net>
95463         * lib/freading.h: Improve comments.
95464         * lib/fwriting.h: Likewise.
95465         * lib/fflush.c: Likewise.
95467         Fix closein for mingw.
95468         * modules/closein-tests: Add tests for closein.
95469         * tests/test-closein.c: New file.
95470         * tests/test-closein.sh: Likewise.
95471         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
95472         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
95474 2007-04-27  Bruno Haible  <bruno@clisp.org>
95476         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
95477         version is < 6.
95478         * lib/math_.h [__DECC]: Likewise.
95479         * lib/stdio_.h [__DECC]: Likewise.
95480         * lib/stdlib_.h [__DECC]: Likewise.
95481         * lib/string_.h [__DECC]: Likewise.
95482         * lib/time_.h [__DECC]: Likewise.
95483         * lib/wchar_.h [__DECC]: Likewise.
95484         * lib/wctype_.h [__DECC]: Likewise.
95486 2007-04-27  Bruno Haible  <bruno@clisp.org>
95488         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
95490 2007-04-27  Bruno Haible  <bruno@clisp.org>
95492         * lib/fflush.c: Add comments.
95493         * modules/fpurge-tests (Depends-on): Add fflush.
95494         * modules/freadable-tests (Depends-on): Likewise.
95495         * modules/fwritable-tests (Depends-on): Likewise.
95497 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
95499         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
95500         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
95501         Report by Bruno Haible <bruno@clisp.org>.
95503 2007-04-26  Eric Blake  <ebb9@byu.net>
95505         Fix fflush on mingw.
95506         * modules/fflush (Depends-on): Add freading.
95507         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
95508         but unread data.
95510 2007-04-26  Eric Blake  <ebb9@byu.net>
95511         and Bruno Haible  <bruno@clisp.org>
95513         Implement freading and fwriting.
95514         * lib/freading.c: New file.
95515         * lib/freading.h: Likewise.
95516         * m4/freading.m4: Likewise.
95517         * modules/freading: Likewise.
95518         * modules/freading-tests: Likewise.
95519         * tests/test-freading.c: Likewise.
95520         * lib/fwriting.c: New file.
95521         * lib/fwriting.h: Likewise.
95522         * m4/fwriting.m4: Likewise.
95523         * modules/fwriting: Likewise.
95524         * modules/fwriting-tests: Likewise.
95525         * tests/test-fwriting.c: Likewise.
95526         * MODULES.html.sh (File stream based Input/Output): Mention them.
95528 2007-04-26  Bruno Haible  <bruno@clisp.org>
95530         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
95531         'long' when we assume it.
95532         Suggested by Eric Blake.
95534 2007-04-26  Bruno Haible  <bruno@clisp.org>
95536         Ensure fseeko, ftello are declared on glibc systems.
95537         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
95538         * modules/fseeko (configure.ac-early): Likewise.
95539         * modules/ftello (configure.ac-early): Likewise.
95540         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
95541         AC_FUNC_FSEEKO for this.
95542         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
95543         (gl_CHECK_FSEEKO): Remove macro.
95545 2007-04-26  Bruno Haible  <bruno@clisp.org>
95547         * tests/test-fflush.c (main): Also check the ftell result after
95548         fflush and fseek/fseeko.
95549         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
95550         file descriptor position cache in the stream.
95551         * lib/fseeko.c (rpl_fseeko): Likewise.
95553 2007-04-26  Bruno Haible  <bruno@clisp.org>
95555         * modules/fflush-tests (Depends-on): Add fseeko.
95557 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
95558             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95560         * lib/argz_.h: ensure error_t definition is obtained in same
95561         mechanism system argz.h would have.
95562         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
95563         argz facilities are known bad.  Err on the side of caution if
95564         cross-compiling.
95566 2007-04-25  Eric Blake  <ebb9@byu.net>
95568         * lib/fpurge.c (includes): Use stdlib.h for free.
95569         * tests/test-fflush.c (main): Also test fflush-fseeko.
95571 2007-04-25  Bruno Haible  <bruno@clisp.org>
95573         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
95574         * lib/fseeko.c: New file.
95575         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
95576         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
95577         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
95578         gl_FUNC_FSEEKO.
95579         (gl_FUNC_FSEEKO): Invoke it.
95580         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
95581         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
95582         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
95584 2007-04-25  Bruno Haible  <bruno@clisp.org>
95586         * modules/fflush (Depends-on): Add ftello.
95588 2007-04-25  Bruno Haible  <bruno@clisp.org>
95590         * modules/ftello-tests: New file.
95591         * tests/test-ftello.c: New file.
95593         * modules/ftello: New file.
95594         * m4/ftello.m4: New file.
95595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
95596         HAVE_FTELLO.
95597         * lib/stdio_.h (ftello): New declaration.
95598         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
95599         HAVE_FTELLO.
95601 2007-04-25  Bruno Haible  <bruno@clisp.org>
95603         * modules/fseeko-tests: New file.
95604         * tests/test-fseeko.c: New file.
95606         * modules/fseeko: New file.
95607         * m4/fseeko.m4: New file.
95608         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
95609         HAVE_FSEEKO.
95610         * lib/stdio_.h (fseeko): New declaration.
95611         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
95612         HAVE_FSEEKO.
95614 2007-04-25  Bruno Haible  <bruno@clisp.org>
95616         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
95618 2007-04-25  Bruno Haible  <bruno@clisp.org>
95620         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
95621         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
95622         * tests/test-unistd.c: Likewise.
95623         * tests/test-fcntl.c: Likewise.
95625 2007-04-23  Eric Blake  <ebb9@byu.net>
95627         * lib/fflush.c: Fix missing include.
95628         Reported by Bruno Haible.
95630 2007-04-23  Bruno Haible  <bruno@clisp.org>
95632         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
95633         Reported by Eric Blake.
95635 2007-04-23  Bruno Haible  <bruno@clisp.org>
95637         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
95639 2007-04-23  Bruno Haible  <bruno@clisp.org>
95641         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
95643 2007-04-23  Bruno Haible  <bruno@clisp.org>
95645         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
95646         Needed on HP-UX 11.
95648 2007-04-16  Eric Blake  <ebb9@byu.net>
95650         Make fflush rely on fpurge.
95651         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
95652         open coding all variants.
95653         * modules/fflush (Depends-on): Add fpurge and unistd.
95654         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
95655         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
95657         Fix --with-tests compilation on cygwin.
95658         * modules/argmatch-tests (Makefile.am): List gnulib library first
95659         in LDADD.
95660         * modules/argp-tests (Makefile.am): Likewise.
95661         * modules/array-list-tests (Makefile.am): Likewise.
95662         * modules/array-oset-tests (Makefile.am): Likewise.
95663         * modules/avltree-list-tests (Makefile.am): Likewise.
95664         * modules/avltree-oset-tests (Makefile.am): Likewise.
95665         * modules/avltreehash-list-tests (Makefile.am): Likewise.
95666         * modules/carray-list-tests (Makefile.am): Likewise.
95667         * modules/dirname-tests (Makefile.am): Likewise.
95668         * modules/frexp-tests (Makefile.am): Likewise.
95669         * modules/isnanl-tests (Makefile.am): Likewise.
95670         * modules/linked-list-tests (Makefile.am): Likewise.
95671         * modules/linkedhash-list-tests (Makefile.am): Likewise.
95672         * modules/lock-tests (Makefile.am): Likewise.
95673         * modules/rbtree-list-tests (Makefile.am): Likewise.
95674         * modules/rbtree-oset-tests (Makefile.am): Likewise.
95675         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
95676         * modules/tls-tests (Makefile.am): Likewise.
95677         * modules/tsearch-tests (Makefile.am): Likewise.
95678         * modules/xvasprintf-tests (Makefile.am): Likewise.
95680         Fix fpurge for cygwin.
95681         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
95682         value.
95683         * modules/fpurge-tests (Depends-on): Clean up trash.
95685 2007-04-16  Simon Josefsson  <simon@josefsson.org>
95687         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
95689         * m4/autobuild.m4: Re-indent.
95691 2007-04-13  Bruno Haible  <bruno@clisp.org>
95693         * modules/fpurge-tests: New file.
95694         * tests/test-fpurge.c: New file.
95696         * modules/fpurge: New file.
95697         * lib/fpurge.h: New file.
95698         * lib/fpurge.c: New file.
95699         * m4/fpurge.m4: New file.
95701 2007-04-13  Bruno Haible  <bruno@clisp.org>
95703         * modules/fbufmode-tests: New file.
95704         * tests/test-fbufmode.c: New file.
95706         * modules/fbufmode: New file.
95707         * lib/fbufmode.h: New file.
95708         * lib/fbufmode.c: New file.
95709         * m4/fbufmode.m4: New file.
95711 2007-04-13  Bruno Haible  <bruno@clisp.org>
95713         * modules/fwritable-tests: New file.
95714         * tests/test-fwritable.c: New file.
95716         * modules/fwritable: New file.
95717         * lib/fwritable.h: New file.
95718         * lib/fwritable.c: New file.
95719         * m4/fwritable.m4: New file.
95721 2007-04-13  Bruno Haible  <bruno@clisp.org>
95723         * modules/freadable-tests: New file.
95724         * tests/test-freadable.c: New file.
95726         * modules/freadable: New file.
95727         * lib/freadable.h: New file.
95728         * lib/freadable.c: New file.
95729         * m4/freadable.m4: New file.
95731 2007-04-13  Bruno Haible  <bruno@clisp.org>
95733         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
95734         MOSTLYCLEANFILES.
95736 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
95738         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
95739         gzip bootstrap.conf to avoid dragging in i18n machinery.
95740         (gnulib_tool_option): Use it.
95742 2007-04-13  Bruno Haible  <bruno@clisp.org>
95744         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
95745         %F directives.
95746         * tests/test-vasprintf-posix.c (test_function): Likewise.
95747         * tests/test-snprintf-posix.h (test_function): Likewise.
95748         * tests/test-sprintf-posix.h (test_function): Likewise.
95749         * tests/test-fprintf-posix.h (test_function): Likewise.
95750         * tests/test-printf-posix.h (test_function): Likewise.
95751         * tests/test-fprintf-posix.out: Likewise.
95753 2007-04-13  Bruno Haible  <bruno@clisp.org>
95755         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
95756         * modules/tls-tests (configure.ac): Likewise.
95757         Reported by Arto C. Nirkko <anirkko@insel.ch>.
95759 2007-04-13  Bruno Haible  <bruno@clisp.org>
95761         * lib/tls.c (glthread_tls_get): Fix return type.
95762         Patch by Arto C. Nirkko <anirkko@insel.ch>.
95764 2007-04-12  Eric Blake  <ebb9@byu.net>
95766         * modules/gettime (Depends-on): Remove gettime.
95767         Reported by Dmitry V. Levin.
95769 2007-04-12  Bruno Haible  <bruno@clisp.org>
95771         * modules/fflush (Include): Mention <stdio.h>.
95772         * modules/strtoimax (Include): Mention <inttypes.h>.
95773         * modules/strtoumax (Include): Likewise.
95775 2007-04-12  Eric Blake  <ebb9@byu.net>
95777         * .cvsignore: New file.
95778         * .gitignore: Likewise.
95780 2007-04-12  Bruno Haible  <bruno@clisp.org>
95782         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
95783         not before, since $(LDADD) often contains libgnu.a.
95784         * modules/striconv-tests (test_striconv_LDADD): Likewise.
95785         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
95786         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
95787         Needed on Cygwin.
95789 2007-04-12  Eric Blake  <ebb9@byu.net>
95791         Work around glibc's failure to flush stdin on fclose.
95792         * lib/closein.c (close_stdin): Flush stdin before closing.
95794         Work around glibc's failure to reset seekable stdin on exit.
95795         * modules/closein: New module.
95796         * lib/closein.c: New file.
95797         * lib/closein.h: Likewise.
95798         * m4/closein.m4: Likewise.
95799         * MODULES.html.sh (File stream based Input/Output): Document it.
95801 2007-04-12  Simon Josefsson  <simon@josefsson.org>
95803         * gnulib-tool: Rename generated 'autobuild' script to
95804         'do-autobuild' in --create-megatestdir output.
95806         * doc/gnulib.texi (Build robot for gnulib): Fix.
95808 2007-04-12  Simon Josefsson  <simon@josefsson.org>
95810         * modules/sysexits (Depends-on): Add absolute-header.
95812 2007-04-12  Eric Blake  <ebb9@byu.net>
95814         No need to preserve errno on success.
95815         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
95816         Reported by Bruno Haible.
95818 2007-04-12  Simon Josefsson  <simon@josefsson.org>
95820         * MODULES.html.sh (Support for maintaining and releasing
95821         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
95823 2007-04-12  Simon Josefsson  <simon@josefsson.org>
95825         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
95827 2007-04-12  Simon Josefsson  <simon@josefsson.org>
95829         * modules/autobuild: New module.
95831         * m4/autobuild.m4: New file.
95833 2007-04-11  Bruno Haible  <bruno@clisp.org>
95835         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
95836         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
95837         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
95838         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
95839         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
95840         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
95841         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
95842         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
95843         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
95844         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
95845         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
95846         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
95847         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
95848         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
95849         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
95850         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
95851         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
95852         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
95853         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
95854         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
95855         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
95856         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
95857         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
95858         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
95859         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
95860         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
95861         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
95862         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
95863         Reported by Eric Blake.
95865 2007-04-11  Bruno Haible  <bruno@clisp.org>
95867         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
95869 2007-04-10  Bruno Haible  <bruno@clisp.org>
95871         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
95872         for NaN and Infinity. Needed on FreeBSD 6.1.
95873         * tests/test-vasnprintf-posix.c (test_function): Undo last change
95874         regarding results for "%010a" of Infinity and NaN.
95875         * tests/test-vasprintf-posix.c (test_function): Likewise.
95876         * tests/test-snprintf-posix.h (test_function): Likewise.
95877         * tests/test-sprintf-posix.h (test_function): Likewise.
95878         * tests/test-fprintf-posix.h (test_function): Likewise.
95879         * tests/test-printf-posix.h (test_function): Likewise.
95880         * tests/test-fprintf-posix.out: Likewise.
95882 2007-04-10  Bruno Haible  <bruno@clisp.org>
95884         * modules/locale-tests: New file.
95885         * tests/test-locale.c: New file.
95887         * modules/locale: New file.
95888         * lib/locale_.h: New file.
95889         * m4/locale_h.m4: New file.
95891 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
95892             Bruno Haible  <bruno@clisp.org>
95894         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
95895         be determined, test for availability of the copysignf, copysign,
95896         copysignl functions.
95897         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
95898         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
95899         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
95901 2007-04-09  Eric Blake  <ebb9@byu.net>
95903         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
95904         * modules/stdio (Makefile.am): Support fflush.
95905         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
95906         * modules/fflush: New file.
95907         * lib/fflush.c: Likewise.
95908         * m4/fflush.m4: Likewise.
95909         * modules/fflush-tests: New test.
95910         * tests/test-fflush.c: Likewise.
95911         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
95913 2007-04-06  Bruno Haible  <bruno@clisp.org>
95915         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
95916         (VASNPRINTF): Use signbit for faster determination whether to print a
95917         minus sign.
95918         * modules/vasnprintf (Files): Remove lib/float+.h.
95919         * modules/fprintf-posix (Depends-on): Add signbit.
95920         * modules/snprintf-posix (Depends-on): Likewise.
95921         * modules/sprintf-posix (Depends-on): Likewise.
95922         * modules/vasnprintf-posix (Depends-on): Likewise.
95923         * modules/vasprintf-posix (Depends-on): Likewise.
95924         * modules/vfprintf-posix (Depends-on): Likewise.
95925         * modules/vsnprintf-posix (Depends-on): Likewise.
95926         * modules/vsprintf-posix (Depends-on): Likewise.
95928 2007-04-06  Bruno Haible  <bruno@clisp.org>
95930         * tests/test-frexp.c (main): Test also the sign bit of zero results.
95931         * tests/test-frexpl.c (main): Likewise.
95932         * tests/test-ldexpl.c (main): Likewise.
95933         * modules/frexp-tests (Depends-on): Add signbit.
95934         * modules/frexpl-tests (Depdends-on): Likewise.
95935         * modules/ldexpl-tests (Depdends-on): Likewise.
95937 2007-04-06  Bruno Haible  <bruno@clisp.org>
95939         * modules/signbit-tests: New file.
95940         * tests/test-signbit.c: New file.
95942         * modules/signbit: New file.
95943         * lib/signbitf.c: New file.
95944         * lib/signbitd.c: New file.
95945         * lib/signbitl.c: New file.
95946         * m4/signbit.m4: New file.
95947         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
95948         (signbit): New macro.
95949         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
95950         REPLACE_SIGNBIT.
95951         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
95952         REPLACE_FREXPL into math.h.
95954 2007-04-06  Bruno Haible  <bruno@clisp.org>
95956         * modules/isnanf-nolibm-tests: New file.
95957         * tests/test-isnanf.c: New file.
95959         * modules/isnanf-nolibm: New file.
95960         * lib/isnanf.h: New file.
95961         * lib/isnanf.c: New file.
95962         * lib/isnan.c: Consider the USE_FLOAT macro.
95963         * m4/isnanf.m4: New file.
95965 2007-04-06  Bruno Haible  <bruno@clisp.org>
95967         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
95968         (Link): New section.
95970         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
95972 2007-04-06  Bruno Haible  <bruno@clisp.org>
95974         Assume the 'long double' type.
95975         * m4/longdouble.m4: Remove file.
95976         * config/srclist.txt: Don't mention longdouble.m4.
95977         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
95978         * lib/float+.h: Likewise.
95979         * lib/frexp.c: Likewise.
95980         * lib/printf-args.h: Likewise.
95981         * lib/printf-args.c: Likewise.
95982         * lib/printf-frexp.c: Likewise.
95983         * lib/printf-parse.c: Likewise.
95984         * lib/vasnprintf.c: Likewise.
95985         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
95986         * m4/intl.m4: Likewise.
95987         * m4/isnanl.m4: Likewise.
95988         * m4/printf.m4: Likewise.
95989         * m4/printf-frexpl.m4: Likewise.
95990         * m4/vasnprintf.m4: Likewise.
95991         * modules/allocsa (Files): Remove m4/longdouble.m4.
95992         * modules/gettext (Files): Likewise.
95993         * modules/relocatable-prog-wrapper (Files): Likewise.
95994         * modules/vasnprintf (Files): Likewise.
95995         * modules/isnanl (Files): Likewise.
95996         (Include): Simplify.
95997         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
95998         (Include): Simplify.
95999         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
96000         (Include): Simplify.
96001         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
96002         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
96003         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
96004         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
96005         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
96006         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
96007         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
96008         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
96009         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
96010         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
96011         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
96012         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
96013         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
96014         * tests/test-isnanl.c: Likewise.
96015         * tests/test-snprintf-posix.h: Likewise.
96016         * tests/test-sprintf-posix.h: Likewise.
96017         * tests/test-vasnprintf-posix.c: Likewise.
96018         * tests/test-vasnprintf-posix2.c: Likewise.
96019         * tests/test-vasprintf-posix.c: Likewise.
96021 2007-04-06  Bruno Haible  <bruno@clisp.org>
96023         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
96024         * lib/math_.h [__DECC]: Include the overridden include file through
96025         #include_next, outside the double-inclusion guard.
96026         * lib/stdio_.h [__DECC]: Likewise.
96027         * lib/stdlib_.h [__DECC]: Likewise.
96028         * lib/string_.h [__DECC]: Likewise.
96029         * lib/time_.h [__DECC]: Likewise.
96030         * lib/wchar_.h [__DECC]: Likewise.
96031         * lib/wctype_.h [__DECC]: Likewise.
96032         * lib/inttypes_.h [__DECC]: Likewise.
96033         Reported by Albert Chin <china@thewrittenword.com> in
96034         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
96036 2007-04-04  Eric Blake  <ebb9@byu.net>
96038         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
96039         1.5.x.
96041 2007-04-04  Bruno Haible  <bruno@clisp.org>
96043         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
96044         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
96046 2007-04-04  Bruno Haible  <bruno@clisp.org>
96048         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
96049         results for "%010a" of Infinity and NaN.
96050         * tests/test-vasprintf-posix.c (test_function): Likewise.
96051         * tests/test-snprintf-posix.h (test_function): Likewise.
96052         * tests/test-sprintf-posix.h (test_function): Likewise.
96053         * tests/test-fprintf-posix.h (test_function): Remove these tests.
96054         * tests/test-printf-posix.h (test_function): Likewise.
96055         * tests/test-fprintf-posix.out: Update.
96056         Needed for FreeBSD 6.1.
96058 2007-04-04  Bruno Haible  <bruno@clisp.org>
96060         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
96061         directly used by the gnulib modules nor by gnulib-tool.
96063 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
96065         * DEPENDENCIES: Give overall description of version dependency
96066         desirability.  Use more-typical names for apps.
96067         Add shell, coreutils, diffutils, grep, tar, gzip.
96069 2007-04-04  Simon Josefsson  <simon@josefsson.org>
96071         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
96073 2007-04-04  Karl Berry  <karl@gnu.org>
96075         * MODULES.html.sh (func_module): missing '.
96077 2007-04-03  Bruno Haible  <bruno@clisp.org>
96079         * modules/argmatch-tests (Makefile.am): New variable
96080         test_argmatch_LDADD.
96081         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
96082         * modules/array-list-tests (Makefile.am): New variable
96083         test_array_list_LDADD.
96084         * modules/array-oset-tests (Makefile.am): New variable
96085         test_array_oset_LDADD.
96086         * modules/avltree-list-tests (Makefile.am): New variable
96087         test_avltree_list_LDADD.
96088         * modules/avltree-oset-tests (Makefile.am): New variable
96089         test_avltree_oset_LDADD.
96090         * modules/avltreehash-list-tests (Makefile.am): New variable
96091         test_avltreehash_list_LDADD.
96092         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
96093         test_canonicalize_lgpl_LDADD.
96094         * modules/carray-list-tests (Makefile.am): New variable
96095         test_carray_list_LDADD.
96096         * modules/dirname-tests (Makefile.am): New variable
96097         test_dirname_LDADD.
96098         * modules/linked-list-tests (Makefile.am): New variable
96099         test_linked_list_LDADD.
96100         * modules/linkedhash-list-tests (Makefile.am): New variable
96101         test_linkedhash_list_LDADD.
96102         * modules/rbtree-list-tests (Makefile.am): New variable
96103         test_rbtree_list_LDADD.
96104         * modules/rbtree-oset-tests (Makefile.am): New variable
96105         test_rbtree_oset_LDADD.
96106         * modules/rbtreehash-list-tests (Makefile.am): New variable
96107         test_rbtreehash_list_LDADD.
96108         * modules/xvasprintf-tests (Makefile.am): New variable
96109         test_xvasprintf_LDADD.
96110         Reported by Eric Blake.
96112 2007-04-03  Eric Blake  <ebb9@byu.net>
96114         * DEPENDENCIES: Weaken m4 requirements.
96116 2007-04-03  Bruno Haible  <bruno@clisp.org>
96118         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
96119         * modules/isnanl-tests (configure.ac): Likewise.
96121 2007-04-03  Ben Pfaff  <blp@gnu.org>
96123         * modules/iconv_open: Add $(srcdir)/ to source directory
96124         references in Makefile fragments that call gperf, to fix VPATH
96125         builds.
96127 2007-04-03  Bruno Haible  <bruno@clisp.org>
96129         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
96130         * lib/ldexpl.c: Undo last change.
96132 2007-04-03  Bruno Haible  <bruno@clisp.org>
96134         * modules/printf-frexpl (Depends-on): Undo last change.
96135         (Files): Add m4/ldexpl.m4.
96137 2007-04-03  Bruno Haible  <bruno@clisp.org>
96139         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
96140         * modules/isnanl (Link): New section.
96142         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
96143         * modules/frexp (Link): New section.
96145         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
96146         * modules/frexpl (Link): New section.
96148         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
96149         * modules/ldexpl (Link): New section.
96151 2007-04-03  Bruno Haible  <bruno@clisp.org>
96153         * modules/TEMPLATE-EXTENDED: New file.
96154         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
96156 2007-04-03  Bruno Haible  <bruno@clisp.org>
96158         * DEPENDENCIES: New file.
96159         Suggested by Simon Josefsson.
96161 2007-04-03  Bruno Haible  <bruno@clisp.org>
96163         * doc/gnulib.texi: Escape @.
96165 2007-04-03  James Youngman  <jay@gnu.org>
96166         and Paul Eggert  <eggert@cs.ucla.edu>
96168         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
96169         birthtime on all systems that have birthtime, not just those which
96170         use st_birthtimensec rather than st_birthtim.  Putting zero in
96171         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
96172         that the birth time is not available for files on an NFS mount.
96174 2007-04-03  Simon Josefsson  <simon@josefsson.org>
96176         * modules/memxor: Move back from crypto/, suggested by Bruno.
96177         * modules/crypto/hmac-sha1: Fix memxor dependency.
96179         * modules/crypto/gc: Moved from ../.
96181 2007-04-02  Eric Blake  <ebb9@byu.net>
96183         * lib/ldexpl.c (includes): Avoid libm.
96185         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
96187 2007-04-02  Bruno Haible  <bruno@clisp.org>
96189         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
96190         on IRIX.
96192 2007-04-02  Bruno Haible  <bruno@clisp.org>
96194         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
96195         x86 or x86_64 platforms running MacOS X.
96196         Reported by Ryan Schmidt <@ryandesign.com>.
96198 2007-04-02  Bruno Haible  <bruno@clisp.org>
96200         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
96201         i386.
96203 2007-04-01  Simon Josefsson  <simon@josefsson.org>
96205         * modules/crypto/arcfour: Moved from ../.
96206         * modules/crypto/arcfour-tests: Moved from ../.
96207         * modules/crypto/arctwo: Moved from ../.
96208         * modules/crypto/arctwo-tests: Moved from ../.
96209         * modules/crypto/des: Moved from ../.
96210         * modules/crypto/des-tests: Moved from ../.
96211         * modules/crypto/gc-arcfour: Moved from ../.
96212         * modules/crypto/gc-arcfour-tests: Moved from ../.
96213         * modules/crypto/gc-arctwo: Moved from ../.
96214         * modules/crypto/gc-arctwo-tests: Moved from ../.
96215         * modules/crypto/gc-des: Moved from ../.
96216         * modules/crypto/gc-des-tests: Moved from ../.
96217         * modules/crypto/gc-hmac-md5: Moved from ../.
96218         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
96219         * modules/crypto/gc-hmac-sha1: Moved from ../.
96220         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
96221         * modules/crypto/gc-md2: Moved from ../.
96222         * modules/crypto/gc-md2-tests: Moved from ../.
96223         * modules/crypto/gc-md4: Moved from ../.
96224         * modules/crypto/gc-md4-tests: Moved from ../.
96225         * modules/crypto/gc-md5: Moved from ../.
96226         * modules/crypto/gc-md5-tests: Moved from ../.
96227         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
96228         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
96229         * modules/crypto/gc-random: Moved from ../.
96230         * modules/crypto/gc-rijndael: Moved from ../.
96231         * modules/crypto/gc-rijndael-tests: Moved from ../.
96232         * modules/crypto/gc-sha1: Moved from ../.
96233         * modules/crypto/gc-sha1-tests: Moved from ../.
96234         * modules/crypto/gc-tests: Moved from ../.
96235         * modules/crypto/hmac-md5: Moved from ../.
96236         * modules/crypto/hmac-md5-tests: Moved from ../.
96237         * modules/crypto/hmac-sha1: Moved from ../.
96238         * modules/crypto/hmac-sha1-tests: Moved from ../.
96239         * modules/crypto/md2: Moved from ../.
96240         * modules/crypto/md2-tests: Moved from ../.
96241         * modules/crypto/md4: Moved from ../.
96242         * modules/crypto/md4-tests: Moved from ../.
96243         * modules/crypto/md5: Moved from ../.
96244         * modules/crypto/md5-tests: Moved from ../.
96245         * modules/crypto/memxor: Moved from ../.
96246         * modules/crypto/rijndael: Moved from ../.
96247         * modules/crypto/rijndael-tests: Moved from ../.
96248         * modules/crypto/sha1: Moved from ../.
96250 2007-03-30  James Youngman  <jay@gnu.org>
96252         * tests/test-stat-time.c (prepare_test): use chmod() rather than
96253         rename() to change the ctime of a file (because ctime is unaffected
96254         by rename on jfs2 on AIX 5.1).
96255         (main): Start by doing cleanup, in case a previous run failed leaving
96256         test files behind.
96258 2007-03-31  Bruno Haible  <bruno@clisp.org>
96260         Support old proprietary implementations of iconv.
96261         * modules/iconv_open: New file.
96262         * lib/iconv_.h: New file.
96263         * m4/iconv_h.m4: New file.
96264         * lib/iconv_open.c: New file.
96265         * lib/iconv_open-aix.gperf: New file.
96266         * lib/iconv_open-hpux.gperf: New file.
96267         * lib/iconv_open-irix.gperf: New file.
96268         * lib/iconv_open-osf.gperf: New file.
96269         * m4/iconv_open.m4: New file.
96270         * modules/linebreak (Depends-on): Add iconv_open.
96271         * modules/striconv (Depends-on): Likewise.
96272         * modules/striconveh (Depends-on): Likewise.
96273         * modules/unicodeio (Depends-on): Likewise.
96274         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
96275         (iconv_t)(-1).
96276         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
96277         conversion if cd is (iconv_t)(-1).
96278         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
96279         is not possible.
96281 2007-03-31  Bruno Haible  <bruno@clisp.org>
96283         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
96284         work on Solaris either. Protect also second use of "autodetect_jp".
96286 2007-03-31  Bruno Haible  <bruno@clisp.org>
96288         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
96289         the function is not present.
96291 2007-03-31  Bruno Haible  <bruno@clisp.org>
96293         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
96294         the function is not present.
96296 2007-03-31  Bruno Haible  <bruno@clisp.org>
96298         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
96299         a bug in HP-UX iconv_open().
96301 2007-03-31  Bruno Haible  <bruno@clisp.org>
96303         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
96304         (Mathematics <math.h>): New section, add fpieee.
96305         (Input/output <stdio.h>): Add fseterr.
96306         (Mathematics <math.h>): New section, add printf-frexp.
96307         (Container data structures): Add sublist.
96308         (Core language properties): Add fpucw, inline.
96309         (Functions for greatest-width integer types <inttypes.h>): Add
96310         imaxabs, imaxdiv, inttypes.
96311         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
96312         isnanl-nolibm, ldexp.
96313         (Mathematics <math.h>): New section, add printf-frexpl.
96314         (Support for systems lacking POSIX:2001): Add fprintf-posix,
96315         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
96316         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
96317         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
96318         (Unicode string functions): Add unistr/u*-mbtoucr.
96319         (Java): Add javacomp-script, javaexec-script.
96320         (C#): Add csharpcomp-script, csharpexec-script.
96321         (Support for building libraries and executables): Add havelib,
96322         relocatable-*.
96323         (Support for maintaining and releasing projects): Renamed from
96324         'Support for maintaining and release projects'. Add announce-gen.
96326 2007-03-31  Bruno Haible  <bruno@clisp.org>
96328         * README: Talk primarily about git.
96329         (git and CVS): Renamed from CVS.
96330         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
96331         gnulib is available through git.
96332         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
96334 2007-03-30  Bruno Haible  <bruno@clisp.org>
96336         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
96337         * lib/poll_.h: Likewise.
96338         * lib/stat_.h: Likewise.
96339         * lib/sys_time_.h: Likewise.
96340         * lib/sysexit_.h: Likewise.
96341         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
96342         * lib/stdbool_.h: Likewise.
96343         * lib/byteswap_.h: Add double-inclusion guard.
96345 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
96347         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
96349 2007-03-30  Karl Berry  <karl@gnu.org>
96351         * config/srclist-update: double space after USA in the license
96352         substitution, since that's how it's usually (?) written.
96354 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
96356         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
96357         reported by Bruno Haible.
96359 2007-03-29  Bruno Haible  <bruno@clisp.org>
96361         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
96362         a bug in AIX iconv().
96364 2007-03-29  Bruno Haible  <bruno@clisp.org>
96366         * modules/ldexpl-tests: New file.
96367         * tests/test-ldexpl.c: New file.
96369 2007-03-29  Bruno Haible  <bruno@clisp.org>
96371         * lib/ldexpl.c: Include fpucw.h.
96372         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
96373         multiplication.
96374         * modules/ldexpl (Depends-on): Add fpucw.
96376 2007-03-29  Bruno Haible  <bruno@clisp.org>
96378         * modules/ldexpl: New file.
96379         * m4/ldexpl.m4: New file.
96380         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
96381         set.
96382         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
96383         REPLACE_LDEXPL.
96384         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
96385         REPLACE_LDEXPL.
96386         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
96387         gl_FUNC_LDEXPL_WORKS.
96388         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
96389         * modules/mathl (Files): Remove lib/ldexpl.c.
96390         (Depends-on): Add ldexpl.
96392 2007-03-29  Bruno Haible  <bruno@clisp.org>
96394         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
96396 2007-03-29  Bruno Haible  <bruno@clisp.org>
96398         * tests/test-striconveh.c (main): Don't assume that a direct conversion
96399         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
96400         and possibly also HP-UX.
96401         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
96402         work on AIX, IRIX, HP-UX, OSF/1.
96403         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
96404         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
96405         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
96406         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
96407         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
96408         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
96410 2007-03-29  Bruno Haible  <bruno@clisp.org>
96412         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
96414 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
96416         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
96417         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
96419 2007-03-29  Eric Blake  <ebb9@byu.net>
96421         * lib/acl-internal.h: Remove redundant include.
96422         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
96423         Cygwin when a file is locked.
96425 2007-03-29  Bruno Haible  <bruno@clisp.org>
96427         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
96428         file.
96429         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
96431 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
96433         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
96434         try to remove a parent directory if the child couldn't be removed
96435         (except for the first rmdir, which could fail because the child
96436         doesn't exist).  Problem reported by Jeff Blaine in
96437         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
96439 2007-03-28  Bruno Haible  <bruno@clisp.org>
96441         * lib/striconveh.c (utf8conv_carefully): New function.
96442         (mem_cd_iconveh_internal): Invoke it.
96444 2007-03-28  Bruno Haible  <bruno@clisp.org>
96446         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
96447         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
96448         input.
96449         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
96450         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
96451         unistr/u8-uctomb.
96453 2007-03-28  Bruno Haible  <bruno@clisp.org>
96455         * modules/unistr/u8-mbtoucr: New file.
96456         * lib/unistr/u8-mbtoucr.c: New file.
96457         * modules/unistr/u16-mbtoucr: New file.
96458         * lib/unistr/u16-mbtoucr.c: New file.
96459         * modules/unistr/u16-mbtoucr: New file.
96460         * lib/unistr/u16-mbtoucr.c: New file.
96461         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
96463 2007-03-27  Simon Josefsson  <simon@josefsson.org>
96464             Bruno Haible  <bruno@clisp.org>
96466         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
96467         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
96468         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
96470         * m4/stdio_h.m4: Add stubs for vasprintf too.
96472         * modules/stdio: Support vasprintf in sed command.
96474         * modules/vasprintf: Depend on stdio for prototypes.  Remove
96475         vasprintf.h.  Add stdio module indicator.
96477         * lib/stdio_.h: Declare asprintf and vasprintf, based on
96478         vasprintf.h.
96480         * lib/vasprintf.h: File removed.
96482         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
96483         * lib/vasprintf.c: Ditto.
96484         * lib/xvasprintf.c: Ditto.
96485         * tests/test-vasprintf-posix.c: Ditto.
96486         * tests/test-vasprintf.c: Ditto.
96488 2007-03-27  Bruno Haible  <bruno@clisp.org>
96490         Make vasnprintf multithread-safe.
96491         * lib/vasnprintf.c (decimal_point_char): New function.
96492         (VASNPRINTF): Use it.
96493         Suggested by Simon Josefsson.
96495 2007-03-27  Eric Blake  <ebb9@byu.net>
96497         Support sub-second birthtime on cygwin.
96498         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
96499         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
96500         (get_stat_birthtime): Also work with st_birthtim.
96502 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
96504         * lib/stat-time.h (USE_BIRTHTIME): Remove.
96505         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
96506         (get_stat_birthtime_ns): Do not try to use "spare" fields.
96507         (get_stat_birthtime_ns): Simplify compile-time tests.
96508         (get_stat_birthtime): Change the API to look like
96509         get_stat_mtime etc., except return a negative tv_nsec on error.
96510         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
96511         Don't check for "spare" fields.
96512         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
96513         or for struct stat.st_birthtime, as these tests aren't used.
96514         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
96516 2007-03-27  Bruno Haible  <bruno@clisp.org>
96518         * lib/stat-time.h: Include <sys/stat.h>.
96520 2007-03-27  James Youngman  <jay@gnu.org>
96522         * lib/stat-time.h (get_stat_birthtime): New function for
96523           retrieving st_birthtime as provided by UFS2 (hence *BSD).
96524         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
96525           and its variants.
96526         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
96527         * modules/stat-time-test: New file.
96528         * tests/test-stat-time.c: New test, devised by Bruno Haible.
96530 2007-03-26  Bruno Haible  <bruno@clisp.org>
96532         Better support of signalling NaNs.
96533         * lib/atanl.c: Include isnanl.h.
96534         (atanl): Perform test for NaN at the beginning of the function and
96535         through a call to isnanl.
96536         * lib/cosl.c: Include isnanl.h.
96537         (cosl): Perform test for NaN at the beginning of the function and
96538         through a call to isnanl.
96539         * lib/ldexpl.c: Include isnanl.h.
96540         (ldexpl): Perform test for NaN through a call to isnanl.
96541         * lib/logl.c: Include isnanl.h.
96542         (logl): Perform test for NaN at the beginning of the function and
96543         through a call to isnanl.
96544         * lib/sinl.c: Include isnanl.h.
96545         (sinl): Perform test for NaN at the beginning of the function and
96546         through a call to isnanl.
96547         * lib/sqrtl.c: Include isnanl.h.
96548         (sqrtl): Perform test for NaN at the beginning of the function and
96549         through a call to isnanl.
96550         * lib/tanl.c: Include isnanl.h.
96551         (tanl): Perform test for NaN at the beginning of the function and
96552         through a call to isnanl.
96553         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
96554         * modules/mathl (Depends-on): Add isnanl.
96556 2007-03-26  Eric Blake  <ebb9@byu.net>
96558         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
96559         regression in logic sense of previous patch.
96561 2007-03-26  Bruno Haible  <bruno@clisp.org>
96563         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
96564         unportable shell command "if ! ...".
96565         Reported by Ralf Wildenhues.
96567 2007-03-25  Bruno Haible  <bruno@clisp.org>
96569         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
96570         <sysexits.h> file, and only add EX_CONFIG.
96571         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
96572         absolute file name and whether it is sufficient. Substitute also
96573         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
96574         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
96575         ABSOLUTE_SYSEXITS_H into sysexits.h.
96577 2007-03-25  Bruno Haible  <bruno@clisp.org>
96579         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
96580         hints is NULL.
96582 2007-03-25  Bruno Haible  <bruno@clisp.org>
96584         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
96585         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
96587 2007-03-25  Bruno Haible  <bruno@clisp.org>
96589         * lib/vasnprintf.c: Include langinfo.h.
96590         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
96591         multithread-safe.
96592         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
96593         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
96594         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
96595         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
96596         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
96597         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
96598         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
96599         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
96600         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
96601         Reported by Simon Josefsson.
96603 2007-03-25  Bruno Haible  <bruno@clisp.org>
96605         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
96606         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
96607         * modules/vasnprintf (Depends-on): Add stdint.
96609 2007-03-25  Bruno Haible  <bruno@clisp.org>
96611         * modules/fpieee: New file.
96612         * m4/fpieee.m4: New file.
96613         * modules/isnan-nolibm (Depends-on): Add fpieee.
96614         * modules/isnanl-nolibm (Depends-on): Add fpieee.
96615         * modules/isnanl (Depends-on): Add fpieee.
96617 2007-03-25  Bruno Haible  <bruno@clisp.org>
96619         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
96621 2007-03-25  Bruno Haible  <bruno@clisp.org>
96623         Avoid test failures on IRIX 6.5.
96624         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
96625         (main): Use it.
96626         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
96627         macros.
96628         (main): Use them.
96630 2007-03-25  Bruno Haible  <bruno@clisp.org>
96632         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
96633         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
96634         exists but doesn't work.
96635         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
96636         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
96637         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
96638         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
96639         math.h.
96641 2007-03-25  Bruno Haible  <bruno@clisp.org>
96643         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
96644         returns inf. Needed on IRIX 6.5.
96646 2007-03-25  Bruno Haible  <bruno@clisp.org>
96648         * tests/test-frexpl.c: Include isnanl-nolibm.h.
96649         (main): Use isnanl instead of x != x idiom.
96650         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
96652         * tests/test-frexp.c: Include isnan.h.
96653         (main): Use isnan instead of x != x idiom.
96654         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
96656 2007-03-25  Bruno Haible  <bruno@clisp.org>
96658         * tests/test-frexp.c (NaN): New function/macro.
96659         (main): Use it instead of 0.0 / 0.0.
96660         * tests/test-isnan.c (NaN): New function/macro.
96661         (main): Use it instead of 0.0 / 0.0.
96662         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
96663         (test_function): Use it instead of 0.0 / 0.0.
96664         * tests/test-vasprintf-posix.c (NaN): New function/macro.
96665         (test_function): Use it instead of 0.0 / 0.0.
96666         * tests/test-snprintf-posix.h (NaN): New function/macro.
96667         (test_function): Use it instead of 0.0 / 0.0.
96668         * tests/test-sprintf-posix.h (NaN): New function/macro.
96669         (test_function): Use it instead of 0.0 / 0.0.
96670         * tests/test-fprintf-posix.h (NaN): New function/macro.
96671         (test_function): Use it instead of 0.0 / 0.0.
96672         * tests/test-printf-posix.h (NaN): New function/macro.
96673         (test_function): Use it instead of 0.0 / 0.0.
96675         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
96677 2007-03-25  Bruno Haible  <bruno@clisp.org>
96679         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
96681 2007-03-25  Bruno Haible  <bruno@clisp.org>
96683         * lib/regexec.c (merge_state_with_log): Make static.
96685 2007-03-25  Bruno Haible  <bruno@clisp.org>
96687         * lib/trigl.c (kernel_rem_pio2): Make static.
96689 2007-03-25  Bruno Haible  <bruno@clisp.org>
96691         * lib/sincosl.c (sincosl_table): Make static.
96693 2007-03-25  Bruno Haible  <bruno@clisp.org>
96695         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
96696         if the compiler does not support C99.
96698 2007-03-25  Bruno Haible  <bruno@clisp.org>
96700         * modules/time (Makefile.am): Ensure all rule action lines start with a
96701         tab.
96703 2007-03-24  Bruno Haible  <bruno@clisp.org>
96705         * modules/tsearch-tests: New file.
96706         * tests/test-tsearch.sh: New file.
96707         * tests/test-tsearch.c: New file, mostly copied from glibc.
96709         * modules/search-tests: New file.
96710         * tests/test-search.c: New file.
96712         * modules/search: New file.
96713         * lib/search_.h: New file, incorporating lib/tsearch.h.
96714         * m4/search_h.m4: New file.
96715         * lib/tsearch.h: Remove file.
96716         * lib/tsearch.c: Include search.h instead of tsearch.h.
96717         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
96718         HAVE_TSEARCH.
96719         * modules/tsearch (Files): Remove lib/tsearch.h.
96720         (Depends-on): Add search.
96721         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
96722         (Include): Change tsearch.h into search.h.
96724 2007-03-24  Bruno Haible  <bruno@clisp.org>
96726         * modules/fpucw: New file.
96727         * lib/fpucw.h: New file.
96728         * lib/frexp.c: Include fpucw.h.
96729         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
96730         (FUNC): Use them.
96731         * lib/printf-frexp.c: Include fpucw.h.
96732         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
96733         (FUNC): Use them.
96734         * lib/vasnprintf.c: Include fpucw.h.
96735         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
96736         'long double' calculations.
96737         * tests/test-frexpl.c: Include fpucw.h.
96738         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
96739         * tests/test-printf-frexpl.c: Include fpucw.h.
96740         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
96741         * modules/frexpl (Depends-on): Add fpucw.
96742         * modules/printf-frexpl (Depends-on): Likewise.
96743         * modules/fprintf-posix (Depends-on): Likewise.
96744         * modules/snprintf-posix (Depends-on): Likewise.
96745         * modules/sprintf-posix (Depends-on): Likewise.
96746         * modules/vasnprintf-posix (Depends-on): Likewise.
96747         * modules/vasprintf-posix (Depends-on): Likewise.
96748         * modules/vfprintf-posix (Depends-on): Likewise.
96749         * modules/vsnprintf-posix (Depends-on): Likewise.
96750         * modules/vsprintf-posix (Depends-on): Likewise.
96751         * modules/frexpl-tests (Depends-on): Likewise.
96752         * modules/printf-frexpl-tests (Depends-on): Likewise.
96754 2007-03-24  Bruno Haible  <bruno@clisp.org>
96756         * lib/float+.h: New file.
96757         * lib/isnan.c: Include float+.h.
96758         (SIZE): New macro.
96759         (FUNC): Compare only SIZE bytes of the value.
96760         * lib/vasnprintf.c: Include float+.h.
96761         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
96762         SIZEOF_LDBL or SIZEOF_DBL bytes.
96763         * modules/isnan-nolibm (Files): Add lib/float+.h.
96764         * modules/isnanl-nolibm (Files): Add lib/float+.h.
96765         * modules/isnanl (Files): Add lib/float+.h.
96766         * modules/vasnprintf (Files): Add lib/float+.h.
96768 2007-03-24  Bruno Haible  <bruno@clisp.org>
96770         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
96771         include isnanl-nolibm.h.
96773 2007-03-24  Bruno Haible  <bruno@clisp.org>
96775         * tests/test-read-file.c (main): Don't produce spurious output for
96776         expected situations. Make the test fail if it encountered unexpected
96777         results.
96779 2007-03-24  Bruno Haible  <bruno@clisp.org>
96781         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
96782         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
96784 2007-03-24  Bruno Haible  <bruno@clisp.org>
96786         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
96788 2007-03-24  Bruno Haible  <bruno@clisp.org>
96790         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
96791         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
96793         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
96794         * modules/utf8-ucs4: Turn into a symbolic link to module
96795         unistr/u8-mbtouc.
96797         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
96798         utf8-ucs4-unsafe.
96799         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
96800         unistr/u8-mbtouc-unsafe.
96802         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
96803         * modules/utf16-ucs4: Turn into a symbolic link to module
96804         unistr/u16-mbtouc.
96806         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
96807         utf16-ucs4-unsafe.
96808         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
96809         unistr/u16-mbtouc-unsafe.
96811         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
96812         * modules/ucs4-utf8: Turn into a symbolic link to module
96813         unistr/u8-ubtomb.
96815         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
96816         * modules/ucs4-utf16: Turn into a symbolic link to module
96817         unistr/u16-ubtomb.
96819 2007-03-24  Bruno Haible  <bruno@clisp.org>
96821         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
96822         Enable the function only if HAVE_INLINE.
96823         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
96824         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
96825         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
96826         Enable the function only if HAVE_INLINE.
96827         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
96828         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
96829         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
96830         Enable the function only if HAVE_INLINE.
96831         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
96832         Enable the function only if HAVE_INLINE.
96833         * modules/utf8-ucs4: Update.
96834         * modules/utf8-ucs4-unsafe: Update.
96835         * modules/utf16-ucs4: Update.
96836         * modules/utf16-ucs4-unsafe: Update.
96837         * modules/ucs4-utf8: Update.
96838         * modules/ucs4-utf16: Update.
96840 2007-03-24  Bruno Haible  <bruno@clisp.org>
96842         * lib/utf8-ucs4.h: Remove file.
96843         * lib/utf8-ucs4-unsafe.h: Remove file.
96844         * lib/utf16-ucs4.h: Remove file.
96845         * lib/utf16-ucs4-unsafe.h: Remove file.
96846         * lib/ucs4-utf8.h: Remove file.
96847         * lib/ucs4-utf16.h: Remove file.
96848         * lib/unistr.h: Include their previous contents.
96849         * m4/utf-ucs4.m4: Remove file.
96850         * m4/ucs4-utf.m4: Remove file.
96851         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
96852         (Depends-on): Add unistr/base.
96853         (configure.ac): Remove gl_UTF_UCS4.
96854         (Makefile.am): Update.
96855         (Include): Change to unistr.h.
96856         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
96857         (Depends-on): Add unistr/base.
96858         (configure.ac): Remove gl_UTF_UCS4.
96859         (Makefile.am): Update.
96860         (Include): Change to unistr.h.
96861         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
96862         (Depends-on): Add unistr/base.
96863         (configure.ac): Remove gl_UTF_UCS4.
96864         (Makefile.am): Update.
96865         (Include): Change to unistr.h.
96866         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
96867         (Depends-on): Add unistr/base.
96868         (configure.ac): Remove gl_UTF_UCS4.
96869         (Makefile.am): Update.
96870         (Include): Change to unistr.h.
96871         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
96872         (Depends-on): Add unistr/base.
96873         (configure.ac): Remove gl_UCS4_UTF.
96874         (Makefile.am): Update.
96875         (Include): Change to unistr.h.
96876         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
96877         (Depends-on): Add unistr/base.
96878         (configure.ac): Remove gl_UCS4_UTF.
96879         (Makefile.am): Update.
96880         (Include): Change to unistr.h.
96881         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
96882         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
96883         utf8-ucs4-unsafe.h.
96884         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
96885         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
96886         utf16-ucs4-unsafe.h.
96887         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
96888         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
96889         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
96890         * lib/unistr/u8-strchr.c: Likewise.
96891         * lib/unistr/u8-strrchr.c: Likewise.
96892         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
96893         * lib/unistr/u16-strchr.c: Likewise.
96894         * lib/unistr/u16-strrchr.c: Likewise.
96895         * lib/striconveh.c: Update.
96896         * lib/linebreak.c: Update.
96898 2007-03-24  Bruno Haible  <bruno@clisp.org>
96900         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
96901         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
96903 2007-03-22  Bruno Haible  <bruno@clisp.org>
96905         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
96907 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
96909         * MODULES.html.sh (File system functions): New module write-any-file.
96910         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
96911         * m4/write-any-file.m4: New files.
96913 2007-03-23  Eric Blake  <ebb9@byu.net>
96915         * gnulib-tool: Rearrange space-tab sequences, since some editors
96916         like to eat them.
96918 2007-03-23  Eric Blake  <ebb9@byu.net>
96920         * lib/version-etc.c (version_etc_va): Update license wording to
96921         be more concise.  Recommended by Richard Stallman.
96923 2007-03-22  Bruno Haible  <bruno@clisp.org>
96925         * lib/poll.c (MSG_PEEK): New fallback definition.
96927 2007-03-22  Bruno Haible  <bruno@clisp.org>
96929         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
96930         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
96931         (main): Update.
96932         Fixes a compilation error on BeOS.
96934 2007-03-22  Bruno Haible  <bruno@clisp.org>
96936         * modules/frexpl-tests: New file.
96937         * tests/test-frexpl.c: New file.
96939         * modules/frexpl: New file.
96940         * m4/frexpl.m4: New file.
96941         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
96942         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
96943         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
96944         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
96945         (Depends-on): Add frexpl. Remove isnanl-nolibm.
96946         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
96948 2007-03-22  Bruno Haible  <bruno@clisp.org>
96950         * lib/frexpl.c: Share code with lib/frexp.c.
96951         * modules/mathl (Files): Add lib/frexp.c.
96952         (Depends-on): Add isnanl-nolibm.
96954 2007-03-22  Bruno Haible  <bruno@clisp.org>
96956         * modules/printf-frexp (Files): Add m4/frexp.m4.
96957         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
96958         only if the found frexp function actually works.
96960 2007-03-22  Bruno Haible  <bruno@clisp.org>
96962         * lib/frexp.c: Remove older implementation that uses divisions.
96964 2007-03-21  Bruno Haible  <bruno@clisp.org>
96966         * modules/frexp-tests: New file.
96967         * tests/test-frexp.c: New file.
96969         * modules/frexp: New file.
96970         * lib/frexp.c: New file.
96971         * m4/frexp.m4: New file.
96972         * lib/math_.h (frexp): New declaration.
96973         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
96974         REPLACE_FREXP.
96975         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
96977 2007-03-21  Bruno Haible  <bruno@clisp.org>
96979         * modules/isnanl-tests: New file.
96980         * tests/test-isnanl.c: New file.
96982         * modules/isnanl: New file.
96983         * lib/isnanl.h: New file.
96984         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
96985         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
96986         gl_FUNC_ISNANL_WORKS.
96987         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
96988         New macros.
96990 2007-03-21  Bruno Haible  <bruno@clisp.org>
96992         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
96993         lib/isnanl.h.
96994         (Include): Update.
96995         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
96996         * lib/vasnprintf.c: Update.
96997         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
96998         tests/test-isnanl.h, remove tests/test-isnanl.c.
96999         (Makefile.am): Update.
97000         * tests/test-isnanl-nolibm.c: New file.
97001         * tests/test-isnanl.h: New file.
97002         * tests/test-isnanl.c: Remove file.
97004 2007-03-21  Jim Meyering  <jim@meyering.net>
97006         When trying to open ".", treat ESTALE like EACCES.
97007         * lib/savewd.c (savewd_save): Resort to forking not just upon
97008         failure with EACCES, but also when errno is ESTALE.
97010 2007-03-20  Bruno Haible  <bruno@clisp.org>
97012         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
97013         Needed on AIX 5.1. Reported by Matthew Woehlke.
97015 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
97017         Suggestions by Bruno Haible:
97018         * lib/acl-internal.h: Include "gettext.h" rather than rolling
97019         our own.
97020         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
97021         * modules/acl (Depends-on): Add gettext.
97023 2007-03-19  Bruno Haible  <bruno@clisp.org>
97025         * modules/iconvme: Remove file.
97026         * lib/iconvme.h: Remove file.
97027         * lib/iconvme.c: Remove file.
97028         * m4/iconvme.m4: Remove file.
97030 2007-03-19  Bruno Haible  <bruno@clisp.org>
97032         * doc/relocatable-maint.texi: Break long shell script line.
97033         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
97035 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
97037         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
97038         handle file_has_acl.
97039         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
97040         * lib/acl.c: Move header inclusions and related macro defns into
97041         lib/acl-internal.h.
97042         (S_ISLNK): Remove defn, since that's now done for us.
97043         (file_has_acl): Move to lib/file-has-acl.c.
97044         Call acl_trivial if available.  This is the crucial part of the fix.
97045         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
97046         shared within the library.  Rewrite a bit, partly to make it compatible
97047         with the GNU coding style.
97048         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
97049         Remove unnecessary double-quotes.
97050         Don't test for acl_to_text; the build will catch that.
97051         Replace acl_entries if it doesn't exist and it is needed.
97052         Check for -lsec and acl_trivial (as used on Solaris 10).
97053         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
97054         lib/file-has-acl.c.
97055         (Depends-on): Add sys_stat, for S_ISLNK.
97057 2007-03-19  Ben Pfaff  <blp@gnu.org>
97059         * doc/gnulib.texi: Fix typos.
97060         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
97062 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
97064         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
97065         If size is zero here, buf must be zero.
97067 2007-03-19  Simon Josefsson  <simon@josefsson.org>
97069         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
97070         <bruno@clisp.org>.
97072 2007-03-18  Bruno Haible  <bruno@clisp.org>
97074         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
97075         Suggested by Eric Blake.
97077 2007-03-18  Ben Pfaff  <blp@gnu.org>
97079         * doc/relocatable.texi: Recommend using as prefix a directory
97080         that does not exist and will never be created.  Based on
97081         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
97082         and others.
97084 2007-03-17  Bruno Haible  <bruno@clisp.org>
97086         * lib/fchownat.c: Include lchown.h.
97088 2007-03-17  Bruno Haible  <bruno@clisp.org>
97090         Fix endless loop when the given allocated size was > INT_MAX.
97091         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
97092         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
97093         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
97094         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
97095         * lib/sprintf.c (sprintf): Likewise.
97097 2007-03-17  Bruno Haible  <bruno@clisp.org>
97099         * tests/test-argp-2.sh (func_compare): Output a context diff.
97101 2007-03-17  Bruno Haible  <bruno@clisp.org>
97103         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
97104         locale's decimal-point character.
97106 2007-03-17  Bruno Haible  <bruno@clisp.org>
97108         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
97109         before comparing it. Needed because on some platforms (e.g. x86) a
97110         'long double' occupies less bytes than sizeof (long double).
97112 2007-03-17  Bruno Haible  <bruno@clisp.org>
97114         * tests/test-crc.c (main): Make printf statements 64-bit clean.
97115         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
97116         * tests/test-getaddrinfo.c (simple): Likewise.
97117         * tests/test-read-file.c (main): Likewise.
97119 2007-03-17  Bruno Haible  <bruno@clisp.org>
97121         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
97123 2007-03-17  Bruno Haible  <bruno@clisp.org>
97125         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
97126         unused variable.
97128 2007-03-17  Bruno Haible  <bruno@clisp.org>
97130         * tests/test-c-strcasecmp.c: Include c-strcase.h.
97131         * tests/test-c-strncasecmp.c: Likewise.
97133 2007-03-17  Bruno Haible  <bruno@clisp.org>
97135         * modules/stdlib (Depends-on): Add unistd.
97136         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
97137         Needed for MacOS X 10.3.
97139 2007-03-17  Bruno Haible  <bruno@clisp.org>
97141         * lib/unistr/u-strdup.h: Include <stdlib.h>.
97143 2007-03-17  Bruno Haible  <bruno@clisp.org>
97145         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
97147 2007-03-17  Bruno Haible  <bruno@clisp.org>
97149         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
97150         to reflect files copied from gnulib (with or without modifications).
97151         Suggested by Jim Meyering.
97153 2007-03-17  Eric Blake  <ebb9@byu.net>
97155         * NEWS: Document stdlib change from 2007-02-18.
97157 2007-03-17  Jim Meyering  <jim@meyering.net>
97159         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
97160         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
97161         someone uses a name containing shell meta-characters.
97162         Reported by Alfred M. Szmidt.
97164         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
97166 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
97168         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
97169         and copy gettext configuration files only if configure.ac contains
97170         a use of AM_GNU_GETTEXT_VERSION.
97172 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
97174         * build-aux/bootstrap (gnulib_name): New variable.
97175         (gnulib_tool_options): Use it.
97177 2007-03-13  Simon Josefsson  <simon@josefsson.org>
97179         * tests/test-des.c: Use new namespace.
97181 2007-03-15  Bruno Haible  <bruno@clisp.org>
97183         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
97184         Reported by James Youngman <jay@gnu.org>.
97186 2007-03-15  Bruno Haible  <bruno@clisp.org>
97188         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
97189         declared prototype. Needed with cc on OSF/1 5.1.
97191 2007-03-15  Bruno Haible  <bruno@clisp.org>
97193         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
97194         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
97195         (struct gl_list_implementation): Add dispose_fn argument to the
97196         'create_empty', 'create' methods.
97197         (struct gl_list_impl_base): Add field 'dispose_fn'.
97198         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
97199         argument.
97200         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
97201         dispose_fn argument.
97202         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
97203         dispose_fn on the dropped values.
97204         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
97205         dispose_fn argument.
97206         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
97207         dropped values.
97208         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
97209         (gl_tree_remove_node): Call dispose_fn on the dropped value.
97210         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
97211         (gl_tree_remove_node): Call dispose_fn on the dropped value.
97212         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
97213         argument.
97214         (gl_tree_list_free): Call dispose_fn on the dropped values.
97215         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
97216         the dropped values.
97217         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
97218         Add dispose_fn argument.
97219         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
97220         Call dispose_fn on the dropped values.
97221         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
97222         Add dispose_fn argument.
97223         (gl_sublist_create): Initialize the 'dispose_fn' field.
97224         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
97225         * tests/test-array_list.c (main): Update.
97226         * tests/test-carray_list.c (main): Update.
97227         * tests/test-avltree_list.c (main): Update.
97228         * tests/test-rbtree_list.c (main): Update.
97229         * tests/test-avltreehash_list.c (main): Update.
97230         * tests/test-rbtreehash_list.c (main): Update.
97231         * tests/test-linked_list.c (main): Update.
97232         * tests/test-linkedhash_list.c (main): Update.
97233         * tests/test-array_oset.c (main): Update.
97235 2007-03-15  Bruno Haible  <bruno@clisp.org>
97237         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
97238         (gl_oset_create_empty): Add dispose_fn argument.
97239         (struct gl_oset_implementation): Add dispose_fn argument to
97240         'create_empty' method.
97241         (struct gl_oset_impl_base): Add dispose_fn field.
97242         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
97243         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
97244         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
97245         values.
97246         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
97247         (gl_tree_oset_free): Call dispose_fn on the dropped values.
97248         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
97249         dropped value.
97250         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
97251         dropped value.
97252         * tests/test-array_oset.c (main): Update.
97253         * tests/test-avltree_oset.c (main): Update.
97254         * tests/test-rbtree_oset.c (main): Update.
97255         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
97257 2007-03-13  Bruno Haible  <bruno@clisp.org>
97259         * tests/test-stdbool.c (i): Update after last patch.
97261 2007-03-12  Bruno Haible  <bruno@clisp.org>
97263         * lib/quotearg.c: Include <wctype.h> early, before the definition of
97264         the iswprint macro. Needed on Solaris 2.5.1.
97266 2007-03-12  Bruno Haible  <bruno@clisp.org>
97268         * tests/test-printf-frexp.c (main): Declare x as volatile.
97270 2007-03-12  Simon Josefsson  <simon@josefsson.org>
97272         * doc/gnulib.texi (Build robot for gnulib): New section.
97274 2007-03-12  Jim Meyering  <jim@meyering.net>
97276         * build-aux/bootstrap: New file.
97277         * build-aux/bootstrap.conf: New file, from coreutils.
97279 2007-03-11  Bruno Haible  <bruno@clisp.org>
97281         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
97283 2007-03-12  Simon Josefsson  <simon@josefsson.org>
97285         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
97286         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
97287         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
97289 2007-03-11  Bruno Haible  <bruno@clisp.org>
97291         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
97292         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
97294 2007-03-11  Bruno Haible  <bruno@clisp.org>
97296         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
97297         formula. Needed for SunPRO C 5.0.
97299 2007-03-11  Bruno Haible  <bruno@clisp.org>
97301         * modules/long-options (Depends-on): Add getopt.
97303 2007-03-11  Bruno Haible  <bruno@clisp.org>
97305         * modules/modechange (Depends-on): Add stdbool.
97307 2007-03-11  Bruno Haible  <bruno@clisp.org>
97309         * modules/i-ring (Depends-on): Add stdbool.
97311 2007-03-11  Bruno Haible  <bruno@clisp.org>
97313         * modules/gc-des (Depends-on): Add stdbool.
97315 2007-03-11  Bruno Haible  <bruno@clisp.org>
97317         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
97319 2007-03-11  Bruno Haible  <bruno@clisp.org>
97321         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
97323 2007-03-11  Bruno Haible  <bruno@clisp.org>
97325         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
97327 2007-03-11  Bruno Haible  <bruno@clisp.org>
97329         * lib/vasnprintf.c (sprintf): Undefine.
97331 2007-03-11  Bruno Haible  <bruno@clisp.org>
97333         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
97334         initializers in SunPRO C and Compaq C compilers.
97336 2007-03-11  Bruno Haible  <bruno@clisp.org>
97338         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
97339         decrementing code ANSI C compliant.
97341 2007-03-11  Bruno Haible  <bruno@clisp.org>
97343         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
97344         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
97346 2007-03-11  Bruno Haible  <bruno@clisp.org>
97348         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
97349         <stdbool.h> substitute doesn't pass.
97351 2007-03-11  Bruno Haible  <bruno@clisp.org>
97353         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
97355 2007-03-11  Bruno Haible  <bruno@clisp.org>
97357         * gnulib-tool (func_create_megatestdir): Create also an autobuild
97358         script, for submission to autobuild.josefsson.org.
97360 2007-03-10  Bruno Haible  <bruno@clisp.org>
97362         * modules/canonicalize-lgpl-tests: New file.
97363         * tests/test-canonicalize-lgpl.sh: New file.
97364         * tests/test-canonicalize-lgpl.c: New file.
97366         * modules/c-strcase-tests: New file.
97367         * tests/test-c-strcase.sh: New file.
97368         * tests/test-c-strcasecmp.c: New file.
97369         * tests/test-c-strncasecmp.c: New file.
97371         * modules/atexit-tests: New file.
97372         * tests/test-atexit.sh: New file.
97373         * tests/test-atexit.c: New file.
97375 2007-03-10  Bruno Haible  <bruno@clisp.org>
97377         * tests/test-binary-io.sh: Use temporary filenames that are not so
97378         likely to clash with those of other tests (in a parallel make).
97379         * tests/test-binary-io.c: Likewise.
97381 2007-03-10  Bruno Haible  <bruno@clisp.org>
97383         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
97384         fallback; use #error instead.
97385         Suggested by Simon Josefsson.
97387 2007-03-10  Bruno Haible  <bruno@clisp.org>
97389         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
97390         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
97391         first and the last.
97393 2007-03-10  Bruno Haible  <bruno@clisp.org>
97395         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
97397 2007-03-10  Bruno Haible  <bruno@clisp.org>
97399         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
97400         "make distcheck".
97401         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
97402         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
97403         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
97405 2007-03-10  Bruno Haible  <bruno@clisp.org>
97407         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
97408         variable.
97409         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
97410         variable.
97412 2007-03-09  Eric Blake  <ebb9@byu.net>
97413         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
97415         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
97416         types are not being provided by gnulib.
97417         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
97418         types are supported.
97420 2007-03-10  Bruno Haible  <bruno@clisp.org>
97422         * lib/stdio_.h (__attribute__): New macro.
97423         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
97424         vsprintf): Specify __attribute__ __format__ for GCC.
97425         Suggested by Eric Blake.
97427 2007-03-09  Bruno Haible  <bruno@clisp.org>
97429         * modules/printf-posix-tests: New file.
97430         * tests/test-printf-posix.sh: New file.
97431         * tests/test-printf-posix.c: New file.
97433         * modules/printf-posix: New file.
97434         * lib/printf.c: New file.
97435         * m4/printf-posix-rpl.m4: New file.
97436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
97437         REPLACE_PRINTF.
97438         * lib/stdio_.h (printf): New declaration.
97439         (format, __format__, ____printf____, ____scanf____, ____strftime____,
97440         ____strfmon____): New macros.
97441         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
97442         REPLACE_PRINTF.
97444 2007-03-09  Bruno Haible  <bruno@clisp.org>
97446         * tests/test-vasnprintf-posix2.sh: New file.
97447         * tests/test-vasnprintf-posix2.c: New file.
97448         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
97449         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
97450         (Makefile.am): Activate test-vasnprintf-posix2.sh.
97452         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
97453         a locale dependent decimal point, rather than always '.'.
97455 2007-03-09  Eric Blake  <ebb9@byu.net>
97457         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
97458         spite of platforms like Tandem/NSK that define it to -1.
97460 2007-03-08  Bruno Haible  <bruno@clisp.org>
97462         * modules/vprintf-posix-tests: New file.
97463         * tests/test-vprintf-posix.sh: New file.
97464         * tests/test-vprintf-posix.c: New file.
97465         * tests/test-printf-posix.h: New file.
97467         * modules/vprintf-posix: New file.
97468         * lib/vprintf.c: New file.
97469         * m4/vprintf-posix.m4: New file.
97470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
97471         REPLACE_VPRINTF.
97472         * lib/stdio_.h (vprintf): New declaration.
97473         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
97474         REPLACE_VPRINTF.
97476 2007-03-08  Bruno Haible  <bruno@clisp.org>
97478         * modules/fprintf-posix-tests: New file.
97479         * tests/test-fprintf-posix.sh: New file.
97480         * tests/test-fprintf-posix.c: New file.
97482         * modules/fprintf-posix: New file.
97483         * lib/fprintf.c: New file.
97484         * m4/fprintf-posix.m4: New file.
97485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
97486         REPLACE_FPRINTF.
97487         * lib/stdio_.h (fprintf): New declaration.
97488         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
97489         REPLACE_FPRINTF.
97491 2007-03-08  Bruno Haible  <bruno@clisp.org>
97493         * modules/vfprintf-posix-tests: New file.
97494         * tests/test-vfprintf-posix.sh: New file.
97495         * tests/test-vfprintf-posix.c: New file.
97496         * tests/test-fprintf-posix.h: New file.
97497         * tests/test-fprintf-posix.out: New file.
97499         * modules/vfprintf-posix: New file.
97500         * lib/vfprintf.c: New file.
97501         * m4/vfprintf-posix.m4: New file.
97502         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
97503         REPLACE_VFPRINTF.
97504         * lib/stdio_.h (vfprintf): New declaration.
97505         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
97506         REPLACE_VFPRINTF.
97508 2007-03-08  Bruno Haible  <bruno@clisp.org>
97510         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
97512 2007-03-08  Bruno Haible  <bruno@clisp.org>
97514         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
97515         instead of 'expr' invocations.
97516         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
97517         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
97518         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
97519         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
97520         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
97521         Suggested by Paul Eggert.
97523 2007-03-08  Bruno Haible  <bruno@clisp.org>
97525         * modules/fseterr-tests: New file.
97526         * tests/test-fseterr.c: New file.
97528         * modules/fseterr: New file.
97529         * lib/fseterr.h: New file.
97530         * lib/fseterr.c: New file.
97532 2007-03-08  Bruno Haible  <bruno@clisp.org>
97534         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
97535         * lib/getopt_.h: Likewise.
97536         * lib/mbswidth.h: Likewise.
97537         * lib/setenv.h: Likewise.
97538         * lib/vasnprintf.h: Likewise.
97539         * lib/vasprintf.h: Likewise.
97540         * lib/verror.h: Likewise.
97541         * lib/xsetenv.h: Likewise.
97542         * lib/xvasprintf.h: Likewise.
97544 2007-03-08  Jim Meyering  <jim@meyering.net>
97546         * users.txt: Add parted.
97548         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
97550 2007-03-07  Bruno Haible  <bruno@clisp.org>
97552         * m4/printf.m4: Make the shell script snippets copy&pastable.
97554 2007-03-02  Bruno Haible  <bruno@clisp.org>
97556         * lib/netinet_in_.h: New file.
97557         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
97558         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
97559         * modules/netinet_in (Files): Add lib/netinet_in_.h.
97560         (Depends-on): Add absolute-header.
97561         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
97562         into netinet/in.h.
97564 2007-03-03  Bruno Haible  <bruno@clisp.org>
97566         * lib/sys_select_.h: New file.
97567         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
97568         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
97569         * modules/sys_select (Files): Add lib/sys_select_.h.
97570         (Depends-on): Add absolute-header.
97571         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
97572         into sys/select.h.
97574 2007-03-02  Bruno Haible  <bruno@clisp.org>
97576         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
97577         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
97578         values.
97579         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
97580         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
97581         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
97582         * modules/sys_socket (Depends-on): Add absolute-header.
97583         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
97584         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
97585         (Include): Remove requirement of inclusion of <sys/types.h>.
97587 2007-03-02  Bruno Haible  <bruno@clisp.org>
97589         * lib/byteswap_.h (bswap_32): Fix formula.
97591 2007-03-06  Bruno Haible  <bruno@clisp.org>
97593         * modules/sprintf-posix-tests: New file.
97594         * tests/test-sprintf-posix.c: New file.
97596         * modules/sprintf-posix: New file.
97597         * lib/sprintf.c: New file.
97598         * m4/sprintf-posix.m4: New file.
97599         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
97600         REPLACE_SPRINTF.
97601         * lib/stdio_.h (sprintf): New declaration.
97602         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
97603         REPLACE_SPRINTF.
97605 2007-03-06  Bruno Haible  <bruno@clisp.org>
97607         * modules/vsprintf-posix-tests: New file.
97608         * tests/test-vsprintf-posix.c: New file.
97609         * tests/test-sprintf-posix.h: New file.
97611         * modules/vsprintf-posix: New file.
97612         * lib/vsprintf.c: New file.
97613         * m4/vsprintf-posix.m4: New file.
97614         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
97615         REPLACE_VSPRINTF.
97616         * lib/stdio_.h (vsprintf): New declaration.
97617         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
97618         REPLACE_VSPRINTF.
97620 2007-03-06  Bruno Haible  <bruno@clisp.org>
97622         * modules/vsnprintf (Depend-on): Remove minmax.
97624 2007-03-06  Bruno Haible  <bruno@clisp.org>
97626         * modules/snprintf-posix-tests: New file.
97627         * tests/test-snprintf-posix.c: New file.
97629         * modules/snprintf-posix: New file.
97630         * m4/snprintf-posix.m4: New file.
97631         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
97632         gl_FUNC_SNPRINTF.
97633         (gl_FUNC_SNPRINTF): Invoke it.
97634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
97635         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
97636         is set.
97637         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
97639 2007-03-06  Bruno Haible  <bruno@clisp.org>
97641         * modules/vsnprintf-posix-tests: New file.
97642         * tests/test-vsnprintf-posix.c: New file.
97643         * tests/test-snprintf-posix.h: New file.
97645         * modules/vsnprintf-posix: New file.
97646         * m4/vsnprintf-posix.m4: New file.
97647         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
97648         gl_FUNC_VSNPRINTF.
97649         (gl_FUNC_VSNPRINTF): Invoke it.
97650         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
97651         * lib/stdio_.h (vsnprintf): Define as a replacement if
97652         REPLACE_VSNPRINTF is set.
97653         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
97655 2007-03-06  Bruno Haible  <bruno@clisp.org>
97657         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
97658         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
97660 2007-03-06  Bruno Haible  <bruno@clisp.org>
97662         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
97663         (asinl): Declare also if HAVE_DECL_ASINL is set.
97664         (atanl): Declare also if HAVE_DECL_ATANL is set.
97665         (ceill): Declare also if HAVE_DECL_CEILL is set.
97666         (cosl): Declare also if HAVE_DECL_COSL is set.
97667         (expl): Declare also if HAVE_DECL_EXPL is set.
97668         (floorl): Declare also if HAVE_DECL_FLOORL is set.
97669         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
97670         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
97671         (logl): Declare also if HAVE_DECL_LOGL is set.
97672         (sinl): Declare also if HAVE_DECL_SINL is set.
97673         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
97674         (tanl): Declare also if HAVE_DECL_TANL is set.
97675         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
97676         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
97677         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
97678         declaration of frexpl, ldexpl.
97679         * modules/printf-frexpl (Depends-on): Add math.
97680         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
97682 2007-03-05  Bruno Haible  <bruno@clisp.org>
97684         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
97685         frexpl and ldexpl are declared.
97686         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
97688 2007-03-05  Bruno Haible  <bruno@clisp.org>
97690         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
97691         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
97693 2007-03-05  Bruno Haible  <bruno@clisp.org>
97695         * lib/stdio_.h: Include <stddef.h>.
97697 2007-03-05  Bruno Haible  <bruno@clisp.org>
97699         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
97701 2007-03-05  Bruno Haible  <bruno@clisp.org>
97703         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
97704         NetBSD 4, from Ralf Wildenhues.
97706 2007-03-04  Bruno Haible  <bruno@clisp.org>
97708         * lib/vasprintf.h: Update #if logic for the case when the functions
97709         exist but are overridden.
97711 2007-03-04  Bruno Haible  <bruno@clisp.org>
97713         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
97714         implementations: glibc-2.4 and MacOS X 10.3.
97715         * tests/test-vasnprintf-posix.c (test_function): Test also the case
97716         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
97717         * tests/test-vasprintf-posix.c (test_function): Likewise.
97719 2007-03-04  Bruno Haible  <bruno@clisp.org>
97721         * modules/vasprintf-posix-tests: New file.
97722         * tests/test-vasprintf-posix.c: New file.
97724         * modules/vasprintf-posix: New file.
97725         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
97726         defined.
97727         * m4/vasprintf-posix.m4: New file.
97728         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
97729         gl_FUNC_VASPRINTF.
97730         (gl_FUNC_VASPRINTF): Invoke it.
97731         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
97732         here.
97733         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
97735 2007-03-04  Bruno Haible  <bruno@clisp.org>
97737         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
97738         REPLACE_GETTIMEOFDAY.
97739         * modules/sys_time (Makefile.am): Likewise.
97740         * m4/sys_time_h.m4: Likewise.
97741         * m4/gettimeofday.m4: Likewise.
97743 2007-03-04  Bruno Haible  <bruno@clisp.org>
97745         * modules/vasnprintf-posix-tests: New file.
97746         * tests/test-vasnprintf-posix.c: New file.
97748         * modules/vasnprintf-posix: New file.
97749         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
97750         printf-frexpl.h.
97751         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
97752         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
97753         REPLACE_VASNPRINTF is defined.
97754         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
97755         gl_FUNC_VASNPRINTF.
97756         (gl_FUNC_VASNPRINTF): Invoke it.
97757         * m4/vasnprintf-posix.m4: New file.
97758         * m4/printf.m4: New file.
97760 2007-03-04  Bruno Haible  <bruno@clisp.org>
97762         Compile progreloc.c only if --enable-relocatable is specified.
97763         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
97764         if --enable-relocatable was specified.
97765         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
97766         lib_SOURCES.
97768 2007-03-04  Jim Meyering  <jim@meyering.net>
97770         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
97771         Use it consistently, rather than enumerating errno constants.
97773 2007-03-04  Bruno Haible  <bruno@clisp.org>
97775         * modules/xvasprintf-tests: New file.
97776         * tests/test-xvasprintf.c: New file.
97778         * modules/vasprintf-tests: New file.
97779         * tests/test-vasprintf.c: New file.
97781         * modules/vasnprintf-tests: New file.
97782         * tests/test-vasnprintf.c: New file.
97784         * modules/vsnprintf-tests: New file.
97785         * tests/test-vsnprintf.c: New file.
97787         * modules/snprintf-tests: New file.
97788         * tests/test-snprintf.c: New file.
97790 2007-03-04  Bruno Haible  <bruno@clisp.org>
97792         Compile relocatable.c only if --enable-relocatable is specified.
97793         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
97794         gl_RELOCATABLE_LIBRARY.
97795         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
97796         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
97797         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
97798         gl_RELOCATABLE_LIBRARY.
97799         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
97800         (Makefile.am): Remove lib_SOURCES.
97801         * modules/relocatable-lib-lgpl (configure.ac): Invoke
97802         gl_RELOCATABLE_LIBRARY.
97803         (Makefile.am): Remove lib_SOURCES.
97804         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
97805         always.
97806         * modules/relocatable-prog-wrapper (configure.ac): Invoke
97807         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
97809 2007-03-04  Bruno Haible  <bruno@clisp.org>
97811         * modules/argmatch-tests: New file.
97812         * tests/test-argmatch.c: New file.
97814         * tests/test-allocsa.c (main): Halve the number of loop runs.
97816         * modules/alloca-opt-tests: New file.
97817         * tests/test-alloca-opt.c: New file.
97819 2007-03-04  Jim Meyering  <jim@meyering.net>
97821         Work around difference between Linux ACLs and Solaris 10 ZFS.
97822         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
97823         for EINVAL.
97825 2007-03-03  Bruno Haible  <bruno@clisp.org>
97827         * modules/relocatable-prog (Depends-on): Add back progreloc's
97828         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
97830 2007-03-03  Bruno Haible  <bruno@clisp.org>
97832         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
97833         * modules/relocatable-lib: New file.
97835 2007-03-03  Bruno Haible  <bruno@clisp.org>
97837         * modules/relocatable-prog: Renamed from modules/relocatable.
97838         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
97840 2007-03-03  Bruno Haible  <bruno@clisp.org>
97842         * modules/relocatable-script (Files): Add doc/relocatable.texi,
97843         m4/relocatable-lib.m4.
97844         (Depends-on): Remove 'relocatable'.
97845         (configure.ac): Add gl_RELOCATABLE_NOP.
97847 2007-03-03  Bruno Haible  <bruno@clisp.org>
97849         * modules/relocatable-prog-wrapper: New file.
97850         * modules/relocatable (Depends-on): Add it. Remove all other
97851         dependencies except progname.
97852         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
97854         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
97855         (gl_FUNC_STRERROR): Nop.
97856         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
97858         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
97859         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
97861         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
97862         (gl_FUNC_READLINK): Update.
97864         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
97866 2007-03-03  Bruno Haible  <bruno@clisp.org>
97868         * lib/xreadlink.c: Include <unistd.h> unconditionally.
97869         * modules/xreadlink (Depends-on): Add unistd.
97870         * modules/xreadlink-with-size (Depends-on): Likewise.
97872 2007-03-03  Bruno Haible  <bruno@clisp.org>
97874         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
97875         extracted from gt_FUNC_SETENV.
97876         (gt_FUNC_SETENV): Remove macro.
97877         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
97878         remove gt_FUNC_SETENV.
97880 2007-03-03  Bruno Haible  <bruno@clisp.org>
97882         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
97883         ENABLE_RELOCATABLE here.
97884         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
97886 2007-03-03  Bruno Haible  <bruno@clisp.org>
97888         * modules/rbtreehash-list-tests (Depends-on): Add progname.
97889         * tests/test-rbtreehash_list.c: Include progname.h.
97890         (main): Call set_program_name.
97892         * modules/rbtree-oset-tests (Depends-on): Add progname.
97893         * tests/test-rbtree_oset.c: Include progname.h.
97894         (main): Call set_program_name.
97896         * modules/rbtree-list-tests (Depends-on): Add progname.
97897         * tests/test-rbtree_list.c: Include progname.h.
97898         (main): Call set_program_name.
97900         * modules/linked-list-tests (Depends-on): Add progname.
97901         * tests/test-linked_list.c: Include progname.h.
97902         (main): Call set_program_name.
97904 2007-03-03  Bruno Haible  <bruno@clisp.org>
97906         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
97907         All uses of __restrict changed to _Restrict_.
97908         * lib/glob_.h (__restrict): Remove macro.
97910 2007-03-02  Bruno Haible  <bruno@clisp.org>
97912         * modules/gettext (configure.ac): Require gettext infrastructure
97913         from version 0.16.1.
97915 2007-03-02  Bruno Haible  <bruno@clisp.org>
97917         * modules/linkedhash-list-tests (Depends-on): Add progname.
97918         * tests/test-linkedhash_list.c: Include progname.h.
97919         (main): Call set_program_name.
97921         * modules/carray-list-tests (Depends-on): Add progname.
97922         * tests/test-carray_list.c: Include progname.h.
97923         (main): Call set_program_name.
97925         * modules/avltreehash-list-tests (Depends-on): Add progname.
97926         * tests/test-avltreehash_list.c: Include progname.h.
97927         (main): Call set_program_name.
97929         * modules/avltree-oset-tests (Depends-on): Add progname.
97930         * tests/test-avltree_oset.c: Include progname.h.
97931         (main): Call set_program_name.
97933         * modules/avltree-list-tests (Depends-on): Add progname.
97934         * tests/test-avltree_list.c: Include progname.h.
97935         (main): Call set_program_name.
97937         * modules/array-oset-tests (Depends-on): Add progname.
97938         * tests/test-array_oset.c: Include progname.h.
97939         (main): Call set_program_name.
97941         * modules/array-list-tests (Depends-on): Add progname.
97942         * tests/test-array_list.c: Include progname.h.
97943         (main): Call set_program_name.
97945         * modules/argp-tests (Depends-on): Add progname.
97946         * tests/test-argp.c: Include argp.h first. Include progname.h.
97947         (main): Call set_program_name.
97949 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
97951         * doc/gnulib-tool.texi (Initial import): Reword description of
97952         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
97953         limited effect even if defined after the first system include.
97955 2007-03-01  Bruno Haible  <bruno@clisp.org>
97957         * build-aux/config.libpath: Update to libtool-1.5.22.
97958         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
97960 2007-03-01  Bruno Haible  <bruno@clisp.org>
97962         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
97963         foo_CFLAGS.
97964         Reported by Ralf Wildenhues.
97966 2007-03-01  Bruno Haible  <bruno@clisp.org>
97968         * build-aux/install-reloc: Remove object files left over by some
97969         compilers.
97970         Reported by Ralf Wildenhues.
97972 2007-03-01  Bruno Haible  <bruno@clisp.org>
97974         * build-aux/install-reloc: Break long lines.
97976 2007-03-01  Bruno Haible  <bruno@clisp.org>
97978         * doc/relocatable.texi: Document that it may not work on OpenBSD.
97979         Reported by Ralf Wildenhues.
97981 2007-03-01  Bruno Haible  <bruno@clisp.org>
97983         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
97984         include ordering constraints.
97986 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
97988         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
97989         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
97990         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
97991         as another example.
97992         * lib/time_.h: Fix misspelling.
97993         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
97994         Require gl_HEADER_TIME_H_DEFAULTS.
97995         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
97996         * m4/time_r.m4 (gl_TIME_R): Likewise.
97997         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
97999 2007-03-01  Bruno Haible  <bruno@clisp.org>
98001         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
98002         * m4/utimens.m4 (gl_UTIMENS): Likewise.
98004 2007-03-01  Jim Meyering  <jim@meyering.net>
98006         * modules/xreadlink (Maintainer): Add my name.
98007         * modules/xreadlink-with-size (Depends-on): Alphabetize.
98009 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
98010             Bruno Haible  <bruno@clisp.org>
98012         * build-aux/install-reloc: Compile also c-ctype.c.
98013         * build-aux/relocatable.sh.in: New file.
98014         * doc/relocatable.texi: New file.
98015         * doc/relocatable-maint.texi: New file.
98016         * doc/gnulib.texi: Include relocatable-maint.texi.
98017         * lib/progreloc.c: Include unistd.h unconditionally.
98018         * lib/relocwrapper.c: Include unistd.h unconditionally.
98019         Include c-ctype.h.
98020         (add_dotbin): Use c_tolower.
98021         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
98022         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
98023         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
98024         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
98025         to m4/relocatable-lib.m4.
98026         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
98027         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
98028         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
98029         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
98030         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
98031         * modules/relocatable: New file.
98032         * modules/relocatable-lib: New file.
98033         * modules/relocatable-script: New file.
98035 2007-02-28  Bruno Haible  <bruno@clisp.org>
98037         Import --enable-relocatable infrastructure.
98038         * build-aux/config.libpath: New file, from GNU gettext.
98039         * build-aux/install-reloc: New file, from GNU gettext.
98040         * build-aux/reloc-ldflags: New file, from GNU gettext.
98041         * lib/relocatable.h: New file, from GNU gettext.
98042         * lib/relocatable.c: New file, from GNU gettext.
98043         * lib/relocwrapper.c: New file, from GNU gettext.
98044         * m4/relocatable.m4: New file, from GNU gettext.
98046 2007-02-28  Bruno Haible  <bruno@clisp.org>
98048         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
98050         * modules/xreadlink: New file, from GNU gettext with modifications.
98051         * lib/xreadlink.c: New file, from GNU gettext.
98052         * lib/xreadlink.h: Add comments.
98053         (xreadlink): New declaration.
98055         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
98056         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
98057         lib/xreadlink-with-size.c.
98058         (configure.ac): Remove gl_XREADLINK invocation.
98059         (Makefile.am): Augment lib_SOURCES.
98060         * m4/xreadlink.m4: Remove file.
98061         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
98062         (xreadlink_with_size): Renamed from xreadink.
98063         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
98064         * modules/canonicalize (Depends-on): Replace xreadlink with
98065         xreadlink-with-size.
98066         * lib/canonicalize.c (canonicalize_filename_mode): Update.
98068 2007-02-25  Jim Meyering  <jim@meyering.net>
98070         * build-aux/announce-gen: When complaining about excess arguments,
98071         list them.
98073 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
98075         * README: Document signed integer overflow situation more
98076         accurately.
98078 2007-02-25  Bruno Haible  <bruno@clisp.org>
98080         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
98081         'a' or 'A' conversion.
98083 2007-02-25  Bruno Haible  <bruno@clisp.org>
98085         * modules/filename: Renamed from modules/pathname.
98086         (Files): Replace lib/pathname.h with lib/filename.h. Replace
98087         lib/concatpath.c with lib/concat-filename.c.
98088         (Makefile.am): Update.
98089         (Include): Replace pathname.h with filename.h.
98090         * lib/filename.h: Renamed from lib/pathname.h.
98091         (concatenated_filename): Renamed from concatenated_pathname.
98092         * lib/concat-filename.c: Renamed from lib/concatpath.c.
98093         (concatenated_filename): Renamed from concatenated_pathname.
98094         * lib/findprog.c: Include filename.h instead of pathname.h.
98095         (find_in_path): Update.
98096         * lib/javacomp.c: Include filename.h instead of pathname.h.
98097         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
98098         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
98099         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
98100         is_oldgcj_14_13_usable, is_javac_usable): Update.
98101         * lib/javaexec.c: Include filename.h instead of pathname.h.
98102         (execute_java_class): Update.
98103         * modules/findprog: Update.
98104         * modules/javacomp: Update.
98105         * modules/javaexec: Update.
98106         * MODULES.html.sh (File system functions): Add 'filename', remove
98107         'pathname'.
98109 2007-02-25  Bruno Haible  <bruno@clisp.org>
98111         * modules/printf-frexpl-tests: New file.
98112         * tests/test-printf-frexpl.c: New file.
98114         * modules/printf-frexpl: New file.
98115         * lib/printf-frexpl.h: New file.
98116         * lib/printf-frexpl.c: New file.
98117         * m4/printf-frexpl.m4: New file.
98119 2007-02-25  Bruno Haible  <bruno@clisp.org>
98121         * modules/printf-frexp-tests: New file.
98122         * tests/test-printf-frexp.c: New file.
98124         * modules/printf-frexp: New file.
98125         * lib/printf-frexp.h: New file.
98126         * lib/printf-frexp.c: New file.
98127         * m4/printf-frexp.m4: New file.
98129 2007-02-25  Bruno Haible  <bruno@clisp.org>
98131         Assume automake >= 1.10 for the tests.
98132         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
98133         * modules/arctwo-tests: Likewise.
98134         * modules/argp-tests: Likewise.
98135         * modules/avltree-list-tests: Likewise.
98136         * modules/avltree-oset-tests: Likewise.
98137         * modules/avltreehash-list-tests: Likewise.
98138         * modules/carray-list-tests: Likewise.
98139         * modules/crc-tests: Likewise.
98140         * modules/des-tests: Likewise.
98141         * modules/gc-arcfour-tests: Likewise.
98142         * modules/gc-arctwo-tests: Likewise.
98143         * modules/gc-des-tests: Likewise.
98144         * modules/gc-hmac-md5-tests: Likewise.
98145         * modules/gc-hmac-sha1-tests: Likewise.
98146         * modules/gc-md2-tests: Likewise.
98147         * modules/gc-md4-tests: Likewise.
98148         * modules/gc-md5-tests: Likewise.
98149         * modules/gc-pbkdf2-sha1-tests: Likewise.
98150         * modules/gc-rijndael-tests: Likewise.
98151         * modules/gc-sha1-tests: Likewise.
98152         * modules/gc-tests: Likewise.
98153         * modules/getaddrinfo-tests: Likewise.
98154         * modules/hmac-md5-tests: Likewise.
98155         * modules/hmac-sha1-tests: Likewise.
98156         * modules/linked-list-tests: Likewise.
98157         * modules/linkedhash-list-tests: Likewise.
98158         * modules/lock-tests: Likewise.
98159         * modules/md2-tests: Likewise.
98160         * modules/md4-tests: Likewise.
98161         * modules/md5-tests: Likewise.
98162         * modules/rbtree-list-tests: Likewise.
98163         * modules/rbtree-oset-tests: Likewise.
98164         * modules/rbtreehash-list-tests: Likewise.
98165         * modules/read-file-tests: Likewise.
98166         * modules/rijndael-tests: Likewise.
98167         * modules/stdint-tests: Likewise.
98168         * modules/tls-tests: Likewise.
98170 2007-02-24  Bruno Haible  <bruno@clisp.org>
98172         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
98173         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
98174         function; instead check whether isnan with a double argument links.
98175         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
98176         function; instead check whether isnan with a 'long double' argument
98177         links.
98178         Reported by Eric Blake <ebb9@byu.net>.
98180 2007-02-24  Bruno Haible  <bruno@clisp.org>
98182         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
98183         defined.
98184         * lib/isnanl.c: Remove all code. Just include isnan.c.
98185         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
98187 2007-02-25  Jim Meyering  <jim@meyering.net>
98189         Avoid conflicting types for 'unsetenv' on FreeBSD.
98190         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
98191         conflicting with FreeBSD's (5.0 and 6.1) function declaration
98192         in stdlib.h.
98194 2007-02-24  Bruno Haible  <bruno@clisp.org>
98196         * modules/isnanl-nolibm-tests: New file.
98197         * tests/test-isnanl.c: New file.
98199         * modules/isnanl-nolibm: New file.
98200         * lib/isnanl.h: New file.
98201         * lib/isnanl.c: New file.
98202         * m4/isnanl.m4: New file.
98204 2007-02-24  Bruno Haible  <bruno@clisp.org>
98206         * modules/isnan-nolibm-tests: New file.
98207         * tests/test-isnan.c: New file.
98209         * modules/isnan-nolibm: New file.
98210         * lib/isnan.h: New file.
98211         * lib/isnan.c: New file.
98212         * m4/isnan.m4: New file.
98214 2007-02-24  Bruno Haible  <bruno@clisp.org>
98216         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
98217         assume that an exponent fits in 20 bits.
98219 2007-02-24  Jim Meyering  <jim@meyering.net>
98221         * m4/regex.m4: Update the description of the configure-time option,
98222         --without-included-regex, to state accurately what the defaults are,
98223         and perhaps to give people an idea why using this option is risky.
98225 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
98227         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
98228         loops on small arguments.  This attempts to avoid the problem
98229         Bruno Haible reported for AIX 4.3.2 in
98230         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
98232 2007-02-23  Bruno Haible  <bruno@clisp.org>
98234         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
98235         Needed for help2man.
98237 2007-02-23  Karl Berry  <karl@gnu.org>
98239         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
98240         exists, foo.h should be cvs-ignored, not committed.
98242 2007-02-23  Eric Blake  <ebb9@byu.net>
98244         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
98245         * lib/stat-time.h (includes): Likewise.
98246         * lib/utimecmp.c (includes): Likewise.
98247         * lib/utimens.h (includes): Likewise.
98248         * lib/getdate.y (includes): Also include "timespec.h" for use
98249         internal to the module.
98250         * modules/utimens (Depends-on): Revert yesterday's patch.
98251         * modules/nanosleep (Depends-on): Add missing dependency.
98253 2007-02-22  Bruno Haible  <bruno@clisp.org>
98255         * lib/glob.c: Don't include getlogin_r.h.
98257 2007-02-22  Jim Meyering  <jim@meyering.net>
98259         * modules/utimens (Depends-on): Add timespec, required for
98260         utimens.h's inclusion of timespec.h.
98262 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
98264         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
98265         long unreadable paths in GNU/Linux.  Problem reported by Andreas
98266         Schwab in
98267         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
98268         I'll try to think of a better way to fix the Solaris problem.
98270         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
98271         like glibc; on Solaris 10, it fails with errno == EINVAL.
98272         POSIX says the behavior is unspecified if the first argument is NULL,
98273         so play it safe and never pass NULL to the system getcwd.
98275 2007-02-21  Jim Meyering  <jim@meyering.net>
98277         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
98278         of gettimeofday.  It would conflict with the one now always
98279         provided via sys_time_.h.  Reported by Matthew Woehlke, as
98280         an IRIX 6.5 build failure.
98282 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
98284         Minor fixups to port to Solaris 10 with Sun C 5.8.
98285         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
98286         * modules/getcwd (Depends-on): Add dirfd.
98287         * lib/putenv.c (putenv): #undef it.
98288         (rpl_putenv): New decl.
98289         (malloc, free): Include <stdlib.h> rather than prototyping separately.
98291 2007-02-20  Bruno Haible  <bruno@clisp.org>
98293         * modules/stdio-tests: New file.
98294         * tests/test-stdio.c: New file.
98296         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
98297         (Depends-on): Add stdio.
98298         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
98299         (Include): Use <stdio.h> instead of vsnprintf.h.
98300         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
98301         HAVE_DECL_VSNPRINTF.
98302         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
98304         * modules/snprintf (Files): Remove lib/snprintf.h.
98305         (Depends-on): Add stdio.
98306         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
98307         (Include): Use <stdio.h> instead of snprintf.h.
98308         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
98309         HAVE_DECL_SNPRINTF.
98310         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
98311         * lib/getaddrinfo.c: Likewise.
98313         * modules/stdio: New file.
98314         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
98315         * lib/snprintf.h: Remove file.
98316         * lib/vsnprintf.h: Remove file.
98317         * lib/.cppi-disable: Remove snprintf.h.
98318         * m4/stdio_h.m4: New file.
98319         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
98321 2007-02-20  Jim Meyering  <jim@meyering.net>
98323         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
98324         used by e.g., mingw.  From Bruno Haible.
98326 2007-02-19  Bruno Haible  <bruno@clisp.org>
98328         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
98329         warnings.
98330         Reported by Ben Pfaff <blp@cs.stanford.edu>.
98332 2007-02-19  Bruno Haible  <bruno@clisp.org>
98334         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
98335         from mingw users.
98337 2007-02-19  Bruno Haible  <bruno@clisp.org>
98339         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
98340         warnings.
98341         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
98343 2007-02-19  Jim Meyering  <jim@meyering.net>
98345         Don't use FD after a successful "fdopendir (fd)".
98346         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
98347         Reset it by calling dirfd on the just-obtained DIR*.
98349         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
98350         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
98352 2007-02-18  Bruno Haible  <bruno@clisp.org>
98354         * lib/readlink.c: Include <unistd.h>.
98355         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
98356         HAVE_READLINK.
98357         * modules/readlink (Depends-on): Add unistd.
98358         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98359         (Include): Add <unistd.h>.
98361         * lib/getlogin_r.h: Remove file.
98362         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
98363         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
98364         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
98365         HAVE_DECL_GETLOGIN_R.
98366         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
98367         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98368         (Include): Use <unistd.h> instead of getlogin_r.h.
98370         * lib/getcwd.h: Remove file.
98371         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
98372         * lib/xgetcwd.c: Likewise.
98373         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
98374         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
98375         * modules/getcwd (Files): Remove lib/getcwd.h.
98376         (Depends-on): Add unistd.
98377         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98378         (Include): Use <unistd.h> instad of getcwd.h.
98380         * lib/ftruncate.c: Include <unistd.h> first.
98381         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
98382         Set HAVE_FTRUNCATE.
98383         * modules/ftruncate (Depends-on): Add unistd.
98384         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98386         * lib/fchdir.c: Include <unistd.h> first.
98387         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
98388         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
98389         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
98390         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98391         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
98393         * lib/dup2.c: Include <unistd.h> first.
98394         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
98395         HAVE_DUP2.
98396         * modules/dup2 (Depends-on): Add unistd.
98397         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98399         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
98400         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
98401         REPLACE_CHOWN. Don't define chown as a macro here.
98402         * modules/chown (Depends-on): Add unistd.
98403         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98405         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
98406         Add definition for GL_LINK_WARNING.
98407         (chown, dup2): New declarations.
98408         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
98409         link warning.
98410         (ftruncate): New declaration.
98411         (getcwd): New declaration, taken from old getcwd.h.
98412         (getlogin_r): New declaration, taken from old getlogin_r.h.
98413         (readlink): New declaration.
98414         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
98415         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
98416         (gl_PREREQ_UNISTD): Remove macro.
98417         (gl_UNISTD_MODULE_INDICATOR): New macro.
98418         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
98419         many new variables. Don't set UNISTD_H.
98420         * modules/unistd (Description): Change.
98421         (Depends-on): Add link-warning.
98422         (configure.ac): Update.
98423         (Makefile.am): Create unistd.h always. Substitute many new variables
98424         into it.
98426 2007-02-18  Bruno Haible  <bruno@clisp.org>
98428         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
98429         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
98430         HAVE_GETSUBOPT.
98431         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
98432         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
98433         * lib/getsubopt.h: Remove file.
98434         * modules/getsubopt (Files): Remove lib/getsubopt.h.
98435         (Depends-on): Add stdlib.
98436         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
98437         (Includes): Use <stdlib.h> instead of getsubopt.h.
98438         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
98439         Set HAVE_GETSUBOPT.
98440         * lib/getsubopt.c: Don't include getsubopt.h.
98442 2007-02-18  Bruno Haible  <bruno@clisp.org>
98444         * modules/fchdir (Depends-on): Add dup2.
98446 2007-02-18  Bruno Haible  <bruno@clisp.org>
98448         * lib/stdlib_.h: Handle glibc's special invocation convention
98449         specially.
98451 2007-02-18  Bruno Haible  <bruno@clisp.org>
98453         * modules/stdlib-tests: New file.
98454         * tests/test-stdlib.c: New file.
98456         * modules/mkstemp (Files): Remove lib/mkstemp.h.
98457         (Depends-on): Add stdlib.
98458         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
98459         (Includes): Use <stdlib.h> instead of mkstemp.h.
98460         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
98461         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
98462         * lib/mkstemp.c: Don't include mkstemp.h.
98463         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
98464         * lib/stdlib--.h: Don't include mkstemp.h.
98466         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
98467         (Depends-on): Add stdlib.
98468         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
98469         (Includes): Use <stdlib.h> instead of mkdtemp.h.
98470         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
98471         HAVE_MKDTEMP.
98472         * lib/mkdtemp.c: Don't include mkdtemp.h.
98473         * lib/clean-temp.c: Don't include mkdtemp.h.
98475         * modules/exit (Files): Remove lib/exit.h.
98476         (Depends-on): Add stdlib.
98477         (Makefile.am): Remove lib_SOURCES.
98478         (Include): Use <stdlib.h> instead of exit.h.
98479         * lib/argmatch.c: Don't include exit.h.
98480         * lib/execute.c: Likewise.
98481         * lib/pagealign_alloc.c: Likewise.
98482         * lib/pipe.c: Likewise.
98483         * lib/wait-process.c: Likewise.
98484         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
98485         * lib/exitfail.c: Likewise.
98486         * lib/savewd.c: Likewise.
98487         * lib/xsetenv.c: Likewise.
98489         * modules/stdlib: New file.
98490         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
98491         and extra comments about mkstemp().
98492         * lib/exit.h: Remove file.
98493         * lib/mkdtemp.h: Remove file.
98494         * lib/mkstemp.h: Remove file.
98495         * m4/stdlib_h.m4: New file.
98496         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
98498 2007-02-18  Bruno Haible  <bruno@clisp.org>
98500         * modules/math-tests: New file.
98501         * tests/test-math.c: New file.
98503         * modules/math: New file.
98504         * modules/mathl (Files): Remove lib/mathl.h.
98505         (Depends-on): Add math.
98506         (Makefile.am): Don't mention mathl.h.
98507         (Include): Use <math.h> instead of mathl.h.
98508         * lib/math_.h: New file.
98509         * lib/mathl.h: Remove file.
98510         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
98511         mathl.h.
98512         * lib/asinl.c: Likewise.
98513         * lib/atanl.c: Likewise.
98514         * lib/ceill.c: Likewise.
98515         * lib/cosl.c: Likewise.
98516         * lib/expl.c: Likewise.
98517         * lib/floorl.c: Likewise.
98518         * lib/frexpl.c: Likewise.
98519         * lib/ldexpl.c: Likewise.
98520         * lib/logl.c: Likewise.
98521         * lib/sincosl.c: Likewise.
98522         * lib/sinl.c: Likewise.
98523         * lib/sqrtl.c: Likewise.
98524         * lib/tanl.c: Likewise.
98525         * lib/trigl.c: Likewise.
98526         * m4/math_h.m4: New file.
98527         * MODULES.html.sh (Mathematics): Add math.
98529 2007-02-17  Bruno Haible  <bruno@clisp.org>
98531         * modules/wctype-tests: New file.
98532         * tests/test-wctype.c: New file.
98534         * modules/wchar-tests: New file.
98535         * tests/test-wchar.c: New file.
98537         * modules/unistd-tests: New file.
98538         * tests/test-unistd.c: New file.
98540         * modules/time-tests: New file.
98541         * tests/test-time.c: New file.
98543         * modules/sysexits-tests: New file.
98544         * tests/test-sysexits.c: New file.
98546         * modules/sys_time-tests: New file.
98547         * tests/test-sys_time.c: New file.
98549         * modules/sys_stat-tests: New file.
98550         * tests/test-sys_stat.c: New file.
98552         * modules/sys_socket-tests: New file.
98553         * tests/test-sys_socket.c: New file.
98555         * modules/sys_select-tests: New file.
98556         * tests/test-sys_select.c: New file.
98558         * modules/string-tests: New file.
98559         * tests/test-string.c: New file.
98561         * modules/stdbool-tests: New file.
98562         * tests/test-stdbool.c: New file.
98564         * modules/netinet_in-tests: New file.
98565         * tests/test-netinet_in.c: New file.
98567         * modules/inttypes-tests: New file.
98568         * tests/test-inttypes.c: New file.
98570         * modules/fcntl-tests: New file.
98571         * tests/test-fcntl.c: New file.
98573         * modules/byteswap-tests: New file.
98574         * tests/test-byteswap.c: New file.
98576         * modules/arpa_inet-tests: New file.
98577         * tests/test-arpa_inet.c: New file.
98579 2007-02-17  Bruno Haible  <bruno@clisp.org>
98581         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
98582         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
98583         if the corresponding module is not enabled. Emit link warnings if
98584         the function is used nevertheless.
98585         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
98586         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
98587         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
98588         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
98589         * modules/inttypes (Depends-on): Add link-warning.
98590         (Makefile.am): Copy the contents of build-aux/link-warning.h into
98591         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
98592         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
98593         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
98594         * modules/imaxdiv (configure.ac): Likewise.
98595         * modules/strtoimax (configure.ac): Likewise.
98596         * modules/strtoumax (configure.ac): Likewise.
98598 2007-02-17  Bruno Haible  <bruno@clisp.org>
98600         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
98601         gl_STRING_MODULE_INDICATOR_DEFAULTS.
98602         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
98603         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
98605 2007-02-17  Bruno Haible  <bruno@clisp.org>
98607         * modules/link-warning: New file.
98608         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
98609         * lib/string_.h (GL_LINK_WARNING): Remove definition.
98610         * modules/string (Depends-on): Add link-warning.
98611         (Makefile.am): Copy the contents of build-aux/link-warning.h into
98612         string.h.
98613         * MODULES.html.sh (Support for building libraries and executables): Add
98614         link-warning.
98616 2007-02-17  Bruno Haible  <bruno@clisp.org>
98618         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
98619         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
98620         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
98621         long lines.
98623 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
98624             Bruno Haible  <bruno@clisp.org>
98626         * modules/tmpfile: New file.
98627         * lib/tmpfile.c: New file.
98628         * m4/tmpfile.m4: New file.
98629         * MODULES.html.sh (func_all_modules): New section "Input/output".
98631 2007-02-15  Bruno Haible  <bruno@clisp.org>
98633         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
98634         (supports_delete_on_close): New function.
98635         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
98637 2007-02-14  Bruno Haible  <bruno@clisp.org>
98639         * modules/mbspcasecmp-tests: New file.
98640         * tests/test-mbspcasecmp.sh: New file.
98641         * tests/test-mbspcasecmp.c: New file.
98643         New module mbspcasecmp.
98644         * modules/mbspcasecmp: New file.
98645         * lib/mbspcasecmp.c: New file.
98646         * lib/string_.h (strncasecmp): Change warning message.
98647         (mbspcasecmp): New declaration.
98648         * m4/mbspcasecmp.m4: New file.
98649         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
98650         GNULIB_MBSPCASECMP.
98651         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
98652         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
98654 2007-02-14  Bruno Haible  <bruno@clisp.org>
98656         * modules/mbsncasecmp-tests: New file.
98657         * tests/test-mbsncasecmp.sh: New file.
98658         * tests/test-mbsncasecmp.c: New file.
98660         New module mbsncasecmp.
98661         * modules/mbsncasecmp: New file.
98662         * lib/mbsncasecmp.c: New file.
98663         * lib/string_.h (mbsncasecmp): New declaration.
98664         * m4/mbsncasecmp.m4: New file.
98665         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
98666         GNULIB_MBSNCASECMP.
98667         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
98668         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
98670 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
98672         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
98673         Verify that it doesn't overlap with our flags.
98674         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
98675         do not have the desired effect in multibyte locales; instead, use
98676         mbscasecmp.
98677         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
98678         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
98679         we don't require GNU fnmatch ourselves (if our users require it, they
98680         should do so explicitly).
98682         Fix regex code so it doesn't rely on strcasecmp.
98683         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
98684         Otherwise, include gnulib's langinfo.h.
98685         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
98686         undesirable behavior in non-C locales.  Instead, rely on localecharset.
98687         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
98688         * modules/regex (FILES): Remove m4/codeset.m4.
98689         (Depends-on): Add localcharset.  Remove strcase.
98691 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98693         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
98694         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
98696 2007-02-13  Bruno Haible  <bruno@clisp.org>
98698         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
98699         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
98701 2007-02-12  Bruno Haible  <bruno@clisp.org>
98703         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
98704         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
98705         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
98706         time warning rather than a link error.
98708 2007-02-12  Bruno Haible  <bruno@clisp.org>
98710         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
98711         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
98712         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
98714 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
98716         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
98717         args, not 2.
98719 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
98721         New module 'time', so that apps can include <time.h> as per
98722         POSIX and GNU instead of separate include files like time_r.h
98723         and timegm.h.  This implementation tries out a simpler approach
98724         for replacing decls in standard include files (as compared to
98725         the string module), somewhat as an experiment.
98727         * config/srclist.txt: Comment out mktime.c for now.
98728         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
98729         since it doesn't apply any more.  Use generic wording instead.
98730         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
98731         'time'.
98732         * lib/time_.h, m4/time_h.m4, modules/time: New files.
98733         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
98734         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
98735         Don't include <sys/types.h>; no longer needed since we assume C89.
98736         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
98737         * lib/strftime.c: Likewise.
98738         * lib/time_r.c: Likewise.
98739         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
98740         * lib/nanosleep.c: Include <time.h> first, to check interface.
98741         * lib/strptime.c: Likewise.
98742         * lib/time_r.c: Likewise.
98743         * lib/timegm.c: Likewise.
98744         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
98745         needed.
98746         * lib/timegm.c: Don't include timegm.h; no longer needed.
98747         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
98748         time.h now handles any problems in that area.
98749         (struct timespec, nanosleep): Remove; time.h now arranges for these.
98750         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
98751         that time.h defines struct timespec.
98752         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
98753         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
98754         handles that.
98755         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
98756         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
98757         needed.  Set REPLACE_LOCALTIME.
98758         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
98759         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
98760         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
98761         nanosleep; time_h.m4 now does that.  Don't require
98762         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
98763         module handles this now.
98764         * modules/getdate (Depends-on): Remove timespec.  Add time.
98765         * modules/nanosleep (Depends-on): Likewise.
98766         * modules/stat-time (Depends-on): Likewise.
98767         * modules/nanosleep (Include): Include time.h, not timespec.h.
98768         * modules/strptime (Files): Remove lib/strptime.h.
98769         (Depends-on): Add extensions, time.
98770         (Include): Include time.h, not strptime.h.
98771         * modules/time_r (Files): Remove lib/time_r.h.
98772         (Depends-on): Add time.
98773         (Include): Include time.h, not time_r.h.
98774         * modules/timegm: Likewise.
98775         * modules/timespec (Description): Now does timespec-related decls
98776         of our own, instead of struct timespec itself.
98777         (Depends-on): Add time; remove extensions.
98778         (Maintainer): Add self.
98779         * modules/utimecmp (Depends-on): Add time; remove timespec.
98780         * modules/utimens (Depends-on): Likewise.
98781         * modules/xnanosleep (Depends-on): Likewise.
98783 2007-02-11  Bruno Haible  <bruno@clisp.org>
98785         * lib/c-strstr.c: Include allocsa.h.
98786         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
98787         * lib/c-strcasestr.c: Include allocsa.h.
98788         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
98789         * lib/strcasestr.c: Include allocsa.h.
98790         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
98791         * lib/mbsstr.c: Include allocsa.h.
98792         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
98793         allocsa/freesa instead of malloc/free.
98794         * lib/mbscasestr.c: Include allocsa.h.
98795         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
98796         allocsa/freesa instead of malloc/free.
98797         * modules/c-strstr (Depends-on): Add allocsa.
98798         * modules/c-strcasestr (Depends-on): Likewise.
98799         * modules/strcasestr (Depends-on): Likewise.
98800         * modules/mbsstr (Depends-on): Likewise.
98801         * modules/mbscasestr (Depends-on): Likewise.
98803 2007-02-11  Bruno Haible  <bruno@clisp.org>
98805         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
98807         * modules/mbsspn-tests: New file.
98808         * tests/test-mbsspn.sh: New file.
98809         * tests/test-mbsspn.c: New file.
98811 2007-02-11  Bruno Haible  <bruno@clisp.org>
98813         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
98815         * modules/mbspbrk-tests: New file.
98816         * tests/test-mbspbrk.sh: New file.
98817         * tests/test-mbspbrk.c: New file.
98819 2007-02-11  Bruno Haible  <bruno@clisp.org>
98821         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
98822         unneeded cast.
98824         * modules/mbscspn-tests: New file.
98825         * tests/test-mbscspn.sh: New file.
98826         * tests/test-mbscspn.c: New file.
98828 2007-02-11  Bruno Haible  <bruno@clisp.org>
98830         * modules/mbscasecmp-tests: New file.
98831         * tests/test-mbscasecmp.sh: New file.
98832         * tests/test-mbscasecmp.c: New file.
98834 2007-02-11  Bruno Haible  <bruno@clisp.org>
98836         Ensure O(n) worst-case complexity of mbscasestr.
98837         * lib/mbscasestr.c: Include stdbool.h.
98838         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
98839         functions.
98840         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
98841         the bookkeeping indicates that it's worth it.
98842         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
98844         * modules/mbscasestr-tests: New file.
98845         * tests/test-mbscasestr1.c: New file.
98846         * tests/test-mbscasestr2.sh: New file.
98847         * tests/test-mbscasestr2.c: New file.
98848         * tests/test-mbscasestr3.sh: New file.
98849         * tests/test-mbscasestr3.c: New file.
98850         * tests/test-mbscasestr4.sh: New file.
98851         * tests/test-mbscasestr4.c: New file.
98852         * m4/locale-tr.m4: New file.
98854 2007-02-11  Bruno Haible  <bruno@clisp.org>
98856         Ensure O(n) worst-case complexity of mbsstr.
98857         * lib/mbsstr.c: Include stdbool.h.
98858         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
98859         functions.
98860         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
98861         bookkeeping indicates that it's worth it.
98862         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
98864         * modules/mbsstr-tests: New file.
98865         * tests/test-mbsstr1.c: New file.
98866         * tests/test-mbsstr2.sh: New file.
98867         * tests/test-mbsstr2.c: New file.
98868         * tests/test-mbsstr3.sh: New file.
98869         * tests/test-mbsstr3.c: New file.
98870         * m4/locale-fr.m4: New file.
98872 2007-02-11  Bruno Haible  <bruno@clisp.org>
98874         * lib/mbsrchr.c (mbsrchr): Fix bug.
98876         * modules/mbsrchr-tests: New file.
98877         * tests/test-mbsrchr.sh: New file.
98878         * tests/test-mbsrchr.c: New file.
98880 2007-02-11  Bruno Haible  <bruno@clisp.org>
98882         * lib/mbschr.c (mbschr): Fix bug.
98884         * modules/mbschr-tests: New file.
98885         * tests/test-mbschr.sh: New file.
98886         * tests/test-mbschr.c: New file.
98887         * m4/locale-zh.m4: New file.
98889 2007-02-11  Bruno Haible  <bruno@clisp.org>
98891         Support for copying multibyte string iterators.
98892         * lib/mbiter.h: Include <string.h>.
98893         (mbiter_multi_copy): New function.
98894         (mbi_copy): New macro.
98895         * lib/mbuiter.h: Include <string.h>.
98896         (mbuiter_multi_copy): New function.
98897         (mbui_copy): New macro.
98899 2007-02-11  Bruno Haible  <bruno@clisp.org>
98901         New module mbslen.
98902         * modules/mbslen: New file.
98903         * lib/mbslen.c: New file.
98904         * lib/string_.h (mbslen): New declaration.
98905         * m4/mbslen.m4: New file.
98906         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
98907         GNULIB_MBSLEN.
98908         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
98909         * MODULES.html.sh (Internationalization functions): Add mbslen.
98911 2007-02-11  Bruno Haible  <bruno@clisp.org>
98913         Ensure O(n) worst-case complexity of strcasestr substitute.
98914         * lib/strcasestr.c: Include stdbool.h.
98915         (knuth_morris_pratt): New function.
98916         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
98917         bookkeeping indicates that it's worth it.
98918         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
98920         * modules/strcasestr-tests: New file.
98921         * tests/test-strcasestr.c: New file.
98923 2007-02-11  Bruno Haible  <bruno@clisp.org>
98925         Ensure O(n) worst-case complexity of c_strcasestr.
98926         * lib/c-strcasestr.c: Include stdbool.h, string.h.
98927         (knuth_morris_pratt): New function.
98928         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
98929         the bookkeeping indicates that it's worth it.
98930         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
98932         * modules/c-strcasestr-tests: New file.
98933         * tests/test-c-strcasestr.c: New file.
98935 2007-02-11  Bruno Haible  <bruno@clisp.org>
98937         Ensure O(n) worst-case complexity of c_strstr.
98938         * lib/c-strstr.c: Include stdbool.h, string.h.
98939         (knuth_morris_pratt): New function.
98940         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
98941         bookkeeping indicates that it's worth it.
98942         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
98944         * lib/c-strstr.c: Complete rewrite for maintainability.
98946         * modules/c-strstr-tests: New file.
98947         * tests/test-c-strstr.c: New file.
98949 2007-02-11  Bruno Haible  <bruno@clisp.org>
98951         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
98952         5.2.1 and earlier, whereby \055 was treated just like the range
98953         delimiter '-'.
98954         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
98956 2007-02-08  Bruno Haible  <bruno@clisp.org>
98958         * modules/regex (Depends-on): Add stdbool.
98959         Reported by Dalibor Topic <robilad@kaffe.org>.
98961 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
98963         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
98964         Prefer returning from main to exiting from it.
98965         Remove unnecessary parens after sizeof.
98967 2007-02-05  Bruno Haible  <bruno@clisp.org>
98969         New module mbssep.
98970         * modules/mbssep: New file.
98971         * lib/mbssep.c: New file.
98972         * lib/string_.h (strsep): Add a conditional link warning.
98973         (mbssep): New declaration.
98974         * m4/mbssep.m4: New file.
98975         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
98976         GNULIB_MBSSEP.
98977         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
98978         * MODULES.html.sh (Internationalization functions): Add mbssep.
98980 2007-02-05  Bruno Haible  <bruno@clisp.org>
98982         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
98983         Optimize search in case of 1 delimiter.
98985 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
98987         * lib/acl.h: Include sys/types.h before sys/acl.h.
98989 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
98991         Merge upstream fix for glibc bugzilla #3957:
98993         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
98995         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
98996         bit for RE_HAT_LISTS_NOT_NEWLINE.
98997         (build_charclass_op): Remove bogus comment.
98999 2007-02-05  Simon Josefsson  <simon@josefsson.org>
99001         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
99003 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
99005         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
99006         * lib/memmem.c [!defined _LIBC]: Include config.h.
99008 2007-02-04  Bruno Haible  <bruno@clisp.org>
99010         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
99011         warning message.
99013 2007-02-04  Bruno Haible  <bruno@clisp.org>
99015         New module mbstok_r.
99016         * modules/mbstok_r: New file.
99017         * lib/mbstok_r.c: New file.
99018         * lib/string_.h (strtok_r): Change argument names to match the
99019         comments. Add a conditional link warning.
99020         (mbstok_r): New declaration.
99021         * m4/mbstok_r.m4: New file.
99022         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
99023         GNULIB_MBSTOK_R.
99024         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
99025         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
99027 2007-02-04  Bruno Haible  <bruno@clisp.org>
99029         New module mbsspn.
99030         * modules/mbsspn: New file.
99031         * lib/mbsspn.c: New file.
99032         * lib/string_.h (strspn): Add a conditional link warning.
99033         (mbsspn): New declaration.
99034         * m4/mbsspn.m4: New file.
99035         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
99036         GNULIB_MBSSPN.
99037         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
99038         * MODULES.html.sh (Internationalization functions): Add mbsspn.
99040 2007-02-04  Bruno Haible  <bruno@clisp.org>
99042         New module mbspbrk.
99043         * modules/mbspbrk: New file.
99044         * lib/mbspbrk.c: New file.
99045         * lib/string_.h (strpbrk): Add a conditional link warning.
99046         (mbspbrk): New declaration.
99047         * m4/mbspbrk.m4: New file.
99048         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
99049         GNULIB_MBSPBRK.
99050         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
99051         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
99053 2007-02-04  Bruno Haible  <bruno@clisp.org>
99055         New module mbscspn.
99056         * modules/mbscspn: New file.
99057         * lib/mbscspn.c: New file.
99058         * lib/string_.h (strcspn): Add a conditional link warning.
99059         (mbscspn): New declaration.
99060         * m4/mbscspn.m4: New file.
99061         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
99062         GNULIB_MBSCSPN.
99063         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
99064         * MODULES.html.sh (Internationalization functions): Add mbscspn.
99066 2007-02-04  Bruno Haible  <bruno@clisp.org>
99068         New module mbscasestr, reduced goal of strcasestr.
99069         * modules/mbscasestr: New file.
99070         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
99071         (mbscasestr): Renamed from strcasestr.
99072         * lib/strcasestr.c: Don't include mbuiter.h.
99073         (strcasestr): Remove support for multibyte locales.
99074         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
99075         Change the conditional link warning.
99076         (mbscasestr): New declaration.
99077         * m4/mbscasestr.m4: New file.
99078         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
99079         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
99080         REPLACE_STRCASESTR.
99081         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
99082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
99083         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
99084         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
99085         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
99086         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
99087         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
99088         (Depends-on): Remove mbuiter.
99089         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
99091 2007-02-04  Bruno Haible  <bruno@clisp.org>
99093         Simplify handling of strncasecmp.
99094         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
99095         the conditional link warning.
99096         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
99097         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
99098         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
99099         * modules/strcase (configure.ac): Don't invoke
99100         gl_STRING_MODULE_INDICATOR.
99101         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
99103 2007-02-04  Bruno Haible  <bruno@clisp.org>
99105         New module mbscasecmp, reduced goal of strcasecmp.
99106         * modules/mbscasecmp: New file.
99107         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
99108         (mbscasecmp): Renamed from strcasecmp.
99109         * lib/strcasecmp.c: Don't include mbuiter.h.
99110         (strcasecmp): Remove support for multibyte locales.
99111         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
99112         Change the conditional link warning.
99113         (mbscasecmp): New declaration.
99114         * m4/mbscasecmp.m4: New file.
99115         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
99116         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
99117         REPLACE_STRCASECMP.
99118         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
99119         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
99120         GNULIB_MBSCASECMP.
99121         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
99122         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
99123         * modules/strcase (Files): Remove m4/mbrtowc.m4.
99124         (Depends-on): Remove mbuiter.
99125         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
99127 2007-02-04  Bruno Haible  <bruno@clisp.org>
99129         New module mbsstr. Remove module strstr.
99130         * modules/mbsstr: New file.
99131         * modules/strstr: Remove file.
99132         * lib/mbsstr.c: Renamed from lib/strstr.c.
99133         (mbsstr): Renamed from strstr.
99134         * lib/string_.h (strstr): Remove declaration. Change the conditional
99135         link warning.
99136         (mbsstr): New declaration.
99137         * m4/mbsstr.m4: New file.
99138         * m4/strstr.m4: Remove file.
99139         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
99140         REPLACE_STRSTR.
99141         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
99142         Don't initialize GNULIB_STRSTR.
99143         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
99144         substitute GNULIB_STRSTR and REPLACE_STRSTR.
99145         * MODULES.html.sh (Internationalization functions): Add mbsstr.
99146         (Support for systems lacking ANSI C 89): Remove strstr.
99148 2007-02-04  Bruno Haible  <bruno@clisp.org>
99150         New module mbsrchr.
99151         * modules/mbsrchr: New file.
99152         * lib/mbsrchr.c: New file.
99153         * lib/string_.h (strrchr): Add a conditional link warning.
99154         (mbsrchr): New declaration.
99155         * m4/mbsrchr.m4: New file.
99156         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
99157         GNULIB_MBSRCHR.
99158         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
99159         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
99161 2007-02-04  Bruno Haible  <bruno@clisp.org>
99163         New module mbschr.
99164         * modules/mbschr: New file.
99165         * lib/mbschr.c: New file.
99166         * lib/string_.h (strchr): Add a conditional link warning.
99167         (mbschr): New declaration.
99168         * m4/mbschr.m4: New file.
99169         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
99170         GNULIB_MBSCHR.
99171         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
99172         * MODULES.html.sh (Internationalization functions): Add mbschr.
99174 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
99176         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
99178         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
99180 2007-02-04  Bruno Haible  <bruno@clisp.org>
99182         New module description section 'configure.ac-early'.
99183         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
99184         (func_get_autoconf_early_snippet): New function.
99185         (func_import, func_create_testdir): Use it. Remove special cases for
99186         modules 'extensions' and 'lock'.
99187         * modules/extensions (configure.ac-early): Require
99188         gl_USE_SYSTEM_EXTENSIONS.
99189         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
99191 2007-02-04  Bruno Haible  <bruno@clisp.org>
99193         Make use of gcj-4.3's -fsource and -ftarget option.
99194         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
99195         and if so try the options -fsource and -ftarget.
99196         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
99197         source_version, ftarget_option, target_version arguments.
99198         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
99199         (is_envjavac_oldgcj_14_14_usable): Renamed from
99200         is_envjavac_gcj_14_14_usable.
99201         (is_envjavac_oldgcj_14_13_usable): Renamed from
99202         is_envjavac_gcj_14_13_usable.
99203         (is_gcj_present): Update.
99204         (is_gcj_43, is_gcj43_usable): New functions.
99205         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
99206         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
99207         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
99208         try the options -fsource and -ftarget.
99210 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
99212         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
99213         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
99214         larger value.
99216 2007-02-03  Jim Meyering  <jim@meyering.net>
99218         Give tools a better chance to allocate space for very large buffers.
99219         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
99221         Make pwd and readlink work also when run with an unreadable parent dir
99222         on systems with openat support.
99223         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
99224         provided getcwd function, even when we have openat support.
99225         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
99227 2007-02-02  Bruno Haible  <bruno@clisp.org>
99229         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
99230         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
99231         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
99232         portability problems if one of these functions is only used on specific
99233         platforms.
99234         Reported by Paul Eggert.
99236 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
99238         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
99239         is causing more trouble than it's curing.
99240         * lib/regex_internal.h (__mempcpy): Remove.
99241         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
99242         (and make the code a tad smaller to boot).
99243         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
99245 2007-02-02  Jim Meyering  <jim@meyering.net>
99247         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
99248         section, not in the Makefile.am: one.
99250 2007-02-02  Eric Blake  <ebb9@byu.net>
99252         * lib/strchrnul.c: Always include config.h first.
99254         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
99255         gnulib strstr is not necessary here.
99257 2007-02-02  Simon Josefsson  <simon@josefsson.org>
99259         * m4/socklen.m4: Fix typo.
99261 2007-02-02  Eric Blake  <ebb9@byu.net>
99263         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
99264         * modules/netinet_in (Makefile.am): Likewise.
99266 2007-02-01  Bruno Haible  <bruno@clisp.org>
99268         * lib/string_.h (GL_LINK_WARNING): New macro.
99269         (strcasecmp, strstr, strcasestr): If provided by the system,
99270         conditionally define as a macro that leads to a warning instead of to
99271         an error.
99272         (strncasecmp): Conditionally define as a macro that leads to a warning.
99274 2007-02-01  Karl Berry  <karl@gnu.org>
99276         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
99278 2007-02-01  Bruno Haible  <bruno@clisp.org>
99280         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
99281         renamings.
99283 2007-02-01  Eric Blake  <ebb9@byu.net>
99285         * modules/regex (Depends-on): Revert dependence on mempcpy.
99286         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
99287         module's definition of mempcpy.
99288         Reported by Paul Eggert.
99290 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
99292         * lib/string_.h: If the gnulib module XYZ is not present, undefine
99293         the symbol XYZ before redefining it.  This fixes a problem with
99294         programs that don't use XYZ, when compiled on systems that define
99295         XYZ to something else.
99297 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
99299         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
99300         occurs when "mkdir -m foo" creates a setgid directory that is (1)
99301         writeable to group or other and (2) is intended to have a special
99302         mode bit that is set or cleared.  In such a case, the directory
99303         should be neither group- nor other-writeable until the special
99304         mode bits are right.
99306 2007-01-31  Eric Blake  <ebb9@byu.net>
99308         * modules/mountlist (Depends-on): Add strstr.
99310         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
99311         bug.
99312         * modules/string (Makefile.am): Remove redundant replacement.
99313         * modules/regex (Depends-on): Add mempcpy.
99315 2007-01-31  Bruno Haible  <bruno@clisp.org>
99317         New module description field 'Link'.
99318         * gnulib-tool (func_usage): Document --extract-link-directive.
99319         (sed_extract_prog): Recognize 'Link' directive.
99320         (func_get_link_directive): New function.
99321         (func_import): Show summary of link directives.
99322         Handle --extract-link-directive option.
99323         * modules/acl (Link): New section.
99324         * modules/clock-time (Link): New section.
99325         * modules/euidaccess (Link): New section.
99326         * modules/gettext (Link): New section.
99327         * modules/iconv (Link): New section.
99328         * modules/lock (Link): New section.
99329         * modules/nanosleep (Link): New section.
99330         * modules/readline (Link): New section.
99332 2007-01-27  Bruno Haible  <bruno@clisp.org>
99334         Enforce the use of gnulib modules for unportable <string.h> functions.
99335         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
99336         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
99337         (gl_HEADER_STRING_H_BODY): Require it.
99338         * lib/string_.h: If the gnulib module XYZ is not present, redefine
99339         the symbol XYZ to one that gives a link error.
99340         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
99341         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
99342         * modules/mempcpy (configure.ac): Likewise.
99343         * modules/memrchr (configure.ac): Likewise.
99344         * modules/stpcpy (configure.ac): Likewise.
99345         * modules/stpncpy (configure.ac): Likewise.
99346         * modules/strcase (configure.ac): Likewise.
99347         * modules/strcasestr (configure.ac): Likewise.
99348         * modules/strchrnul (configure.ac): Likewise.
99349         * modules/strdup (configure.ac): Likewise.
99350         * modules/strndup (configure.ac): Likewise.
99351         * modules/strnlen (configure.ac): Likewise.
99352         * modules/strpbrk (configure.ac): Likewise.
99353         * modules/strsep (configure.ac): Likewise.
99354         * modules/strstr (configure.ac): Likewise.
99355         * modules/strtok_r (configure.ac): Likewise.
99357 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
99359         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
99361 2007-01-30  Jim Meyering  <jim@meyering.net>
99363         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
99365 2007-01-29  Bruno Haible  <bruno@clisp.org>
99367         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
99368         * lib/execute.c: Likewise.
99369         * lib/pipe.c: Likewise.
99370         * lib/printf-args.h: Likewise.
99371         * lib/printf-args.c: Likewise.
99372         * lib/printf-parse.c: Likewise.
99373         * lib/vasnprintf.c: Likewise.
99375 2007-01-29  Eric Blake  <ebb9@byu.net>
99377         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
99378         declaration.
99380 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
99382         * lib/strptime.h (strptime): Use 'restrict' for args where
99383         POSIX requires this.
99384         * lib/strptime.c (strptime): Likewise.
99385         Change license notice from LGPL to GPL, since gnulib-tool will
99386         change this as needed.
99387         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
99388         defined.
99389         Include "strptime.h" first, to check interface.
99390         Do not #undef _LIBC and _NL_CURRENT.
99391         Do not include <stdlib.h>; no longer needed.
99392         Include "time_r.h" and declare ptime_locale_status
99393         only if _LIBC is not defined.
99394         (__P): Remove unused macro.
99395         (match_string): Bring back glibc version, but use it only if _LIBC
99396         is defined.
99397         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
99398         Remove unnecessary assertion and abort() call.
99399         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
99400         * m4/strptime.m4: Fix serial number comment.
99401         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
99402         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
99403         (Depends-on): Add time_r.
99405 2007-01-29  Bruno Haible  <bruno@clisp.org>
99407         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
99408         strptime.
99409         * modules/strptime (Depends-on): Add stdbool.
99410         * lib/strptime.h: Include <time.h> always. Add comments.
99412 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
99414         * modules/strptime: New file.
99415         * lib/strptime.h: New file.
99416         * lib/strptime.c: New file.
99417         * m4/strptime.m4: New file.
99419 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
99421         * MODULES.html.sh: New module mpsort.
99422         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
99424         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
99425         a circularity problem with HP-UX ia64 reported by Bob Proulx in
99426         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
99427         All uses changed.
99428         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
99429         All uses changed.
99430         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
99431         to _Restrict_.
99432         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
99433         the parameter matches the prototype.
99435 2007-01-28  Jim Meyering  <jim@meyering.net>
99437         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
99438         sys/time.h here, reverting that part of the previous patch:
99439         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
99441 2007-01-28  Bruno Haible  <bruno@clisp.org>
99443         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
99444         value of $(SYS_TIME_H).
99445         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
99446         remove it conditionally, too. [added by Jim Meyering]
99447         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
99448         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
99449         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
99450         GETTIMEOFDAY_REPLACEMENT to 1.
99452 2007-01-28  Bruno Haible  <bruno@clisp.org>
99454         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
99455         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
99456         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
99457         Set UNISTD_H instead of UNISTD_H2.
99458         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
99460 2007-01-28  Bruno Haible  <bruno@clisp.org>
99462         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
99463         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
99465 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99467         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
99468         (func_create_testdir): Ensure C locale for `grep' and `tr'
99469         character ranges.
99470         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
99471         ACLOCAL_AMFLAGS parsing state machine.
99473 2007-01-27  Bruno Haible  <bruno@clisp.org>
99475         * modules/unistr/base: Update.
99477 2007-01-27  Bruno Haible  <bruno@clisp.org>
99479         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
99480         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
99481         * modules/unistr/u32-mbtouc-unsafe: Renamed from
99482         modules/unistr/u32-mbtouc.
99483         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
99484         * lib/unistr.h: Update.
99485         * lib/linebreak.c: Update.
99486         * modules/unistr/u32-mbtouc: Renamed from
99487         modules/unistr/u32-mbtouc-safe.
99488         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
99489         * lib/unistr.h: Update.
99490         * lib/unistr/u32-to-u8.c: Update.
99491         * lib/unistr/u32-to-u16.c: Update.
99493 2007-01-27  Bruno Haible  <bruno@clisp.org>
99495         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
99496         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
99497         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
99498         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
99499         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
99500         * modules/unistr/u16-mbtouc-unsafe: Renamed from
99501         modules/unistr/u16-mbtouc.
99502         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
99503         * lib/unistr.h: Update.
99504         * lib/linebreak.c: Update.
99505         * modules/linebreak: Update.
99506         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
99507         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
99508         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
99509         * modules/unistr/u16-mbtouc: Renamed from
99510         modules/unistr/u16-mbtouc-safe.
99511         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
99512         * lib/unistr.h: Update.
99513         * lib/unistr/u16-to-u8.c: Update.
99514         * modules/unistr/u16-to-u8: Update.
99515         * lib/unistr/u16-to-u32.c: Update.
99516         * modules/unistr/u16-to-u32: Update.
99518 2007-01-27  Bruno Haible  <bruno@clisp.org>
99520         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
99521         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
99522         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
99523         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
99524         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
99525         * modules/unistr/u8-mbtouc-unsafe: Renamed from
99526         modules/unistr/u8-mbtouc.
99527         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
99528         * lib/unistr.h: Update.
99529         * lib/striconveh.c: Update.
99530         * modules/striconveh: Update.
99531         * lib/linebreak.c: Update.
99532         * modules/linebreak: Update.
99533         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
99534         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
99535         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
99536         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
99537         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
99538         * lib/unistr.h: Update.
99539         * lib/striconveh.c: Update.
99540         * modules/striconveh: Update.
99541         * lib/unistr/u8-to-u16.c: Update.
99542         * modules/unistr/u8-to-u16: Update.
99543         * lib/unistr/u8-to-u32.c: Update.
99544         * modules/unistr/u8-to-u32: Update.
99546 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99548         Sync from Libtool.
99549         * lib/argz.c: Do not include strings.h nor memory.h, include
99550         string.h unconditionally.  Patch by Simon Josefsson.
99552 2007-01-27  Bruno Haible  <bruno@clisp.org>
99554         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
99555         from gl_HEADER_STRING_H_BODY.
99556         (gl_HEADER_STRING_H_BODY): Require it.
99557         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
99558         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
99559         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
99560         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
99561         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
99562         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
99563         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
99564         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
99565         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
99566         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
99567         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
99568         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
99569         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
99570         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
99571         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
99573 2007-01-27  Bruno Haible  <bruno@clisp.org>
99575         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
99576         check_PROGRAMS into noinst_PROGRAMS.
99577         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
99578         check_PROGRAMS in this case.
99579         (func_import): Set for_test to false.
99580         (func_create_testdir): Set for_test to true.
99582 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99583             Bruno Haible  <bruno@clisp.org>
99585         * modules/strcasestr (Files): Remove lib/strcasestr.h.
99586         (Depends-on): Add string.
99587         (Includes): Use <string.h> instead of strcasestr.h.
99588         * modules/string (Makefile.am): Also substitute the value of
99589         REPLACE_STRCASESTR.
99590         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
99591         assume strcasestr is declared in <string.h> not <strings.h>. Also
99592         set REPLACE_STRCASESTR.
99593         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
99594         REPLACE_STRCASESTR.
99595         * lib/strcasestr.h: Remove file.
99596         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
99597         * lib/string_.h (strcasestr): New declaration.
99599 2007-01-27  Bruno Haible  <bruno@clisp.org>
99601         * lib/string_.h: Use 'extern'.
99603 2007-01-27  Jim Meyering  <jim@meyering.net>
99605         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
99606         of set-but-not-used local, "q".
99608         * lib/mempcpy.c: Include <config.h> before <string.h>.
99609         This fixes a compilation error on HP-UX, due to the system's
99610         "restrict"-using mempcpy prototype.
99612 2007-01-26  Bruno Haible  <bruno@clisp.org>
99614         Small optimization.
99615         * lib/javacomp.c: Include c-strstr.h.
99616          (is_envjavac_gcj): Use c_strstr instead of strstr.
99617         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
99619 2007-01-26  Bruno Haible  <bruno@clisp.org>
99621         * MODULES.html.sh (Unicode string functions): Add the new modules.
99623         * modules/uniconv/u32-strconv-to-locale: New file.
99624         * lib/uniconv/u32-strconv-to-locale.c: New file.
99626         * modules/uniconv/u16-strconv-to-locale: New file.
99627         * lib/uniconv/u16-strconv-to-locale.c: New file.
99629         * modules/uniconv/u8-strconv-to-locale: New file.
99630         * lib/uniconv/u8-strconv-to-locale.c: New file.
99632         * modules/uniconv/u32-strconv-from-locale: New file.
99633         * lib/uniconv/u32-strconv-from-locale.c: New file.
99635         * modules/uniconv/u16-strconv-from-locale: New file.
99636         * lib/uniconv/u16-strconv-from-locale.c: New file.
99638         * modules/uniconv/u8-strconv-from-locale: New file.
99639         * lib/uniconv/u8-strconv-from-locale.c: New file.
99641         * modules/uniconv/u32-strconv-to-enc: New file.
99642         * lib/uniconv/u32-strconv-to-enc.c: New file.
99643         * modules/uniconv/u32-strconv-to-enc-tests: New file.
99644         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
99646         * modules/uniconv/u16-strconv-to-enc: New file.
99647         * lib/uniconv/u16-strconv-to-enc.c: New file.
99648         * lib/uniconv/u-strconv-to-enc.h: New file.
99649         * modules/uniconv/u16-strconv-to-enc-tests: New file.
99650         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
99652         * modules/uniconv/u8-strconv-to-enc: New file.
99653         * lib/uniconv/u8-strconv-to-enc.c: New file.
99654         * modules/uniconv/u8-strconv-to-enc-tests: New file.
99655         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
99657         * modules/uniconv/u32-strconv-from-enc: New file.
99658         * lib/uniconv/u32-strconv-from-enc.c: New file.
99659         * modules/uniconv/u32-strconv-from-enc-tests: New file.
99660         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
99662         * modules/uniconv/u16-strconv-from-enc: New file.
99663         * lib/uniconv/u16-strconv-from-enc.c: New file.
99664         * modules/uniconv/u16-strconv-from-enc-tests: New file.
99665         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
99667         * modules/uniconv/u8-strconv-from-enc: New file.
99668         * lib/uniconv/u8-strconv-from-enc.c: New file.
99669         * lib/uniconv/u-strconv-from-enc.h: New file.
99670         * modules/uniconv/u8-strconv-from-enc-tests: New file.
99671         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
99673         * modules/uniconv/u32-conv-from-enc: New file.
99674         * lib/uniconv/u32-conv-from-enc.c: New file.
99675         * modules/uniconv/u32-conv-from-enc-tests: New file.
99676         * tests/uniconv/test-u32-conv-from-enc.c: New file.
99678         * modules/uniconv/u16-conv-from-enc: New file.
99679         * lib/uniconv/u16-conv-from-enc.c: New file.
99680         * lib/uniconv/u-conv-from-enc.h: New file.
99681         * modules/uniconv/u16-conv-from-enc-tests: New file.
99682         * tests/uniconv/test-u16-conv-from-enc.c: New file.
99684         * modules/uniconv/u8-conv-from-enc: New file.
99685         * lib/uniconv/u8-conv-from-enc.c: New file.
99686         * modules/uniconv/u8-conv-from-enc-tests: New file.
99687         * tests/uniconv/test-u8-conv-from-enc.c: New file.
99689         * modules/uniconv/base: New file.
99690         * lib/uniconv.h: New file.
99692 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
99694         * doc/gnulib-tool.texi (Initial import): Update to match current
99695         behavior with strdup module.
99696         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
99697         * lib/memmem.h: Remove; all uses removed.  This is now done
99698         by <string.h>.
99699         * lib/mempcpy.h: Likewise.
99700         * lib/memrchr.h: Likewise.
99701         * lib/stpcpy.h: Likewise.
99702         * lib/stpncpy.h: Likewise.
99703         * lib/strcase.h: Likewise.
99704         * lib/strchrnul.h: Likewise.
99705         * lib/strdup.h: Likewise.
99706         * lib/strndup.h: Likewise.
99707         * lib/strnlen.h: Likewise.
99708         * lib/strpbrk.h: Likewise.
99709         * lib/strsep.h: Likewise.
99710         * lib/strstr.h: Likewise.
99711         * lib/strtok_r.h: Likewise.
99712         * lib/string_.h: New file.
99713         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
99714         Rely on <string.h> instead.
99715         * lib/canon-host.c: Likewise.
99716         * lib/chdir-long.c: Likewise.
99717         * lib/concatpath.c: Likewise.
99718         * lib/exclude.c: Likewise.
99719         * lib/fchdir.c: Likewise.
99720         * lib/getaddrinfo.c: Likewise.
99721         * lib/getcwd.c: Likewise.
99722         * lib/getsubopt.c: Likewise.
99723         * lib/glob.c: Likewise.
99724         * lib/hard-locale.c: Likewise.
99725         * lib/iconvme.c: Likewise.
99726         * lib/javacomp.c: Likewise.
99727         * lib/mempcpy.c: Likewise.
99728         * lib/memrchr.c: Likewise.
99729         * lib/regex_internal.h: Likewise.
99730         * lib/stpncpy.c: Likewise.
99731         * lib/strcasecmp.c: Likewise.
99732         * lib/strchrnul.c: Likewise.
99733         * lib/strdup.c: Likewise.
99734         * lib/striconv.c: Likewise.
99735         * lib/striconveh.c: Likewise.
99736         * lib/striconveha.c: Likewise.
99737         * lib/strncasecmp.c: Likewise.
99738         * lib/strndup.c: Likewise.
99739         * lib/strnlen.c: Likewise.
99740         * lib/strsep.c: Likewise.
99741         * lib/strstr.c: Likewise.
99742         * lib/strtok_r.c: Likewise.
99743         * lib/userspec.c: Likewise.
99744         * lib/w32spawn.h: Likewise.
99745         * lib/xstrndup.c: Likewise.
99746         * lib/mountlist.c (strstr): Remove decl.
99747         * m4/string_h.m4: New file.
99748         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
99749         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
99750         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
99751         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
99752         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
99753         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
99754         Set REPLACE_STRCASECMP if necessary.
99755         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
99756         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
99757         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
99758         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
99759         HAVE_DECL_STRDUP if necessary.
99760         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
99761         since gl_FUNC_STRNDUP does that now.
99762         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
99763         Check for decl here...
99764         (gl_PREREQ_STRNLEN): ... not here.
99765         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
99766         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
99767         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
99768         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
99769         necessary.
99770         * modules/string: New file.
99771         * modules/memmem (Files): Remove special-purpose include file.
99772         (Depends-on): Add string.
99773         (Include): Include <string.h>, not the removed file.
99774         * modules/mempcpy: Likewise.
99775         * modules/memrchr: Likewise.
99776         * modules/stpcpy: Likewise.
99777         * modules/stpncpy: Likewise.
99778         * modules/strcase: Likewise.
99779         * modules/strchrnul: Likewise.
99780         * modules/strdup: Likewise.
99781         * modules/strndup: Likewise.
99782         * modules/strnlen: Likewise.
99783         * modules/strpbrk: Likewise.
99784         * modules/strsep: Likewise.
99785         * modules/strstr: Likewise.
99786         * modules/strtok_r: Likewise.
99787         * tests/test-dirname.c: Don't include "strdup.h", since
99788         <string.h> now suffices.
99789         * tests/test-memmem.c: Don't include "memmem.h", since
99790         <string.h> now suffices.
99792 2007-01-25  Bruno Haible  <bruno@clisp.org>
99794         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
99795         *resultp is 0.
99797         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
99798         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
99799         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
99800         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
99802         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
99803         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
99804         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
99805         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
99806         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
99807         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
99809 2007-01-24  Bruno Haible  <bruno@clisp.org>
99811         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
99812         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
99813         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
99814         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
99815         gl_FUNC_FTS_CORE.
99816         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
99817         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
99818         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99819         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
99820         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
99821         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
99822         gl_FUNC_FCHOWNAT.
99823         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
99824         gl_FUNC_STRFTIME.
99825         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
99826         Reported by Ralf Wildenhues.
99828 2007-01-24  Bruno Haible  <bruno@clisp.org>
99830         Drop AC_REQUIRE calls that are redundant with the module dependencies.
99831         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
99832         gl_GETADDRINFO.
99833         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
99834         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
99835         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
99837 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
99839         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
99840         Don't use 'exit'; just return from 'main'.
99841         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
99843         * lib/fnmatch_.h: Readjust white space and comments to match
99844         glibc, to avoid spurious diffs.
99846 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
99848         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
99849         2004-12-01 change by Jakub Jelinek, since this code won't compile
99850         if !LIBC.  Problem reported by Bob Proulx.
99852 2007-01-23  Bruno Haible  <bruno@clisp.org>
99854         * lib/striconveh.c: Include c-strcaseeq.h.
99855         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
99856         * modules/striconveh (Depends-on): Add c-strcaseeq.
99858 2007-01-23  Bruno Haible  <bruno@clisp.org>
99860         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
99862         * modules/c-strcaseeq: New file.
99863         * lib/c-strcaseeq.h: New file.
99865         * modules/streq: New file.
99866         * lib/streq.h: New file.
99868 2007-01-23  Bruno Haible  <bruno@clisp.org>
99870         * modules/striconveha-tests: New file.
99871         * tests/test-striconveha.c: New file.
99873         * lib/striconveha.h: Include <stdbool.h>.
99874         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
99875         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
99876         (mem_iconveha_notranslit): Renamed from mem_iconveha.
99877         (mem_iconveha): New function.
99878         (str_iconveha_notranslit): Renamed from str_iconveha.
99879         (str_iconveha): New function.
99880         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
99881         c-strcase.
99883 2007-01-23  Bruno Haible  <bruno@clisp.org>
99885         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
99886         encodings without forgiving before trying any encoding with handler.
99887         (str_iconveha): Try all encodings without forgiving before trying any
99888         encoding with handler.
99890 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
99892         Import the following changes from libc.
99894         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
99896         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
99898         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
99900         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
99901         normal_bracket label.
99903         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
99905         [BZ #361]
99906         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
99907         to normal_bracket after fetching the next character.
99909 2007-01-22  Bruno Haible  <bruno@clisp.org>
99911         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
99912         argument.
99913         * lib/striconveh.c (iconv_carefully_1): New function.
99914         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
99915         argument.
99916         (str_cd_iconveh): Update.
99917         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
99918         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
99919         * tests/test-striconveh.c (MAGIC): New macro.
99920         (new_offsets): New function.
99921         (main): Test call with and without offsets.
99923 2007-01-22  Bruno Haible  <bruno@clisp.org>
99925         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
99926         * modules/sys_select (Makefile.am): Likewise.
99927         * modules/sys_socket (Makefile.am): Likewise.
99928         * modules/sys_time (Makefile.am): Likewise.
99930 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
99932         * modules/gettimeofday (License): Change from GPL to LGPL, since
99933         gettimeofday is a library function.
99935 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99937         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
99939 2007-01-21  Bruno Haible  <bruno@clisp.org>
99941         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
99943 2007-01-21  Bruno Haible  <bruno@clisp.org>
99945         * modules/striconveha: New file.
99946         * lib/striconveha.h: New file.
99947         * lib/striconveha.c: New file.
99948         * MODULES.html.sh (Internationalization functions): Add striconveha.
99949         * lib/striconv.c (str_iconv): Optimize the case of an empty input
99950         string.
99951         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
99953 2007-01-21  Bruno Haible  <bruno@clisp.org>
99955         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
99956         * lib/striconveh.c (str_iconveh): Likewise.
99958 2007-01-21  Bruno Haible  <bruno@clisp.org>
99960         * lib/striconveh.h (mem_iconveh): New declaration.
99961         * lib/striconveh.c (mem_iconveh): New function.
99962         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
99964 2007-01-21  Bruno Haible  <bruno@clisp.org>
99966         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
99968         * lib/striconveh.h (mem_cd_iconveh): Change specification.
99969         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
99970         original result buffer.
99971         (str_cd_iconveh): Update.
99972         * tests/test-striconveh.c (main): Update.
99974         * lib/striconv.h (mem_cd_iconv): Change specification.
99975         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
99976         result buffer.
99977         (str_cd_iconv): Update.
99978         * tests/test-striconv.c (main): Update.
99980 2007-01-21  Bruno Haible  <bruno@clisp.org>
99982         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
99984 2007-01-20  Jim Meyering  <jim@meyering.net>
99986         * lib/userspec.c (parse_with_separator): If a user or group string
99987         starts with "+", skip the corresponding name-to-ID look-up, since
99988         such a look-up must fail: user and group names may not include "+".
99990 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
99992         * lib/poll.c: Include sys/time.h and time.h unconditionally,
99993         since we now assume the sys_time module.
99994         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
99995         check for sys/time.h; no longer needed.
99996         * modules/poll (Depends-on): Depend on sys_time.
99998 2007-01-18  Bruno Haible  <bruno@clisp.org>
100000         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
100001         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
100003         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
100004         gettimeofday.
100006         * tests/test-gettimeofday.c: Include <time.h>.
100007         (dummy): Remove variable.
100009         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
100010         gl_HEADER_SYS_TIME_H.
100011         (gl_HEADER_SYS_TIME_H): New macro.
100013         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
100014         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
100015         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
100016         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
100017         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
100018         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
100019         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
100020         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
100021         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
100022         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
100023         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
100025         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
100026         last change; it caused a compilation error when cross-compiling to
100027         Cygwin.
100029 2007-01-18  Jim Meyering  <jim@meyering.net>
100031         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
100032         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
100033         than the race-prone "test -d sys || mkdir sys".
100034         (configure.ac): Use AC_PROG_MKDIR_P.
100035         * modules/sys_select: Likewise.
100036         * modules/sys_socket: Likewise.
100037         * modules/sys_time: Likewise.
100039 2007-01-18  Eric Blake  <ebb9@byu.net>
100041         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
100042         replace gettimeofday.
100043         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
100044         name, to avoid infinite recursion.
100046 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
100048         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
100049         module sys_time.
100050         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
100051         assume timespec.h defines struct timeval.
100052         * lib/settime.c: Likewise.
100053         * lib/utimens.c: Likewise.
100054         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
100055         since we now assume the gettimeofday module.
100056         * lib/tempname.c (__gen_tempname): Likewise.
100057         * lib/gettimeofday.h: Remove.
100058         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
100059         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
100060         Include <time.h>, for 'time()'.
100061         (localtime_buffer_addr): Also use this workaround if
100062         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
100063         to simplify the uses.  All uses changed.
100064         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
100065         that #undef is inside {}, and 'const' follows type name consistently.
100066         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
100067         (gettimeofday): Do not use the maximum possible value for
100068         tv->tv_usec, since that might break usages other than ls.c.
100069         Instead, we'll leave ls.c alone.  This undoes today's patch
100070         by Bruno.  Add a compile-time warning for 1s-clock resolution;
100071         we've never observed the problem but might as well keep the
100072         canary.
100073         * lib/nanosleep.c: Include timespec.h first, for interface check.
100074         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
100075         now assume the sys_time module.
100076         * lib/tempname.c: Likewise.
100077         * lib/timespec.h: Likewise.
100078         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
100079         needed.
100080         * lib/strftime.c: Likewise.
100081         * lib/timespec.h: Likewise.
100082         * lib/posixtm.c: Include posixtm.h first, for interface check.
100083         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
100084         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
100085         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
100086         * lib/sys_time_.h: New file.
100087         * lib/timespec.h (struct timespec): Use long int, not long.
100088         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
100089         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
100090         Remove obsolescent call to AC_HEADER_TIME.
100091         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
100092         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100093         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
100094         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
100095         Likewise.
100096         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
100097         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
100098         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
100099         into the sys_time module.  Check for gettimeofday just once.
100100         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
100101         for gettimeofday signature to just check the signature.  Merely
100102         compile it, since linking doesn't test signature.  Improve test for
100103         whether gettimeofday.o is actually needed.
100104         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
100105         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
100106         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
100107         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
100108         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
100109         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
100110         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
100111         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
100112         than worrying about sys/time.h.
100113         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
100114         Don't bother worrying about TIME_WITH_SYS_TIME.
100115         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
100116         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
100117         * m4/sys_time_h.m4: New file.
100118         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
100119         Don't include sys/time.h.  Return from main rather than exiting.
100120         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
100121         all uses changed.
100122         * modules/gethrxtime (Depends-on): Add sys_time.
100123         * modules/gettime (Depends-on): Likewise.
100124         * modules/gettimeofday (Depends-on): Likewise.
100125         * modules/nanosleep (Depends-on): Likewise.
100126         * modules/settime (Depends-on): Likewise.
100127         * modules/tempname (Depends-on): Likewise.
100128         * modules/utimens (Depends-on): Likewise.
100129         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
100130         (Include): Change back to <sys/time.h>.
100131         (Maintainer): Add self.
100132         * modules/sys_time: New file.
100133         * modules/tempname (Depends-on): Add gettimeofday.
100134         * tests/test-gettimeofday.c: Include <sys/time.h>
100135         rather than gettimeofday.h.
100137 2007-01-17  Bruno Haible  <bruno@clisp.org>
100139         * gnulib-tool (func_get_license): Revert last patch. Instead, let
100140         the license default to GPL.
100141         (func_create_testdir): Don't complain if a module is LGPL and its
100142         tests module depends on GPLed modules.
100144 2007-01-17  Bruno Haible  <bruno@clisp.org>
100146         * lib/gettimeofday.c (gettimeofday): Add code for the case
100147         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
100148         maximum possible value for tv->tv_usec, rather than the minimum one.
100150 2005-10-08  Martin Lambers  <marlam@marlam.de>
100151 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
100152 2007-01-16  Bruno Haible  <bruno@clisp.org>
100154         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
100155         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
100156         gl_FUNC_GETTIMEOFDAY.
100157         (Include): Add gettimeofday.h.
100158         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
100159         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
100160         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
100161         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
100162         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
100163         * lib/gettimeofday.h: New file.
100164         * lib/gettimeofday.c: Include <sys/timeb.h>.
100165         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
100166         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
100167         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
100168         fall back on time().
100170         * tests/test-gettimeofday.c: New file.
100171         * modules/gettimeofday-tests: New file.
100173 2007-01-16  Eric Blake  <ebb9@byu.net>
100175         * modules/fnmatch (Depends-on): Depend on wchar.
100176         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
100177         * m4/fnmatch.m4: Likewise.
100178         * modules/mbchar (Makefile.am): Assume <wchar.h>.
100179         * m4/mbchar.m4: Likewise.
100180         * modules/mbswidth (Depends-on): Depend on wchar.
100181         * lib/mbswidth.c: Assume <wchar.h>.
100182         * m4/mbswidth.m4: Likewise.
100183         * modules/quotearg (Depends-on): Depend on wchar.
100184         * lib/quotearg.c: Assume <wchar.h>.
100185         * m4/quotearg.m4: Likewise.
100186         * modules/regex (Depends-on): Depend on wchar.
100187         * lib/regex_internal.h: Assume <wchar.h>.
100188         * m4/regex.m4: Likewise.
100189         * modules/stdint (Depends-on): Depend on wchar.
100190         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
100191         * m4/stdint.m4: Likewise.
100192         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
100193         * modules/strftime (Depends-on): Depend on wchar.
100194         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
100195         * modules/strtol (Depends-on): Depend on wchar.
100196         * lib/strtol.c: Assume <wchar.h>.
100197         * modules/wcwidth (Depends-on): Depend on wchar.
100198         * lib/wcwidth.h: Assume <wchar.h>.
100199         * m4/wcwidth.m4: Likewise.
100201 2007-01-16  Bruno Haible  <bruno@clisp.org>
100203         * modules/csharpexec-script: New, created from...
100204         * modules/csharpexec: ... this.
100206 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
100208         * modules/javaexec-script: New, created from...
100209         * modules/javaexec: ... this.
100211 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
100213         * modules/poll (Dependencies): Add sys_select.
100215 2007-01-15  Jim Meyering  <jim@meyering.net>
100217         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
100218         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
100219         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
100220         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
100222 2007-01-15  Bruno Haible  <bruno@clisp.org>
100224         * modules/striconveh: New file.
100225         * lib/striconveh.h: New file.
100226         * lib/striconveh.c: New file.
100227         * MODULES.html.sh (Internationalization functions): Add striconveh.
100229         * modules/striconveh-tests: New file.
100230         * tests/test-striconveh.c: New file.
100232 2007-01-15  Bruno Haible  <bruno@clisp.org>
100234         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
100235         not from GNU libiconv or GNU libc.
100237 2007-01-15  Bruno Haible  <bruno@clisp.org>
100239         * doc/gnulib-intro.texi (Copyright): Explain the different license
100240         terms for module descriptions, autoconf macros, tests, documentation.
100242 2007-01-14  Bruno Haible  <bruno@clisp.org>
100244         * modules/striconv-tests: New file.
100245         * tests/test-striconv.c: New file.
100247 2007-01-14  Bruno Haible  <bruno@clisp.org>
100249         * modules/iconv-tests: New file.
100250         * tests/test-iconv.c: New file.
100252 2007-01-14  Bruno Haible  <bruno@clisp.org>
100254         * gnulib-tool (func_get_license): For test modules, use the license of
100255         the main module.
100257 2007-01-14  Bruno Haible  <bruno@clisp.org>
100259         * modules/iconv (Include): Clarify that <iconv.h> can only be included
100260         if iconv is found to exist.
100262 2007-01-14  Bruno Haible  <bruno@clisp.org>
100264         * modules/c-ctype-tests: New file.
100265         * tests/test-c-ctype.c: New file.
100267 2007-01-14  Bruno Haible  <bruno@clisp.org>
100269         * modules/binary-io-tests: New file.
100270         * tests/test-binary-io.sh: New file.
100271         * tests/test-binary-io.c: New file.
100273 2007-01-14  Bruno Haible  <bruno@clisp.org>
100275         * modules/array-oset-tests: New file.
100276         * tests/test-array_oset.c: New file.
100278 2007-01-14  Bruno Haible  <bruno@clisp.org>
100280         * modules/array-list-tests: New file.
100281         * tests/test-array_list.c: New file.
100283 2007-01-14  Bruno Haible  <bruno@clisp.org>
100285         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
100286         and make.
100287         Reported by Simon Josefsson in
100288         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
100290 2007-01-14  Bruno Haible  <bruno@clisp.org>
100292         * modules/allocsa-tests: New file.
100293         * tests/test-allocsa.c: New file.
100295 2007-01-14  Bruno Haible  <bruno@clisp.org>
100297         * modules/fchdir (Depends-on): Add absolute-header.
100298         * modules/unistd (Depends-on): Likewise.
100300 2006-12-30  Bruno Haible  <bruno@clisp.org>
100302         * modules/fchdir: New file.
100303         * modules/unistd (Files): Add lib/unistd_.h.
100304         (Makefile.am): Generate unistd.h from unistd_.h.
100305         * lib/fchdir.c: New file.
100306         * lib/dirent_.h: New file.
100307         * lib/unistd_.h: New file.
100308         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
100309         * m4/fchdir.m4: New file.
100310         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
100311         (gl_HEADER_UNISTD): Invoke it.
100312         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
100313         function.
100314         * lib/backupfile.c (opendir, closedir): Undefine.
100315         * lib/chown.c (open, close): Undefine.
100316         * lib/clean-temp.c (open, close): Undefine.
100317         * lib/copy-file.c (open, close): Undefine.
100318         * lib/execute.c (open, close): Undefine.
100319         * lib/fsusage.c (open, close): Undefine.
100320         * lib/gc-gnulib.c (open, close): Undefine.
100321         * lib/getcwd.c (opendir, closedir): Undefine.
100322         * lib/glob.c (opendir, closedir): Undefine.
100323         * lib/javacomp.c (open, close): Undefine.
100324         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
100325         * lib/openat-proc.c (open, close): Undefine.
100326         * lib/pagealign_alloc.c (open, close): Undefine.
100327         * lib/pipe.c (open, close): Undefine.
100328         * lib/progreloc.c (open, close): Undefine.
100329         * lib/savedir.c (opendir, closedir): Undefine.
100330         * lib/utime.c (open, close): Undefine.
100331         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
100333 2007-01-10  Bruno Haible  <bruno@clisp.org>
100335         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
100337 2007-01-12  Eric Blake  <ebb9@byu.net>
100339         Provide a robust <wchar.h>.  Further simplifications are now
100340         possible in other modules, but not included here.
100341         * modules/wchar: New module.
100342         * m4/wchar.m4: New file.
100343         * lib/wchar_.h: Likewise.
100344         * modules/mbchar (Depends-on): Depend on wchar, as the first use
100345         of the new module.
100346         * MODULES.html.sh (Extended multibyte and wide character utilities):
100347         New section.
100349 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
100351         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
100352         to a reasonable default for memory allocation.
100353         (xreadlink): Don't allocate a huge buffer, to work around a buggy
100354         file system that reports garbage st_size values for symlinks.
100355         Problem reported by Liyang Hu.
100357 2007-01-11  Simon Josefsson  <simon@josefsson.org>
100359         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
100360         Emacs .#* auto-save files).
100362 2007-01-11  Bruno Haible  <bruno@clisp.org>
100364         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
100365         directory.
100367 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100369         Use @...@ consistently in lib/wctype_.h.
100370         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
100371         on it being set to 1 or 0.
100372         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
100373         go back to AC_SUBSTing it.
100374         * modules/wctype (Makefile.am): Undo previous change.
100376 2007-01-10  Eric Blake  <ebb9@byu.net>
100378         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
100379         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
100380         * modules/wctype (Makefile.am): Likewise.
100381         Reported by Chris McGuire.
100383 2007-01-10  Jim Meyering  <jim@meyering.net>
100385         fts.c: a small readability/maintainability improvement
100386         * lib/fts.c (fts_read): Make this code slightly more readable and
100387         maintainable by hoisting the "sp->fts_cur = p" assignments to
100388         immediately follow the statements that set P.  Derived from
100389         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
100391 2007-01-10  Eric Blake  <ebb9@byu.net>
100393         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
100394         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
100395         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
100396         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
100397         Reported by Chris McGuire.
100399 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100401         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
100402         in sed script.
100404 2007-01-09  Bruno Haible  <bruno@clisp.org>
100406         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
100407         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
100408         variables.
100409         (func_module): Use them.
100411 2007-01-09  Bruno Haible  <bruno@clisp.org>
100413         * modules/unistr/base: New file.
100414         * lib/unistr.h: New file.
100416         * modules/unistr/u8-to-u16: New file.
100417         * lib/unistr/u8-to-u16.c: New file.
100419         * modules/unistr/u8-to-u32: New file.
100420         * lib/unistr/u8-to-u32.c: New file.
100422         * modules/unistr/u16-to-u8: New file.
100423         * lib/unistr/u16-to-u8.c: New file.
100425         * modules/unistr/u16-to-u32: New file.
100426         * lib/unistr/u16-to-u32.c: New file.
100428         * modules/unistr/u32-to-u8: New file.
100429         * lib/unistr/u32-to-u8.c: New file.
100431         * modules/unistr/u32-to-u16: New file.
100432         * lib/unistr/u32-to-u16.c: New file.
100434         * modules/unistr/u8-check: New file.
100435         * modules/unistr/u16-check: New file.
100436         * modules/unistr/u32-check: New file.
100437         * lib/unistr/u8-check.c: New file.
100438         * lib/unistr/u16-check.c: New file.
100439         * lib/unistr/u32-check.c: New file.
100441         * modules/unistr/u8-chr: New file.
100442         * modules/unistr/u16-chr: New file.
100443         * modules/unistr/u32-chr: New file.
100444         * lib/unistr/u8-chr.c: New file.
100445         * lib/unistr/u16-chr.c: New file.
100446         * lib/unistr/u32-chr.c: New file.
100448         * modules/unistr/u8-cmp: New file.
100449         * modules/unistr/u16-cmp: New file.
100450         * modules/unistr/u32-cmp: New file.
100451         * lib/unistr/u8-cmp.c: New file.
100452         * lib/unistr/u16-cmp.c: New file.
100453         * lib/unistr/u32-cmp.c: New file.
100455         * modules/unistr/u8-cpy: New file.
100456         * modules/unistr/u16-cpy: New file.
100457         * modules/unistr/u32-cpy: New file.
100458         * lib/unistr/u8-cpy.c: New file.
100459         * lib/unistr/u16-cpy.c: New file.
100460         * lib/unistr/u32-cpy.c: New file.
100461         * lib/unistr/u-cpy.h: New file.
100463         * modules/unistr/u8-cpy-alloc: New file.
100464         * modules/unistr/u16-cpy-alloc: New file.
100465         * modules/unistr/u32-cpy-alloc: New file.
100466         * lib/unistr/u8-cpy-alloc.c: New file.
100467         * lib/unistr/u16-cpy-alloc.c: New file.
100468         * lib/unistr/u32-cpy-alloc.c: New file.
100469         * lib/unistr/u-cpy-alloc.h: New file.
100471         * modules/unistr/u8-endswith: New file.
100472         * modules/unistr/u16-endswith: New file.
100473         * modules/unistr/u32-endswith: New file.
100474         * lib/unistr/u8-endswith.c: New file.
100475         * lib/unistr/u16-endswith.c: New file.
100476         * lib/unistr/u32-endswith.c: New file.
100477         * lib/unistr/u-endswith.h: New file.
100479         * modules/unistr/u8-mblen: New file.
100480         * modules/unistr/u16-mblen: New file.
100481         * modules/unistr/u32-mblen: New file.
100482         * lib/unistr/u8-mblen.c: New file.
100483         * lib/unistr/u16-mblen.c: New file.
100484         * lib/unistr/u32-mblen.c: New file.
100486         * modules/unistr/u8-mbtouc: New file.
100487         * modules/unistr/u16-mbtouc: New file.
100488         * modules/unistr/u32-mbtouc: New file.
100489         * lib/unistr/u8-mbtouc.c: New file.
100490         * lib/unistr/u16-mbtouc.c: New file.
100491         * lib/unistr/u32-mbtouc.c: New file.
100493         * modules/unistr/u8-mbtouc-safe: New file.
100494         * modules/unistr/u16-mbtouc-safe: New file.
100495         * modules/unistr/u32-mbtouc-safe: New file.
100496         * lib/unistr/u8-mbtouc-safe.c: New file.
100497         * lib/unistr/u16-mbtouc-safe.c: New file.
100498         * lib/unistr/u32-mbtouc-safe.c: New file.
100500         * modules/unistr/u8-move: New file.
100501         * modules/unistr/u16-move: New file.
100502         * modules/unistr/u32-move: New file.
100503         * lib/unistr/u8-move.c: New file.
100504         * lib/unistr/u16-move.c: New file.
100505         * lib/unistr/u32-move.c: New file.
100506         * lib/unistr/u-move.h: New file.
100508         * modules/unistr/u8-next: New file.
100509         * modules/unistr/u16-next: New file.
100510         * modules/unistr/u32-next: New file.
100511         * lib/unistr/u8-next.c: New file.
100512         * lib/unistr/u16-next.c: New file.
100513         * lib/unistr/u32-next.c: New file.
100515         * modules/unistr/u8-prev: New file.
100516         * modules/unistr/u16-prev: New file.
100517         * modules/unistr/u32-prev: New file.
100518         * lib/unistr/u8-prev.c: New file.
100519         * lib/unistr/u16-prev.c: New file.
100520         * lib/unistr/u32-prev.c: New file.
100522         * modules/unistr/u8-set: New file.
100523         * modules/unistr/u16-set: New file.
100524         * modules/unistr/u32-set: New file.
100525         * lib/unistr/u8-set.c: New file.
100526         * lib/unistr/u16-set.c: New file.
100527         * lib/unistr/u32-set.c: New file.
100528         * lib/unistr/u-set.h: New file.
100530         * modules/unistr/u8-startswith: New file.
100531         * modules/unistr/u16-startswith: New file.
100532         * modules/unistr/u32-startswith: New file.
100533         * lib/unistr/u8-startswith.c: New file.
100534         * lib/unistr/u16-startswith.c: New file.
100535         * lib/unistr/u32-startswith.c: New file.
100536         * lib/unistr/u-startswith.h: New file.
100538         * modules/unistr/u8-stpcpy: New file.
100539         * modules/unistr/u16-stpcpy: New file.
100540         * modules/unistr/u32-stpcpy: New file.
100541         * lib/unistr/u8-stpcpy.c: New file.
100542         * lib/unistr/u16-stpcpy.c: New file.
100543         * lib/unistr/u32-stpcpy.c: New file.
100544         * lib/unistr/u-stpcpy.h: New file.
100546         * modules/unistr/u8-stpncpy: New file.
100547         * modules/unistr/u16-stpncpy: New file.
100548         * modules/unistr/u32-stpncpy: New file.
100549         * lib/unistr/u8-stpncpy.c: New file.
100550         * lib/unistr/u16-stpncpy.c: New file.
100551         * lib/unistr/u32-stpncpy.c: New file.
100552         * lib/unistr/u-stpncpy.h: New file.
100554         * modules/unistr/u8-strcat: New file.
100555         * modules/unistr/u16-strcat: New file.
100556         * modules/unistr/u32-strcat: New file.
100557         * lib/unistr/u8-strcat.c: New file.
100558         * lib/unistr/u16-strcat.c: New file.
100559         * lib/unistr/u32-strcat.c: New file.
100560         * lib/unistr/u-strcat.h: New file.
100562         * modules/unistr/u8-strchr: New file.
100563         * modules/unistr/u16-strchr: New file.
100564         * modules/unistr/u32-strchr: New file.
100565         * lib/unistr/u8-strchr.c: New file.
100566         * lib/unistr/u16-strchr.c: New file.
100567         * lib/unistr/u32-strchr.c: New file.
100569         * modules/unistr/u8-strcmp: New file.
100570         * modules/unistr/u16-strcmp: New file.
100571         * modules/unistr/u32-strcmp: New file.
100572         * lib/unistr/u8-strcmp.c: New file.
100573         * lib/unistr/u16-strcmp.c: New file.
100574         * lib/unistr/u32-strcmp.c: New file.
100576         * modules/unistr/u8-strcpy: New file.
100577         * modules/unistr/u16-strcpy: New file.
100578         * modules/unistr/u32-strcpy: New file.
100579         * lib/unistr/u8-strcpy.c: New file.
100580         * lib/unistr/u16-strcpy.c: New file.
100581         * lib/unistr/u32-strcpy.c: New file.
100582         * lib/unistr/u-strcpy.h: New file.
100584         * modules/unistr/u8-strcspn: New file.
100585         * modules/unistr/u16-strcspn: New file.
100586         * modules/unistr/u32-strcspn: New file.
100587         * lib/unistr/u8-strcspn.c: New file.
100588         * lib/unistr/u16-strcspn.c: New file.
100589         * lib/unistr/u32-strcspn.c: New file.
100590         * lib/unistr/u-strcspn.h: New file.
100592         * modules/unistr/u8-strdup: New file.
100593         * modules/unistr/u16-strdup: New file.
100594         * modules/unistr/u32-strdup: New file.
100595         * lib/unistr/u8-strdup.c: New file.
100596         * lib/unistr/u16-strdup.c: New file.
100597         * lib/unistr/u32-strdup.c: New file.
100598         * lib/unistr/u-strdup.h: New file.
100600         * modules/unistr/u8-strlen: New file.
100601         * modules/unistr/u16-strlen: New file.
100602         * modules/unistr/u32-strlen: New file.
100603         * lib/unistr/u8-strlen.c: New file.
100604         * lib/unistr/u16-strlen.c: New file.
100605         * lib/unistr/u32-strlen.c: New file.
100606         * lib/unistr/u-strlen.h: New file.
100608         * modules/unistr/u8-strmblen: New file.
100609         * modules/unistr/u16-strmblen: New file.
100610         * modules/unistr/u32-strmblen: New file.
100611         * lib/unistr/u8-strmblen.c: New file.
100612         * lib/unistr/u16-strmblen.c: New file.
100613         * lib/unistr/u32-strmblen.c: New file.
100615         * modules/unistr/u8-strmbtouc: New file.
100616         * modules/unistr/u16-strmbtouc: New file.
100617         * modules/unistr/u32-strmbtouc: New file.
100618         * lib/unistr/u8-strmbtouc.c: New file.
100619         * lib/unistr/u16-strmbtouc.c: New file.
100620         * lib/unistr/u32-strmbtouc.c: New file.
100622         * modules/unistr/u8-strncat: New file.
100623         * modules/unistr/u16-strncat: New file.
100624         * modules/unistr/u32-strncat: New file.
100625         * lib/unistr/u8-strncat.c: New file.
100626         * lib/unistr/u16-strncat.c: New file.
100627         * lib/unistr/u32-strncat.c: New file.
100628         * lib/unistr/u-strncat.h: New file.
100630         * modules/unistr/u8-strncmp: New file.
100631         * modules/unistr/u16-strncmp: New file.
100632         * modules/unistr/u32-strncmp: New file.
100633         * lib/unistr/u8-strncmp.c: New file.
100634         * lib/unistr/u16-strncmp.c: New file.
100635         * lib/unistr/u32-strncmp.c: New file.
100637         * modules/unistr/u8-strncpy: New file.
100638         * modules/unistr/u16-strncpy: New file.
100639         * modules/unistr/u32-strncpy: New file.
100640         * lib/unistr/u8-strncpy.c: New file.
100641         * lib/unistr/u16-strncpy.c: New file.
100642         * lib/unistr/u32-strncpy.c: New file.
100643         * lib/unistr/u-strncpy.h: New file.
100645         * modules/unistr/u8-strnlen: New file.
100646         * modules/unistr/u16-strnlen: New file.
100647         * modules/unistr/u32-strnlen: New file.
100648         * lib/unistr/u8-strnlen.c: New file.
100649         * lib/unistr/u16-strnlen.c: New file.
100650         * lib/unistr/u32-strnlen.c: New file.
100651         * lib/unistr/u-strnlen.h: New file.
100653         * modules/unistr/u8-strpbrk: New file.
100654         * modules/unistr/u16-strpbrk: New file.
100655         * modules/unistr/u32-strpbrk: New file.
100656         * lib/unistr/u8-strpbrk.c: New file.
100657         * lib/unistr/u16-strpbrk.c: New file.
100658         * lib/unistr/u32-strpbrk.c: New file.
100659         * lib/unistr/u-strpbrk.h: New file.
100661         * modules/unistr/u8-strrchr: New file.
100662         * modules/unistr/u16-strrchr: New file.
100663         * modules/unistr/u32-strrchr: New file.
100664         * lib/unistr/u8-strrchr.c: New file.
100665         * lib/unistr/u16-strrchr.c: New file.
100666         * lib/unistr/u32-strrchr.c: New file.
100668         * modules/unistr/u8-strspn: New file.
100669         * modules/unistr/u16-strspn: New file.
100670         * modules/unistr/u32-strspn: New file.
100671         * lib/unistr/u8-strspn.c: New file.
100672         * lib/unistr/u16-strspn.c: New file.
100673         * lib/unistr/u32-strspn.c: New file.
100674         * lib/unistr/u-strspn.h: New file.
100676         * modules/unistr/u8-strstr: New file.
100677         * modules/unistr/u16-strstr: New file.
100678         * modules/unistr/u32-strstr: New file.
100679         * lib/unistr/u8-strstr.c: New file.
100680         * lib/unistr/u16-strstr.c: New file.
100681         * lib/unistr/u32-strstr.c: New file.
100682         * lib/unistr/u-strstr.h: New file.
100684         * modules/unistr/u8-strtok: New file.
100685         * modules/unistr/u16-strtok: New file.
100686         * modules/unistr/u32-strtok: New file.
100687         * lib/unistr/u8-strtok.c: New file.
100688         * lib/unistr/u16-strtok.c: New file.
100689         * lib/unistr/u32-strtok.c: New file.
100690         * lib/unistr/u-strtok.h: New file.
100692         * modules/unistr/u8-uctomb: New file.
100693         * modules/unistr/u16-uctomb: New file.
100694         * modules/unistr/u32-uctomb: New file.
100695         * lib/unistr/u8-uctomb.c: New file.
100696         * lib/unistr/u16-uctomb.c: New file.
100697         * lib/unistr/u32-uctomb.c: New file.
100699         * MODULES.html.sh (Unicode string functions): Add the new modules.
100701 2007-01-08  Bruno Haible  <bruno@clisp.org>
100703         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
100704         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
100705         subdirectories.
100707 2007-01-08  Karl Berry  <karl@gnu.org>
100709         * doc/error.texi: mention that main() fns must set program_name
100710         when progname is used.
100712 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
100714         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
100715         WCTYPE_H is empty, for the benefit of builds from non-distclean
100716         directories.  Problem reported by Eric Blake in
100717         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
100719 2007-01-08  Bruno Haible  <bruno@clisp.org>
100721         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
100722         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
100723         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
100724         PROVIDE_CANONICALIZE_FILENAME_MODE.
100725         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
100727 2007-01-08  Bruno Haible  <bruno@clisp.org>
100729         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
100730         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
100731         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
100732         * lib/fts.c: Likewise.
100733         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
100735 2006-12-25  Bruno Haible  <bruno@clisp.org>
100737         * modules/utf8-ucs4-safe: New file.
100738         * lib/utf8-ucs4-safe.h: New file.
100739         * lib/unistr/utf8-ucs4-safe.c: New file.
100741         * modules/utf16-ucs4-safe: New file.
100742         * lib/utf16-ucs4-safe.h: New file.
100743         * lib/unistr/utf16-ucs4-safe.c: New file.
100745         * MODULES.html.sh (Unicode string functions): Add the new modules.
100747 2007-01-08  Bruno Haible  <bruno@clisp.org>
100749         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
100750         (Depends-on): Add unitypes.
100751         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
100752         (u8_mbtouc_aux): Move out to separate file.
100753         (u8_mbtouc): Use ucs4_t, uint8_t types.
100754         * lib/unistr/utf8-ucs4.c: New file.
100756         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
100757         (Depends-on): Add unitypes.
100758         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
100759         (u16_mbtouc_aux): Move out to separate file.
100760         (u16_mbtouc): Use ucs4_t, uint16_t types.
100761         * lib/unistr/utf16-ucs4.c: New file.
100763         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
100764         (Depends-on): Add unitypes.
100765         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
100766         (u8_uctomb_aux): Move out to separate file.
100767         (u8_uctomb): Use ucs4_t, uint8_t types.
100768         * lib/unistr/ucs4-utf8.c: New file.
100770         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
100771         (Depends-on): Add unitypes.
100772         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
100773         (u16_uctomb_aux): Move out to separate file.
100774         (u16_uctomb): Use ucs4_t, uint16_t types.
100775         * lib/unistr/ucs4-utf16.c: New file.
100777 2006-12-25  Bruno Haible  <bruno@clisp.org>
100779         * modules/unitypes: New file.
100780         * lib/unitypes.h: New file.
100781         * MODULES.html.sh (func_all_modules): New section "Unicode string
100782         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
100783         this section. Add unitypes.
100785 2007-01-08  Bruno Haible  <bruno@clisp.org>
100787         Avoid variable names that conflict with those from libtool.
100788         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
100789         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
100790         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
100791         library_names_spec to acl_library_names_spec, hardcode_* to
100792         acl_hardcode_*.
100793         Reported by Ralf Wildenhues.
100795 2007-01-08  Bruno Haible  <bruno@clisp.org>
100797         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
100798         definition.
100799         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
100800         definition.
100801         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
100802         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
100803         definition.
100804         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
100805         definition.
100806         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
100807         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
100808         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
100809         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
100810         definition.
100811         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
100812         definition.
100813         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
100814         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
100815         GC_USE_<algorithm>.
100816         * lib/gc-libgcrypt.c: Likewise.
100817         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
100818         * modules/gc-arctwo (configure.ac): Likewise.
100819         * modules/gc-des (configure.ac): Likewise.
100820         * modules/gc-hmac-md5 (configure.ac): Likewise.
100821         * modules/gc-hmac-sha1 (configure.ac): Likewise.
100822         * modules/gc-md2 (configure.ac): Likewise.
100823         * modules/gc-md4 (configure.ac): Likewise.
100824         * modules/gc-md5 (configure.ac): Likewise.
100825         * modules/gc-random (configure.ac): Likewise.
100826         * modules/gc-rijndael (configure.ac): Likewise.
100827         * modules/gc-sha1 (configure.ac): Likewise.
100829 2007-01-08  Bruno Haible  <bruno@clisp.org>
100831         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
100832         macro definition.
100833         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
100834         definition.
100835         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
100836         definition.
100837         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
100838         * modules/fcntl-safer (configure.ac): Likewise.
100839         * modules/fopen-safer (configure.ac): Likewise.
100840         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
100841         GNULIB_FWRITEERROR macro definition.
100843 2007-01-08  Bruno Haible  <bruno@clisp.org>
100845         * m4/gnulib-common.m4: New file.
100846         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
100847         (func_get_filelist): Add m4/gnulib-common.m4.
100849 2007-01-08  Bruno Haible  <bruno@clisp.org>
100851         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
100852         command.
100854 2007-01-08  Jim Meyering  <jim@meyering.net>
100856         Use a more robust test for a "can't happen" condition.
100857         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
100858         narrowed the st_size value.  Presuming the "can't happen" condition
100859         is true, that narrowing could conceivably convert an invalid st_size
100860         value into a valid one.  Instead, use a change based on Matthew
100861         Woehlke's original patch.
100863         Slight readability improvement: use an assert-like macro
100864         in place of literal "abort ()" uses.
100865         * lib/fts.c (fts_assert): Define.
100866         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
100867         Use this macro instead of a bare 'abort'.
100869 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
100871         Don't worry about using IRIX 5.3's wctype.h broken definitions;
100872         simply work around them.
100873         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
100874         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
100875         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
100876         declaring.
100877         Don't bother to define as macros, since the standard doesn't require it.
100878         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
100879         longer worry about IRIX 5.3.
100880         (HAVE_WCTYPE_CTMP_BUG): Remove.
100882 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
100884         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
100885         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
100886         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
100887         Problems reported by Georg Schwarz for IRIX 5.3.
100889         * gnulib-tool (autoconf_minversion): Take the maximum version number
100890         found, not the minimum.  Problem reported by James Youngman.
100892 2007-01-03  Karl Berry  <karl@gnu.org>
100894         * doc/error.texi: new file, explaining interaction with progname.
100895         * doc/gnulib.texi: include it.  Update copyright.
100897 2007-01-03  Simon Josefsson  <simon@josefsson.org>
100899         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
100900         AC_CANONICAL_HOST, to improve autobuild outputs.
100902 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
100903             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
100905         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
100906         sockets, server sockets, and other file descriptors.  Count errors
100907         to compute the return value.  Reorder the code a bit to be easier
100908         to follow.  Don't set event bits that were not requested (except
100909         POLLERR and POLLHUP).
100911 2007-01-01  Bruno Haible  <bruno@clisp.org>
100913         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
100915 2007-01-03  Jim Meyering  <jim@meyering.net>
100917         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
100919 2007-01-02  Bruno Haible  <bruno@clisp.org>
100921         * modules/settime (Include): Require timespec.h.
100922         * modules/nanosleep (Include): Likewise.
100924 2007-01-01  Bruno Haible  <bruno@clisp.org>
100926         * gnulib-tool (func_emit_copyright_notice): Bump year.
100927         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
100929 2007-01-01  Bruno Haible  <bruno@clisp.org>
100931         Improve support for OpenBSD.
100932         * build-aux/config.rpath (libname_spec): Export.
100933         (library_names_spec): New variable. Export.
100934         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
100935         library_names_spec from the config.rpath output. Locate shared library
100936         through the name pattern in library_names_spec.
100938 2007-01-01  Eric Blake  <ebb9@byu.net>
100940         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
100942 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
100944         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
100945         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
100946         assume the C locale, and avoid an "eval" that could cause trouble.
100947         Problem with SORT reported by Bob Proulx.
100949         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
100950         Define.  Trivial patch from Henning Nielsen Lund, originally
100951         sent to bug-grep@gnu.org today.
100953 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
100955         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
100956         struct stat.  Problem reported by Henning Nielsen Lund.
100957         * lib/acl.c: Include acl.h first, to check interface.  Don't
100958         bother to include sys/types.h and sys/stat.h again.
100960 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
100962         Import the following change from libc; problem reported by
100963         Sven Verdoolaege.
100965         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
100967         [BZ #1373]
100968         * lib/argp.h: Remove __NTH for __argp_usage inline function.
100970 2006-12-28  Jim Meyering  <jim@meyering.net>
100972         * build-aux/announce-gen: Do not assume that the package
100973         builds any of tar.gz, tar.bz2, and .xdelta files.
100974         Suggestion from Simon Josefsson.
100976 2006-12-28  Simon Josefsson  <simon@josefsson.org>
100978         * modules/announce-gen: New file.
100980 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
100982         * lib/mbchar.h: Just include <wctype.h>; the wctype module
100983         handles its gotchas now.
100984         * lib/mbswidth.c: Likewise.
100985         * lib/wcwidth.h: Likewise.
100986         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
100987         and iswcntrl; the wctype module does this stuff now.
100988         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
100989         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
100990         * modules/mbchar (Depends-on): Add wctype.
100991         * modules/mbswidth (Depends-on): Likewise.
100992         * modules/wcwidth (Depends-on): Likewise.
100994 2006-12-27  Eric Blake  <ebb9@byu.net>
100996         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
100997         module uses more than what <wctype.h> is required to provide.
100999 2006-12-26  Eric Blake  <ebb9@byu.net>
101001         * gnulib-tool (sed_extract_prog): Avoid space-tab.
101003 2006-12-26  Eric Blake  <ebb9@byu.net>
101005         * modules/absolute-header: New module.
101006         * modules/fcntl (Depends-on): Depend on it.
101007         * modules/inttypes (Depends-on): Likewise.
101008         * modules/stdint (Depends-on): Likewise.
101009         * modules/sys_stat (Depends-on): Likewise.
101010         * modules/wctype (Depends-on): Likewise.
101011         * MODULES.html.sh (Support for building libraries and
101012         executables): Document it.
101014 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
101016         * gnulib-tool (SED): Remove, undoing previous change.
101017         The problem was that it broke coreutils on Solaris, because
101018         "sed --posix" leaked into a makefile.
101019         (sed): New alias, if 'alias' and GNU sed.
101021 2006-12-24  Jim Meyering  <jim@meyering.net>
101023         Work around an fchownat bug in glibc-2.4:
101024         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
101025         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
101026         in spite of the -P option.
101027         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
101028         New macros.
101029         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
101030         * modules/openat (Files): Add lib/fchownat.c.
101031         * lib/openat.c (fchownat): Don't define here.  Move to...
101032         * lib/fchownat.c: ...this new file.
101034 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
101036         Fix bug reported by Bruno Haible in
101037         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
101038         where quotearg.c didn't compile on Mac OS X 10.2 because it
101039         lacks <wchar.h> and wint_t.
101040         * lib/wctype_.h (__wctype_wint_t): New type.
101041         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
101042         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
101043         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
101044         Arg is now of type __wctype_wint_t, not wint_t.
101045         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
101046         substitute HAVE_WINT_T.
101047         * modules/wctype (Files): Add m4/wint_t.m4.
101048         (wctype.h): Substitute HAVE_WINT_T.
101050 2006-12-23  Bruno Haible  <bruno@clisp.org>
101052         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
101054 2006-12-23  Bruno Haible  <bruno@clisp.org>
101056         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
101057         S_ISLNK.
101058         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
101059         mingw.
101061 2006-12-22  Bruno Haible  <bruno@clisp.org>
101063         * lib/copy-file.c: Include acl.h.
101064         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
101065         Close the file descriptors only after being done with copy_acl.
101066         * modules/copy-file (Depends-on): Add acl.
101068 2006-12-22  Bruno Haible  <bruno@clisp.org>
101070         * gnulib-tool (SED): New variable.
101071         Use $SED instead of sed everywhere.
101073 2006-12-22  Bruno Haible  <bruno@clisp.org>
101075         * modules/no-c++: New file.
101076         * m4/no-c++.m4: New file.
101077         * MODULES.html.sh (Support for building libraries and executables):
101078         Add no-c++.
101080 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
101082         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
101083         Include <limits.h>, and use its INT_MAX to rewrite the
101084         j loop so that it does not overflow 'int'.  Problem reported by
101085         Ralf Wildenhues in
101086         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
101087         Play it safe by shifting left by 1 rather than multiplying by 2,
101088         as GCC is less likely to optimize this away when the value
101089         is signed (when it assumes overflow leads to undefined behavior).
101090         Also, don't assume time_t uses two's complement.
101092 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
101094         * MODULES.html.sh: New module wctype.
101095         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
101096         * lib/fnmatch.c: Don't bother to include <wchar.h> before
101097         <wctype.h>, since the new wctype module should fix this.
101098         * lib/quotearg.c: Include <wctype.h> unconditionally, since
101099         the wctype module should arrange for it.
101100         * lib/regex_internal.h: Likewise.
101101         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
101102         since the wctype module should handle this now.
101103         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
101104         * modules/fnmatch (Depends-on): Add wctype.
101105         * modules/quotearg (Depends-on): Likewise.
101106         * modules/regex (Depends-on): Likewise.
101108 2006-12-19  Bruno Haible  <bruno@clisp.org>
101110         * lib/strdup.h [C++]: Wrap definitions in extern "C".
101111         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
101113 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101115         * modules/savewd (Depends-on): Fix dependency on fcntl.
101117 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
101119         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
101120         conforms to C99, rather than relying on the user's environment
101121         setting of STDINT_H.
101123 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
101124         and Eric Blake  <ebb9@byu.net>
101126         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
101127         This is more consistent with the other defines here.
101128         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
101129         Port to z/OS.  Problem reported by Paul Gilmartin.
101130         Change local vars to use gl_ prefix rather than ac_.
101131         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
101132         with other defines.
101133         * modules/double-slash-root: New module.
101134         * modules/dirname (Files): Remove m4/double-slash-root.m4.
101135         (Depends-on): Add double-slash-root.
101136         * MODULES.html.sh (File system functions): Mention new module.
101138 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
101140         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
101141         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
101142         This is for the benefit of gzip, which doesn't do i18n.
101144 2006-12-12  Jim Meyering  <jim@meyering.net>
101146         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
101147         Reported by Andreas Schwab <schwab@suse.de>.
101149 2006-12-12  Bruno Haible  <bruno@clisp.org>
101151         Merge these changes.
101152         2006-09-05  Bruno Haible  <bruno@clisp.org>
101153         * lib/iconvme.c (iconv_string): No need to save and restore errno when
101154         iconv_alloc succeeded.
101155         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
101156         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
101157         test for " && dest " at the end - dest is always != NULL there. Call
101158         iconv with 4xNULL arguments initially, to reset the state. Call iconv
101159         with 2xNULL arguments, also to flush the state storage. Handle the
101160         IRIX iconv behaviour. Realloc the final result, to throw away unused
101161         memory.
101163 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
101165         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
101166         and fchmodat unconditionally, since glibc 2.4 has them.
101167         Problem reported by Arkadiusz Miskiewicz.
101169 2006-12-10  Bruno Haible  <bruno@clisp.org>
101171         * gnulib-tool (func_import): Show the include files only for those
101172         modules that are copied and specified.
101173         Reported by Karl Berry.
101175 2006-12-08  Jim Meyering  <jim@meyering.net>
101177         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
101178         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
101180         * build-aux/announce-gen: Add two new options, both optional:
101181         --bootstrap-tools=TOOL_LIST
101182               a comma-separated list of tools, e.g.,
101183               autoconf,automake,bison,gnulib
101184         --gnulib-snapshot-date=DATE
101185               if gnulib is in the bootstrap tool list,
101186               then report this as the snapshot date.
101187               If not specified, use the current date/time.
101188               If you specify a date here, be sure it's UTC.
101190 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101192         * tests/test-argp-2.sh: Fix test to match actual output.
101193         (func_compare): Fix sed script to be portable.
101195 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
101197         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
101198         workaround for this case.  It is not autoconfigured now; offhand
101199         it's hard to see how to autoconfigure it.
101201 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
101203         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
101204         a directory that is about to be chowned.  Such a directory's
101205         initial file permissions should permit the owner only and this
101206         should not be changed until after the chown, since the group and
101207         other bits would be incorrect if they granted permission before
101208         the chown.
101210         Fix porting problem for iswctype reported by Georg Schwarz in:
101211         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
101212         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
101213         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
101214         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
101215         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
101217 2006-12-03  Jim Meyering  <jim@meyering.net>
101219         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
101220         p->fts_statp may not yet be defined.
101221         (fts_read): Instead, set it in the caller, once p->fts_statp is
101222         sure to be defined, and corresponds to a top-level directory.
101223         This bug made du -x fail.  Here's the coreutils test case:
101224         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
101225         Reported by Mike Frysinger.
101227 2006-12-01  Jim Meyering  <jim@meyering.net>
101229         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
101230         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
101231         Reported by Simon Josefsson.
101233 2006-11-30  Jim Meyering  <jim@meyering.net>
101235         * m4/warning.m4: Use the all-permissive copyright notice
101236         recommended by RMS (rather than LGPL).
101237         * m4/vararrays.m4: Likewise.
101238         * m4/flexmember.m4: Likewise.
101240 2006-11-29  Bruno Haible  <bruno@clisp.org>
101242         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
101243         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
101244         using +=.
101245         Reported by Simon Josefsson <simon@josefsson.org>.
101247 2006-11-28  James Youngman  <jay@gnu.org>
101249         * README: Advise users that they might find the bug-gnulib@gnu.org
101250         and autotools-announce@gnu.org mailing lists useful.
101252 2006-11-28  Bruno Haible  <bruno@clisp.org>
101254         * m4/ptrdiff_max.m4: Remove file.
101256 2006-11-21  Bruno Haible  <bruno@clisp.org>
101258         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
101259         _AC_COMPUTE_INT.
101260         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
101261         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
101262         _AC_COMPUTE_INT.
101263         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
101264         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
101265         _AC_COMPUTE_INT.
101266         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
101268 2006-11-28  Jim Meyering  <jim@meyering.net>
101270         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
101271         warning from "gcc -Wshadow" about shadowing the builtin.
101273 2006-11-27  Bruno Haible  <bruno@clisp.org>
101275         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
101276         _AC_COMPUTE_INT.
101277         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
101279 2006-11-27  Bruno Haible  <bruno@clisp.org>
101280             Paul Eggert  <eggert@cs.ucla.edu>
101282         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
101284 2006-11-26  Bruno Haible  <bruno@clisp.org>
101286         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
101287         noinst_LTLIBRARIES.
101289 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
101290             Bruno Haible  <bruno@clisp.org>
101292         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
101293         if compiling with "gcc -ansi".
101295 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
101297         Fix some incompatibilities with gcc -ansi -pedantic.
101298         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
101299         if compiling pedantically with GCC, unless it's C99 or later.
101300         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
101301         it mishandles gcc -ansi -pedantic as well.
101302         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
101303         if gcc -pedantic.
101304         * lib/regexec.c (check_node_accept_bytes): Don't use auto
101305         initializers for struct if -pedantic, unless it's C99 or later.
101307 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
101309         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
101310         Don't close an fd more than once. Identical atimes indicate
101311         success, not failure.
101313 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
101315         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
101317 2006-11-23  Jim Meyering  <jim@meyering.net>
101319         * build-aux/announce-gen: New file.  From coreutils.
101321 2006-11-22  Jim Meyering  <jim@meyering.net>
101323         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
101324         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
101325         (fts_read): Use a temporary to narrow the overused st_size member
101326         before using it in a switch statement.  Reported by Matthew Woehlke.
101328         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
101329         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
101331 2006-11-20  Bruno Haible  <bruno@clisp.org>
101333         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
101334         changequote instead of pairs of brackets.
101335         Reported by Andreas Schwab <schwab@suse.de>.
101337 2006-11-21  Jim Meyering  <jim@meyering.net>
101339         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
101340         so as to remain compatible with older compilers.
101341         Patch from Michael Deutschmann.
101343 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
101345         * MODULES.html.sh (File system functions): Add openat.
101347         * lib/openat.h (rpl_fstatat): New macro, if
101348         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
101349         (fstatat): Define to rpl_fstatat under the same conditions,
101350         unless COMPILING_FSTATAT.
101351         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
101352         seems to have the bug.
101353         * lib/fstatat.c: New file.
101354         * modules/openat (Files): Add it.
101356 2006-11-20  Bruno Haible  <bruno@clisp.org>
101358         * Makefile: New file.
101360 2006-11-20  Jim Meyering  <jim@meyering.net>
101362         The beginnings of syntax-related checks for gnulib.
101363         * lib/Makefile: New file.
101364         * lib/t-idcache: New script.  Ensure that the two halves of
101365         idcache.c stay in sync.
101367         * lib/idcache.c: Adjust comments in user- and group- portions to
101368         be more accurate, and to be consistent with one another.
101370 2006-11-20  Jim Meyering  <jim@meyering.net>
101372         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
101373         continue using the flexible array member (thus, this module performs
101374         half as many malloc calls), with the addition that...
101375         (getgroup, getuser): Consistently record a non-match via an empty
101376         "name" string, and map an empty string match to a NULL return value.
101377         * modules/idcache (Depends-on): Re-add flexmember.
101379         * lib/idcache.c (getuser): Remove all uses of the register keyword.
101380         (getuidbyname, getgroup, getgidbyname): Likewise.
101382         Use cleaner syntax: NULL rather than 0.
101383         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
101385 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
101387         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
101388         It mishandled the case where the group was missing.
101389         Problem reported by Greg Schafer.
101390         * modules/idcache: Likewise.
101392 2006-11-18  Jim Meyering  <jim@meyering.net>
101394         * check-module (%exempt_header): Add exception for some
101395         conditionally-included headers.
101397         * modules/i-ring (Depends-on): Add verify.
101398         (License): Change to LGPL.
101400 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
101402         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
101403         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
101404         and inttostr.h.  Use snprintf rather than uinttostr, so that
101405         LGPLed code doesn't depend on GPLed.
101407 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
101409         * modules/inline (License): Change from GPL to LGPL.
101411 2006-11-17  Jim Meyering  <jim@meyering.net>
101413         * modules/d-type (License): Switch to LGPL.
101415 2006-11-15  Bruno Haible  <bruno@clisp.org>
101417         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
101419 2006-11-15  Eric Blake  <ebb9@byu.net>
101421         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
101422         the module dependency.
101424 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
101425             Bruno Haible  <bruno@clisp.org>
101427         * gnulib-tool (func_create_testdir): Add license consistency check.
101429 2006-11-15  Eric Blake  <ebb9@byu.net>
101431         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
101432         random "(cached)" in configure output.
101434 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101436         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
101437         test for conforming inttypes.h is both announced and cached.
101439         * MODULES.html.sh (seen_modules, seen_files): New variables.
101440         (func_module): Rewrite to use a few less gnulib-tool and sed
101441         invocations.  Avoid a couple of quadratic algorithms for ...
101442         (missed_modules, missed_files): ... these, with ...
101443         (func_append, func_tmpdir): ... these new functions, from
101444         gnulib-tool.  Analogously, install traps for cleanup.
101446         * tests/test-gc.c (main): Remove unused variables.
101447         * tests/test-read-file.c: Include stdlib.h, for 'free'.
101449 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
101451         * modules/inttostr (License): Change to LGPL.
101453 2006-11-14  Eric Blake  <ebb9@byu.net>
101455         * modules/tempname (License): Change to LGPL.
101457 2006-11-14  Eric Blake  <ebb9@byu.net>
101459         * doc/functions.texi (Function Portability): *printf functions on
101460         Cygwin now understand all POSIX size specifiers.
101462 2006-11-14  Bruno Haible  <bruno@clisp.org>
101464         * modules/c-ctype (License): Change to LGPL.
101466 2006-11-12  Bruno Haible  <bruno@clisp.org>
101468         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
101469         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
101470         for GNOME libraries, for which the include files are installed in
101471         subdirectories of $prefix/include.
101473 2006-11-12  Bruno Haible  <bruno@clisp.org>
101475         * m4/lib-link.m4: Require at least autoconf-2.54.
101476         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
101477         name to underscores for the --with option.
101479 2006-11-13  Bruno Haible  <bruno@clisp.org>
101481         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
101482         the tests directory.
101483         Reported by Ralf Wildenhues.
101485 2006-11-13  Bruno Haible  <bruno@clisp.org>
101487         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
101488         (func_emit_initmacro_end): Undo the override here.
101489         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
101490         Works around the famous automake error in coreutils.
101492 2006-11-13  Eric Blake  <ebb9@byu.net>
101494         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
101495         element, not its node.
101497 2006-11-12  Bruno Haible  <bruno@clisp.org>
101499         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
101500         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
101502 2006-11-12  Bruno Haible  <bruno@clisp.org>
101504         * gnulib-tool: New option --local-symlink.
101505         (func_usage): Document it.
101506         (lsymbolic): New variable.
101507         (func_import, func_create_testdir): If --symlink was not specified,
101508         test whether --local-symlink was specified and the file comes from
101509         the local_gnulib_dir.
101511 2006-11-12  Bruno Haible  <bruno@clisp.org>
101513         * gnulib-tool (func_ln): New function.
101514         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
101516 2006-11-12  Bruno Haible  <bruno@clisp.org>
101518         Finish support for source files in subdirectories.
101519         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
101520         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
101521         AUTOMAKE_OPTIONS.
101522         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
101524 2006-11-12  Bruno Haible  <bruno@clisp.org>
101526         * gnulib-tool (func_get_automake_snippet): Synthesize also an
101527         EXTRA_lib_SOURCES augmentation.
101528         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
101530 2006-11-12  Jim Meyering  <jim@meyering.net>
101532         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
101533         file descriptors.  This also averts a failure on systems with
101534         native openat support when a traversed directory lacks "x" access.
101535         * lib/fts_.h: Include "i-ring.h"
101536         (struct FTS) [fts_fd_ring]: New member.
101537         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
101538         (FCHDIR): Add parentheses.
101539         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
101540         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
101541         When descending, rather than simply closing the previous
101542         fts_cwd_fd value, push that file descriptor onto the ring.
101543         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
101544         (fts_open): Initialize the new fd_ring member.
101545         (fts_close): Clear the ring.
101546         (fts_safe_changedir): When possible, use our new fd_ring to skip
101547         the diropen and fstat and dev/ino comparison that would normally
101548         accompany a virtual `chdir ("..")'.
101550         * modules/fts (Depends-on): Add i-ring.
101551         * modules/i-ring: New module.
101552         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
101553         * m4/i-ring.m4: New file.
101555 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101557         * gnulib-tool (func_create_testdir): Fix replacement of
101558         `build-aux' in configure.ac.  Run autotools in gltests
101559         subdirectory.
101560         (func_create_testdir, func_create_megatestdir, test): There is
101561         no need for '--force' in most autotool invocations in a new
101562         tree.  Actually fail the whole test if any of the tools, or the
101563         configure or make stages fail.
101565         Sync from Automake.
101566         * build-aux/gnupload: Revert last change.  Add pointer to upload
101567         instructions of the GNU Maintenance Instructions.
101568         Suggestion by Karl Berry.
101570 2006-11-10  Jim Meyering  <jim@meyering.net>
101572         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
101574 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
101576         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
101577         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
101578         (bind_textdomain_codeset) [! ENABLE_NLS]:
101579         Evaluate all the arguments.  That way, callers get compatible behavior
101580         if the arguments have side effects.  Also, it avoids some GCC
101581         diagnostics in some cases; Joel E. Denny reported problems when Bison
101582         was configured with --enable-gcc-warnigs.
101584 2006-11-10  Jim Meyering  <jim@meyering.net>
101586         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
101587         relevant options in CFLAGS (like -O, -fno-inline) are taken into
101588         account.
101590 2006-11-10  Jim Meyering  <jim@meyering.net>
101592         * modules/inline: New file/module.
101593         * modules/xalloc (Files): Remove m4/inline.m4.
101594         (Depends-on): Add inline, instead.
101595         * modules/oset: Likewise.
101596         * modules/list: Likewise.
101598 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
101600         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
101601         Problem reported by Matthew Woehlke.
101603 2006-11-09  Bruno Haible  <bruno@clisp.org>
101605         * lib/tempname.c (gen_tempname): Remove variant that invokes
101606         __gen_tempname.
101607         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
101608         __gen_tempname.
101610 2006-11-08  Bruno Haible  <bruno@clisp.org>
101612         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
101613         to 'yes' instead of 'cross-compiling'.
101615 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
101617         * lib/quotearg.h (quotearg_free): New decl.
101618         * lib/quotearg.c (quotearg_free): New function.
101619         (slot0, nslots, slotvec0, slotvec):
101620         Now file-scope so that quotearg_free can get at them.
101622 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101624         Sync from Automake.
101625         * build-aux/gnupload: Add missing 'gnu' to example URL.
101626         Report by Karl Berry.
101628 2006-11-08  Bruno Haible  <bruno@clisp.org>
101630         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
101631         Suggested by Paul Eggert.
101633 2006-11-08  Jim Meyering  <jim@meyering.net>
101635         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
101636         It's already included if !_LIBC.
101637         (fts_safe_changedir): Add a comment.
101639 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
101641         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
101642         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
101643         Matthew Woehlke.
101645         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
101646         definitions up, to avoid colliding with change below.
101647         (static_inline) [HAVE_INLINE]: New macro.
101648         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
101649         Provide extern decls when !HAVE_INLINE.  Do not define unless
101650         static_inline is defined, either by us or by xmalloc.c.  Use
101651         static_inline rather than static inline.
101652         (XCALLOC): Optimize sizeof(T) = 1 case.
101653         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
101655 2006-11-07  Bruno Haible  <bruno@clisp.org>
101657         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
101658         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
101659         AC_C_INLINE.
101660         * modules/xalloc (Files): Add m4/inline.m4.
101662 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101664         * README: Fix typo.
101665         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
101666         (Miscellanous Notes): ...from this.
101668 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
101670         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
101671         Mention that offsetof should be used instead of sizeof.
101672         From Bruno Haible.
101674 2006-11-07  Bruno Haible  <bruno@clisp.org>
101676         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
101678 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
101680         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
101681         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
101682         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
101683         (gl_tree_add_before, gl_tree_add_after):
101684         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
101685         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
101686         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
101687         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
101688         (gl_linked_add_after, gl_linked_add_at): Likewise.
101689         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
101690         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
101691         (gl_tree_add_before, gl_tree_add_after): Likewise.
101692         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
101693         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
101694         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
101696 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101698         * lib/gl_oset.h: Use C comment style, not C++ comment style.
101700 2006-11-06  Bruno Haible  <bruno@clisp.org>
101702         * m4/inline.m4: New file.
101703         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
101704         * modules/list (Files): Add m4/inline.m4.
101705         * modules/oset (Files): Likewise.
101707 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
101709         * lib/idcache.c: Include <stddef.h>, for offsetof.
101710         (struct userid.name): Change from char * to a flexible array member.
101711         All uses changed.
101712         * modules/idcache (Depends-on): Add flexmember.
101714         * MODULES.html.sh (Core language properties): New module flexmember.
101715         * modules/flexmember, m4/flexmember.m4: New files.
101717         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
101718         inline functions that are identical with the old xnmalloc_inline,
101719         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
101720         that we can avoid some unnecessary integer multiplications and
101721         divisions in the common case where the element size is known at
101722         compile time.
101723         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
101724         needed.
101725         (xnboundedmalloc): Remove.
101726         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
101727         arguments, for consistency with rest of this header.
101728         (xcharalloc): Rewrite using XNMALLOC.
101729         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
101730         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
101731         versions have been moved to lib/xalloc.h and renamed to be the
101732         non-*_inline versions.
101733         (xmalloc, xrealloc): Implement without reference to the xnmalloc
101734         and xnrealloc functions, since those functions are now inline and
101735         now call us.
101736         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
101737         renaming described above.
101738         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
101739         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
101740         captures the dependency in AC_C_INLINE.
101742         New module canonicalize-lgpl, proposed by Charles Wilson in
101743         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
101744         with a few small changes afterwards.
101745         * MODULES.html.sh (File system functions): New module
101746         canonicalize-lgpl.
101747         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
101748         and canonicalize_file_name.
101749         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
101750         * modules/canonicalize-lgpl: New files.
101752 2006-11-05  Bruno Haible  <bruno@clisp.org>
101754         * gnulib-tool (func_import, func_create_testdir): Create directories
101755         also for files in subdirectories of lib/.
101757 2006-11-05  Bruno Haible  <bruno@clisp.org>
101759         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
101760         ANSI C compliant.
101762 2006-11-03  Bruno Haible  <bruno@clisp.org>
101764         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
101765         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
101766         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
101767         (xnboundedmalloc): New inline function.
101768         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
101769         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
101770         xmalloc.
101771         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
101772         xmalloc.
101773         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
101774         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
101775         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
101776         xmalloc.
101777         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
101778         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
101779         xmalloc.
101780         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
101781         gl_tree_add_after): Use XMALLOC instead of xmalloc.
101782         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
101783         xmalloc.
101784         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
101785         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
101786         gl_tree_add_after): Use XMALLOC instead of xmalloc.
101787         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
101788         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
101789         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
101790         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
101792 2006-11-03  Bruno Haible  <bruno@clisp.org>
101794         * lib/c-ctype.h [C++]: Define functions without name mangling.
101795         * lib/fwriteerror.h [C++]: Likewise.
101796         * lib/gcd.h [C++]: Likewise.
101797         * lib/linebreak.h [C++]: Likewise.
101799 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
101801         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
101802         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
101803         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
101804         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
101805         Check for functions and headers just once.
101806         Check for declaration of canonicalize_file_name.
101807         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
101809 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
101811         * gnulib-tool (func_import): Fix typo in actioncmd.
101813 2006-11-02  Bruno Haible  <bruno@clisp.org>
101815         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
101816         newline sequence in the Makefile.am snippet as a space, like "make"
101817         does.
101818         Reported by Roger Persson <perrog@gmail.com>.
101820 2006-11-01  Bruno Haible  <bruno@clisp.org>
101822         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
101823         already declared in <string.h>.
101824         * lib/strcase.h (strncasecmp): Don't declare it if yes.
101826 2006-11-01  Bruno Haible  <bruno@clisp.org>
101828         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
101829         * lib/strcase.h: Include <string.h>.
101830         (strcasecmp): Define to rpl_strcasecmp here.
101832 2006-11-01  Bruno Haible  <bruno@clisp.org>
101834         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
101836 2006-11-01  Eric Blake  <ebb9@byu.net>
101838         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
101840         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
101842 2006-10-29  Bruno Haible  <bruno@clisp.org>
101844         Make it compile in C++ mode.
101845         * lib/full-write.c (full_rw): Add a cast.
101847 2006-11-01  Bruno Haible  <bruno@clisp.org>
101849         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
101850         be POSIX compliant.
101851         Reported by Roger Persson <perrog@gmail.com>.
101853 2006-11-01  Eric Blake  <ebb9@byu.net>
101855         * lib/getopt_.h: Fix comments.
101857 2006-10-31  Eric Blake  <ebb9@byu.net>
101859         * modules/tmpdir (Depends-on): Add sys_stat.
101860         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
101861         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
101862         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
101863         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
101864         tempname.
101866 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
101868         Avoid some C++ diagnostics reported by Bruno Haible.
101869         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
101870         xmalloc.
101871         (quotearg_alloc): Use xcharalloc rather than xmalloc.
101872         (struct slotvec): Move to top level.
101873         (quotearg_n_options): Rewrite to avoid xmalloc.
101874         * lib/xalloc.h (xcharalloc): New function.
101875         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
101876         [defined __cplusplus]: Add function template that provides result
101877         type propagation.  This part of the change is from Bruno Haible.
101879 2006-10-29  Bruno Haible  <bruno@clisp.org>
101881         Make it compile in C++ mode.
101882         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
101883         * lib/strnlen1.c (strnlen1): Cast memchr result.
101884         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
101885         * lib/clean-temp.c (string_equals, string_hash): Add casts.
101886         (create_temp_dir): Rename local variable 'template'.
101887         (compile_csharp_using_sscli): Add cast.
101888         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
101889         * lib/findprog.c (find_in_path): Likewise.
101890         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
101891         * lib/wait-process.c (register_slave_subprocess): Likewise.
101893 2006-10-22  Bruno Haible  <bruno@clisp.org>
101895         * modules/tsearch: New file.
101896         * lib/tsearch.h: New file.
101897         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
101898         * m4/tsearch.m4: New file.
101899         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
101901 2006-10-29  Eric Blake  <ebb9@byu.net>
101903         * lib/arcfour.c: Assume config.h.
101904         * lib/arctwo.c: Likewise.
101905         * lib/base64.c: Likewise.
101906         * lib/check-version.c: Likewise.
101907         * lib/crc.c: Likewise.
101908         * lib/des.c: Likewise.
101909         * lib/gc-gnulib.c: Likewise.
101910         * lib/gc-libgcrypt.c: Likewise.
101911         * lib/gc-pbkdf2-sha1.c: Likewise.
101912         * lib/getaddrinfo.c: Likewise.
101913         * lib/getdelim.c: Likewise.
101914         * lib/getline.c: Likewise.
101915         * lib/hmac-md5.c: Likewise.
101916         * lib/hmac-sha1.c: Likewise.
101917         * lib/iconvme.c: Likewise.
101918         * lib/md2.c: Likewise.
101919         * lib/md4.c: Likewise.
101920         * lib/memxor.c: Likewise.
101921         * lib/read-file.c: Likewise.
101922         * lib/readline.c: Likewise.
101923         * lib/rijndael-alg-fst.c: Likewise.
101924         * lib/rijndael-api-fst.c: Likewise.
101925         * lib/xgetdomainname.c: Likewise.
101927 2006-10-28  Eric Blake  <ebb9@byu.net>
101929         * lib/xstrndup.c: Assume config.h.
101931 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
101933         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
101934         stat-macros.h is now for our own macros, whereas stat_h is for
101935         macros in the <sys/stat.h> name space.
101936         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
101937         (STAT_MACROS_H): Remove.
101938         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
101939         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
101940         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
101941         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
101942         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
101943         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
101944         Move these macros to ...
101945         * lib/stat_.h: here.  Don't include stat-macros.h.
101946         * lib/canonicalize.c: Don't include stat-macros.h.
101947         * lib/chown.c: Likewise.
101948         * lib/euidaccess.c: Likewise.
101949         * lib/file-type.c: Likewise.
101950         * lib/filemode.c: Likewise.
101951         * lib/glob.c: Likewise.
101952         * lib/isapipe.c: Likewise.
101953         * lib/lchown.c: Likewise.
101954         * lib/lstat.c: Likewise.
101955         * lib/mkdir-p.c: Likewise.
101956         * lib/rmdir.c: Likewise.
101957         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
101958         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
101959         unless mkdir isn't declared, to speed up 'configure'.
101960         Always create sys/stat.h, since it's unlikely any real sys/stat.h
101961         would define all the S_* symbols.
101962         * modules/canonicalize (Depends-on):
101963         Depend on sys_stat, not stat-macros.
101964         * modules/chown: Likewise.
101965         * modules/euidaccess: Likewise.
101966         * modules/filemode: Likewise.
101967         * modules/file-type: Likewise.
101968         * modules/glob: Likewise.
101969         * modules/isapipe: Likewise.
101970         * modules/lchown: Likewise.
101971         * modules/lstat: Likewise.
101972         * modules/mkancesdirs: Likewise.
101973         * modules/rmdir: Likewise.
101974         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
101975         * modules/modechange: Likewise.
101976         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
101977         (configure.ac): Remove gl_STAT_MACROS.
101978         * modules/sys_stat (Depends-on): Remove stat-macros.
101980 2006-10-27  Bruno Haible  <bruno@clisp.org>
101982         * m4/signed.m4: Remove file.
101983         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
101984         invocation.
101985         * modules/vasnprintf (Files): Remove m4/signed.m4.
101987 2006-10-27  Bruno Haible  <bruno@clisp.org>
101989         Update to GNU gettext 0.16.
101990         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
101991         m4/inttypes-h.m4, m4/signed.m4.
101992         * m4/gettext.m4: Update to GNU gettext 0.16.
101993         * m4/intl.m4: New file, from GNU gettext.
101994         * m4/intldir.m4: New file, from GNU gettext.
101995         * config/srclist.txt: Update
101997 2006-10-27  Eric Blake  <ebb9@byu.net>
101999         * MODULES.html.sh: Document tempname.
102000         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
102001         dependencies.
102002         (Files): Move lib/tempname.c...
102003         * modules/tempname: ...to this new module.
102004         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
102005         (gl_PREREQ_TEMPNAME): Move...
102006         * m4/tempname.m4: ...to this new file.
102007         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
102008         * modules/sys_stat (Depends-on): Add stat-macros.
102009         * lib/stat_.h (includes): Pick up stat macros.
102010         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
102011         if stat macros are broken.
102012         * lib/tempname.c (includes): No need to include "stat-macros.h".
102013         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
102014         (direxists, __path_search) [!_LIBC]: Don't compile these in
102015         gnulib; the tmpdir module covers that.
102016         * lib/tempname.h: New file.
102018 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
102020         * COPYING: Explain how gnulib-tool converts licence headers.
102021         Almost all wording by Eric Blake.
102023 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
102025         * lib/mbchar.h (is_basic_table): Make read-only.
102026         * lib/mbchar.c (is_basic_table): Likewise.
102027         Reported by John Darrington.
102029 2006-10-25  Bruno Haible  <bruno@clisp.org>
102031         * lib/progname.h (set_program_name): Undefine before defining.
102033 2006-10-25  Bruno Haible  <bruno@clisp.org>
102035         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
102036         false for non-gcc C++ compilers.
102037         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
102039 2006-10-24  Bruno Haible  <bruno@clisp.org>
102041         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
102042         iconv implementations like Irix iconv.
102044 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
102046         * modules/vararrays: New file.
102047         * m4/vararrays.m4: New file, taken from diffutils.
102048         * MODULES.html.sh: New module vararrays.
102050 2006-10-24  Karl Berry  <karl@gnu.org>
102052         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
102053         Don't call GNU Unix.
102055 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102057         * users.txt: Add Libtool.
102059         Sync from Libtool:
102061         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
102063         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
102064         to gnulib's policy of including config.h unconditionally.
102066 2006-10-24  Bruno Haible  <bruno@clisp.org>
102068         * modules/wcwidth (Files): Add m4/wint_t.m4.
102069         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
102070         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
102072 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
102074         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
102075         to pacify GCC with some -W flags enabled.  Problem reported by
102076         Bruno Haible.
102078 2006-10-24  Jim Meyering  <jim@meyering.net>
102080         * MODULES.html.sh: Remove uinttostr.  It's not a module.
102081         Reported by Karl Berry.
102083 2006-10-23  Bruno Haible  <bruno@clisp.org>
102085         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
102087 2006-10-24  Bruno Haible  <bruno@clisp.org>
102089         * lib/gl_list.h: Use C comment style, not C++ comment style.
102091 2006-10-23  Eric Blake  <ebb9@byu.net>
102093         * lib/getaddrinfo.c (includes): Add missing include.
102095 2006-10-23  Bruno Haible  <bruno@clisp.org>
102096             Paul Eggert  <eggert@cs.ucla.edu>
102098         Ability to rename obstack_free.
102099         * lib/obstack.h (__obstack_free): New macro. Declare instead of
102100         obstack_free.
102101         (obstack_free): Invoke the __obstack_free macro.
102102         * lib/obstack.c (obstack_free): Use __obstack_free macro.
102104 2006-10-23  Bruno Haible  <bruno@clisp.org>
102105             Paul Eggert  <eggert@cs.ucla.edu>
102107         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
102108         __argc, __argv from the declaration. (They are defined as macros on
102109         mingw.)
102111 2006-10-22  Bruno Haible  <bruno@clisp.org>
102113         * doc/gnulib-intro.texi: New file.
102114         * doc/gnulib.texi: Include it.
102116 2006-10-21  Bruno Haible  <bruno@clisp.org>
102118         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
102119         "Introduction", "Miscellanous Notes", "Particular Modules".
102121 2006-10-21  Bruno Haible  <bruno@clisp.org>
102123         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
102124         Change mostlyclean-local rule to avoid sh syntax error from bash
102125         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
102127 2006-10-23  Jim Meyering  <jim@meyering.net>
102129         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
102130         in place of snprintf.
102132         * modules/inttostr (Files): Add lib/uinttostr.c.
102133         * lib/uinttostr.c (inttostr): New file/function.
102134         * lib/inttostr.h (uinttostr): Declare.
102135         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
102136         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
102137         Add uinttostr.
102138         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
102140 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
102142         * lib/canonicalize.c (ELOOP): Define if not already defined.
102143         Problem reported by Bruno Haible in
102144         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
102146 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
102148         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
102149         Problem reported by Perry Smith and Ville Laurikari.
102151         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
102152         uses.
102154 2006-10-19  Bruno Haible  <bruno@clisp.org>
102156         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
102157         for mingw.
102159 2006-10-19  Bruno Haible  <bruno@clisp.org>
102161         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
102162         Needed for mingw.
102164 2006-10-19  Bruno Haible  <bruno@clisp.org>
102166         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
102168 2006-10-19  Bruno Haible  <bruno@clisp.org>
102170         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
102171         it.
102173 2006-10-19  Bruno Haible  <bruno@clisp.org>
102175         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
102176         invocation.
102178 2006-10-19  Bruno Haible  <bruno@clisp.org>
102180         * gnulib-tool (func_create_testdir): Don't include ftruncate and
102181         mountlist by default.
102183 2006-10-16  Bruno Haible  <bruno@clisp.org>
102185         * lib/c-strstr.c: Include c-strstr.h.
102187 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
102189         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
102190         in a slash.
102192 2006-10-18  Bruno Haible  <bruno@clisp.org>
102194         * lib/lock.h [C++]: Wrap definitions in extern "C".
102196 2006-10-18  Bruno Haible  <bruno@clisp.org>
102198         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
102199         gl_LIBOBJS list.
102201 2006-10-18  Bruno Haible  <bruno@clisp.org>
102203         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
102205 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
102207         * lib/xstrtol.h: Include gettext.h.
102208         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
102209         Problem reported by Eric Blake.
102210         * modules/xstrtol (Depends-on): Add gettext-h.
102212 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
102214         * lib/strftime.c (advance): New macro.
102215         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
102216         incomplete type, so you can't add 0 to it.  Problem and patch
102217         reported by Eelco Dolstra for dietlibc.
102219 2006-10-18  Jim Meyering  <jim@meyering.net>
102221         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
102222         type for a local, and rename it: s/up/user_proc/.
102224 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
102226         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
102227         READ_UTMP_USER_PROCESS.
102228         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
102230 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
102232         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
102233         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
102235 2006-10-17  Eric Blake  <ebb9@byu.net>
102237         * lib/sigprocmask.c (sigprocmask): Fix typo.
102239         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
102241         * modules/clean-temp (Makefile.am): Don't add to make output...
102242         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
102243         config.h.
102245 2006-10-17  Bruno Haible  <bruno@clisp.org>
102247         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
102248         differently if DEFAULT_TEXT_DOMAIN is set.
102250 2006-10-16  Bruno Haible  <bruno@clisp.org>
102252         * lib/clean-temp.c: Include fwriteerror.h.
102254 2006-10-16  Bruno Haible  <bruno@clisp.org>
102256         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
102258 2006-10-16  Bruno Haible  <bruno@clisp.org>
102260         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
102261         * lib/sigprocmask.h: Include <sys/types.h>.
102262         (sigset_t): Use the system's definition if present.
102264 2006-10-17  Eric Blake  <ebb9@byu.net>
102266         * lib/xvasprintf.c (includes): Assume config.h.
102267         * lib/xasprintf.c (includes): Likewise.
102269 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
102271         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
102272         at least as wide as intmax_t.
102274 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
102276         (Imported from Automake.)
102277         * build-aux/gnupload: Update to version 1.1 of directive file.
102279 2006-10-16  Eric Blake  <ebb9@byu.net>
102281         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
102282         match Automake 1.10a.
102284 2006-10-14  Bruno Haible  <bruno@clisp.org>
102286         * modules/sigprocmask: New file.
102287         * lib/sigprocmask.h: New file.
102288         * lib/sigprocmask.c: New file.
102289         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
102290         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
102291         request sigprocmask.o.
102292         (gl_PREREQ_SIGPROCMASK): New macro.
102293         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
102294         (Depends-on): Add sigprocmask.
102295         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
102296         gt_SIGNALBLOCKING. Test for 'raise' only once.
102297         * lib/fatal-signal.c: Include sigprocmask.h.
102298         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
102299         unblock_fatal_signals): Define always.
102300         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
102301         sigprocmask.
102303 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102305         Sync from Automake.
102306         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
102307         which incorrectly sets the mode of an existing destination
102308         directory.  In some cases the unpatched install-sh could do the
102309         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
102310         system.  We hope this is rare in practice, but it's clearly worth
102311         fixing.  Problem reported by Alex Unleashed in
102312         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
102313         Also, don't bother to check for -m bugs unless we're using -m;
102314         suggested by Stepan Kasal.
102316 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102318         Sync from Automake.
102319         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
102320         `-c' flag, so they appear at the same position as in %FASTDEP%
102321         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
102322         which ignores unknown options only after the first non-option.
102323         Bug report against M4 by Nelson H. F. Beebe.
102325 2006-10-13  Jim Meyering  <jim@meyering.net>
102327         Fix a bug in yesterday's change.
102328         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
102329         p->fts_statp->st_dev would be used uninitialized.
102330         Ensures that we always call fts_stat on the very first entry.
102331         Miklos Szeredi reported that find -xdev stopped working.
102333 2006-10-12  Bruno Haible  <bruno@clisp.org>
102335         * gnulib-tool (func_get_automake_snippet): Append an automatically
102336         computed EXTRA_DIST augmentation.
102337         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
102338         * modules/alloca-opt (Makefile.am): Likewise.
102339         * modules/allocsa (Makefile.am): Likewise.
102340         * modules/arcfour (Makefile.am): Likewise.
102341         * modules/arctwo (Makefile.am): Likewise.
102342         * modules/argmatch (Makefile.am): Likewise.
102343         * modules/argz (Makefile.am): Likewise.
102344         * modules/atexit (Makefile.am): Likewise.
102345         * modules/backupfile (Makefile.am): Likewise.
102346         * modules/byteswap (Makefile.am): Likewise.
102347         * modules/c-strtod (Makefile.am): Likewise.
102348         * modules/c-strtold (Makefile.am): Likewise.
102349         * modules/calloc (Makefile.am): Likewise.
102350         * modules/canon-host (Makefile.am): Likewise.
102351         * modules/canonicalize (Makefile.am): Likewise.
102352         * modules/chdir-long (Makefile.am): Likewise.
102353         * modules/chdir-safer (Makefile.am): Likewise.
102354         * modules/check-version (Makefile.am): Likewise.
102355         * modules/chown (Makefile.am): Likewise.
102356         * modules/cloexec (Makefile.am): Likewise.
102357         * modules/close-stream (Makefile.am): Likewise.
102358         * modules/closeout (Makefile.am): Likewise.
102359         * modules/crc (Makefile.am): Likewise.
102360         * modules/csharpexec (Makefile.am): Likewise.
102361         * modules/cycle-check (Makefile.am): Likewise.
102362         * modules/des (Makefile.am): Likewise.
102363         * modules/dev-ino (Makefile.am): Likewise.
102364         * modules/dirfd (Makefile.am): Likewise.
102365         * modules/dirname (Makefile.am): Likewise.
102366         * modules/dup2 (Makefile.am): Likewise.
102367         * modules/eealloc (Makefile.am): Likewise.
102368         * modules/error (Makefile.am): Likewise.
102369         * modules/euidaccess (Makefile.am): Likewise.
102370         * modules/exclude (Makefile.am): Likewise.
102371         * modules/exitfail (Makefile.am): Likewise.
102372         * modules/fcntl-safer (Makefile.am): Likewise.
102373         * modules/fcntl (Makefile.am): Likewise.
102374         * modules/file-type (Makefile.am): Likewise.
102375         * modules/fileblocks (Makefile.am): Likewise.
102376         * modules/filemode (Makefile.am): Likewise.
102377         * modules/filenamecat (Makefile.am): Likewise.
102378         * modules/fnmatch (Makefile.am): Likewise.
102379         * modules/fopen-safer (Makefile.am): Likewise.
102380         * modules/fpending (Makefile.am): Likewise.
102381         * modules/fprintftime (Makefile.am): Likewise.
102382         * modules/free (Makefile.am): Likewise.
102383         * modules/fsusage (Makefile.am): Likewise.
102384         * modules/ftruncate (Makefile.am): Likewise.
102385         * modules/fts (Makefile.am): Likewise.
102386         * modules/gc-arcfour (Makefile.am): Likewise.
102387         * modules/gc-des (Makefile.am): Likewise.
102388         * modules/gc-hmac-md5 (Makefile.am): Likewise.
102389         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
102390         * modules/gc-md4 (Makefile.am): Likewise.
102391         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
102392         * modules/gc-sha1 (Makefile.am): Likewise.
102393         * modules/gc (Makefile.am): Likewise.
102394         * modules/getaddrinfo (Makefile.am): Likewise.
102395         * modules/getcwd (Makefile.am): Likewise.
102396         * modules/getdelim (Makefile.am): Likewise.
102397         * modules/getdomainname (Makefile.am): Likewise.
102398         * modules/getgroups (Makefile.am): Likewise.
102399         * modules/gethostname (Makefile.am): Likewise.
102400         * modules/gethrxtime (Makefile.am): Likewise.
102401         * modules/getline (Makefile.am): Likewise.
102402         * modules/getloadavg (Makefile.am): Likewise.
102403         * modules/getlogin_r (Makefile.am): Likewise.
102404         * modules/getndelim2 (Makefile.am): Likewise.
102405         * modules/getopt (Makefile.am): Likewise.
102406         * modules/getpagesize (Makefile.am): Likewise.
102407         * modules/getpass-gnu (Makefile.am): Likewise.
102408         * modules/getpass (Makefile.am): Likewise.
102409         * modules/getsubopt (Makefile.am): Likewise.
102410         * modules/gettime (Makefile.am): Likewise.
102411         * modules/gettimeofday (Makefile.am): Likewise.
102412         * modules/getugroups (Makefile.am): Likewise.
102413         * modules/getusershell (Makefile.am): Likewise.
102414         * modules/glob (Makefile.am): Likewise.
102415         * modules/group-member (Makefile.am): Likewise.
102416         * modules/hard-locale (Makefile.am): Likewise.
102417         * modules/hash (Makefile.am): Likewise.
102418         * modules/hmac-md5 (Makefile.am): Likewise.
102419         * modules/hmac-sha1 (Makefile.am): Likewise.
102420         * modules/human (Makefile.am): Likewise.
102421         * modules/idcache (Makefile.am): Likewise.
102422         * modules/imaxabs (Makefile.am): Likewise.
102423         * modules/imaxdiv (Makefile.am): Likewise.
102424         * modules/inet_ntop (Makefile.am): Likewise.
102425         * modules/inet_pton (Makefile.am): Likewise.
102426         * modules/intprops (Makefile.am): Likewise.
102427         * modules/inttostr (Makefile.am): Likewise.
102428         * modules/inttypes (Makefile.am): Likewise.
102429         * modules/isapipe (Makefile.am): Likewise.
102430         * modules/javaversion (Makefile.am): Likewise.
102431         * modules/lchmod (Makefile.am): Likewise.
102432         * modules/lchown (Makefile.am): Likewise.
102433         * modules/localcharset (Makefile.am): Likewise.
102434         * modules/long-options (Makefile.am): Likewise.
102435         * modules/lstat (Makefile.am): Likewise.
102436         * modules/malloc (Makefile.am): Likewise.
102437         * modules/mathl (Makefile.am): Likewise.
102438         * modules/mbchar (Makefile.am): Likewise.
102439         * modules/md2 (Makefile.am): Likewise.
102440         * modules/md4 (Makefile.am): Likewise.
102441         * modules/md5 (Makefile.am): Likewise.
102442         * modules/memcasecmp (Makefile.am): Likewise.
102443         * modules/memchr (Makefile.am): Likewise.
102444         * modules/memcmp (Makefile.am): Likewise.
102445         * modules/memcoll (Makefile.am): Likewise.
102446         * modules/memcpy (Makefile.am): Likewise.
102447         * modules/memmem (Makefile.am): Likewise.
102448         * modules/memmove (Makefile.am): Likewise.
102449         * modules/mempcpy (Makefile.am): Likewise.
102450         * modules/memrchr (Makefile.am): Likewise.
102451         * modules/memset (Makefile.am): Likewise.
102452         * modules/memxor (Makefile.am): Likewise.
102453         * modules/mkancesdirs (Makefile.am): Likewise.
102454         * modules/mkdir-p (Makefile.am): Likewise.
102455         * modules/mkdir (Makefile.am): Likewise.
102456         * modules/mkdtemp (Makefile.am): Likewise.
102457         * modules/mkstemp (Makefile.am): Likewise.
102458         * modules/mktime (Makefile.am): Likewise.
102459         * modules/modechange (Makefile.am): Likewise.
102460         * modules/mountlist (Makefile.am): Likewise.
102461         * modules/nanosleep (Makefile.am): Likewise.
102462         * modules/obstack (Makefile.am): Likewise.
102463         * modules/openat (Makefile.am): Likewise.
102464         * modules/pagealign_alloc (Makefile.am): Likewise.
102465         * modules/pathmax (Makefile.am): Likewise.
102466         * modules/physmem (Makefile.am): Likewise.
102467         * modules/poll (Makefile.am): Likewise.
102468         * modules/posixtm (Makefile.am): Likewise.
102469         * modules/posixver (Makefile.am): Likewise.
102470         * modules/putenv (Makefile.am): Likewise.
102471         * modules/quote (Makefile.am): Likewise.
102472         * modules/quotearg (Makefile.am): Likewise.
102473         * modules/raise (Makefile.am): Likewise.
102474         * modules/read-file (Makefile.am): Likewise.
102475         * modules/readline (Makefile.am): Likewise.
102476         * modules/readlink (Makefile.am): Likewise.
102477         * modules/readtokens (Makefile.am): Likewise.
102478         * modules/readutmp (Makefile.am): Likewise.
102479         * modules/realloc (Makefile.am): Likewise.
102480         * modules/regex (Makefile.am): Likewise.
102481         * modules/rename-dest-slash (Makefile.am): Likewise.
102482         * modules/rename (Makefile.am): Likewise.
102483         * modules/rijndael (Makefile.am): Likewise.
102484         * modules/rmdir (Makefile.am): Likewise.
102485         * modules/rpmatch (Makefile.am): Likewise.
102486         * modules/safe-read (Makefile.am): Likewise.
102487         * modules/safe-write (Makefile.am): Likewise.
102488         * modules/same-inode (Makefile.am): Likewise.
102489         * modules/same (Makefile.am): Likewise.
102490         * modules/save-cwd (Makefile.am): Likewise.
102491         * modules/savedir (Makefile.am): Likewise.
102492         * modules/setenv (Makefile.am): Likewise.
102493         * modules/settime (Makefile.am): Likewise.
102494         * modules/sha1 (Makefile.am): Likewise.
102495         * modules/sig2str (Makefile.am): Likewise.
102496         * modules/snprintf (Makefile.am): Likewise.
102497         * modules/stat-macros (Makefile.am): Likewise.
102498         * modules/stat-time (Makefile.am): Likewise.
102499         * modules/stdbool (Makefile.am): Likewise.
102500         * modules/stdint (Makefile.am): Likewise.
102501         * modules/stdlib-safer (Makefile.am): Likewise.
102502         * modules/stpcpy (Makefile.am): Likewise.
102503         * modules/stpncpy (Makefile.am): Likewise.
102504         * modules/strcase (Makefile.am): Likewise.
102505         * modules/strcasestr (Makefile.am): Likewise.
102506         * modules/strchrnul (Makefile.am): Likewise.
102507         * modules/strcspn (Makefile.am): Likewise.
102508         * modules/strdup (Makefile.am): Likewise.
102509         * modules/strerror (Makefile.am): Likewise.
102510         * modules/strftime (Makefile.am): Likewise.
102511         * modules/strndup (Makefile.am): Likewise.
102512         * modules/strnlen (Makefile.am): Likewise.
102513         * modules/strpbrk (Makefile.am): Likewise.
102514         * modules/strsep (Makefile.am): Likewise.
102515         * modules/strstr (Makefile.am): Likewise.
102516         * modules/strtod (Makefile.am): Likewise.
102517         * modules/strtoimax (Makefile.am): Likewise.
102518         * modules/strtok_r (Makefile.am): Likewise.
102519         * modules/strtol (Makefile.am): Likewise.
102520         * modules/strtoll (Makefile.am): Likewise.
102521         * modules/strtoul (Makefile.am): Likewise.
102522         * modules/strtoull (Makefile.am): Likewise.
102523         * modules/strtoumax (Makefile.am): Likewise.
102524         * modules/strverscmp (Makefile.am): Likewise.
102525         * modules/sys_socket (Makefile.am): Likewise.
102526         * modules/sys_stat (Makefile.am): Likewise.
102527         * modules/sysexits (Makefile.am): Likewise.
102528         * modules/time_r (Makefile.am): Likewise.
102529         * modules/timegm (Makefile.am): Likewise.
102530         * modules/timespec (Makefile.am): Likewise.
102531         * modules/tmpfile-safer (Makefile.am): Likewise.
102532         * modules/trim (Makefile.am): Likewise.
102533         * modules/unistd-safer (Makefile.am): Likewise.
102534         * modules/unlinkdir (Makefile.am): Likewise.
102535         * modules/unlocked-io (Makefile.am): Likewise.
102536         * modules/userspec (Makefile.am): Likewise.
102537         * modules/utime (Makefile.am): Likewise.
102538         * modules/utimecmp (Makefile.am): Likewise.
102539         * modules/utimens (Makefile.am): Likewise.
102540         * modules/vasnprintf (Makefile.am): Likewise.
102541         * modules/vasprintf (Makefile.am): Likewise.
102542         * modules/vsnprintf (Makefile.am): Likewise.
102543         * modules/xalloc (Makefile.am): Likewise.
102544         * modules/xgetcwd (Makefile.am): Likewise.
102545         * modules/xnanosleep (Makefile.am): Likewise.
102546         * modules/xreadlink (Makefile.am): Likewise.
102547         * modules/xstrtod (Makefile.am): Likewise.
102548         * modules/xstrtol (Makefile.am): Likewise.
102549         * modules/xstrtold (Makefile.am): Likewise.
102550         * modules/yesno (Makefile.am): Likewise.
102551         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
102553 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
102555         * modules/error (Makefile.am): Distribute files through
102556         EXTRA_DIST, not lib_SOURCES.
102558 2006-10-12  Eric Blake  <ebb9@byu.net>
102560         * modules/error (Makefile.am): Distribute files in /lib.
102561         * modules/obstack (Makefile.am): Likewise.
102563 2006-10-12  Bruno Haible  <bruno@clisp.org>
102565         * modules/acl (Makefile.am): Distribute all files in lib/ through
102566         EXTRA_DIST.
102567         * modules/arcfour (Makefile.am): Likewise.
102568         * modules/arctwo (Makefile.am): Likewise.
102569         * modules/argmatch (Makefile.am): Likewise.
102570         * modules/argz (Makefile.am): Likewise.
102571         * modules/atexit (Makefile.am): Likewise.
102572         * modules/backupfile (Makefile.am): Likewise.
102573         * modules/c-strtod (Makefile.am): Likewise.
102574         * modules/c-strtold (Makefile.am): Likewise.
102575         * modules/calloc (Makefile.am): Likewise.
102576         * modules/canon-host (Makefile.am): Likewise.
102577         * modules/canonicalize (Makefile.am): Likewise.
102578         * modules/chdir-long (Makefile.am): Likewise.
102579         * modules/chdir-safer (Makefile.am): Likewise.
102580         * modules/check-version (Makefile.am): Likewise.
102581         * modules/chown (Makefile.am): Likewise.
102582         * modules/cloexec (Makefile.am): Likewise.
102583         * modules/close-stream (Makefile.am): Likewise.
102584         * modules/closeout (Makefile.am): Likewise.
102585         * modules/crc (Makefile.am): Likewise.
102586         * modules/cycle-check (Makefile.am): Likewise.
102587         * modules/des (Makefile.am): Likewise.
102588         * modules/dirfd (Makefile.am): Likewise.
102589         * modules/dirname (Makefile.am): Likewise.
102590         * modules/dup2 (Makefile.am): Likewise.
102591         * modules/euidaccess (Makefile.am): Likewise.
102592         * modules/exclude (Makefile.am): Likewise.
102593         * modules/exitfail (Makefile.am): Likewise.
102594         * modules/fcntl-safer (Makefile.am): Likewise.
102595         * modules/file-type (Makefile.am): Likewise.
102596         * modules/fileblocks (Makefile.am): Likewise.
102597         * modules/filemode (Makefile.am): Likewise.
102598         * modules/filenamecat (Makefile.am): Likewise.
102599         * modules/fnmatch (Makefile.am): Likewise.
102600         * modules/fopen-safer (Makefile.am): Likewise.
102601         * modules/fpending (Makefile.am): Likewise.
102602         * modules/fprintftime (Makefile.am): Likewise.
102603         * modules/free (Makefile.am): Likewise.
102604         * modules/fsusage (Makefile.am): Likewise.
102605         * modules/ftruncate (Makefile.am): Likewise.
102606         * modules/fts (Makefile.am): Likewise.
102607         * modules/gc (Makefile.am): Likewise.
102608         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
102609         * modules/getaddrinfo (Makefile.am): Likewise.
102610         * modules/getcwd (Makefile.am): Likewise.
102611         * modules/getdelim (Makefile.am): Likewise.
102612         * modules/getdomainname (Makefile.am): Likewise.
102613         * modules/getgroups (Makefile.am): Likewise.
102614         * modules/gethostname (Makefile.am): Likewise.
102615         * modules/gethrxtime (Makefile.am): Likewise.
102616         * modules/getline (Makefile.am): Likewise.
102617         * modules/getloadavg (Makefile.am): Likewise.
102618         * modules/getlogin_r (Makefile.am): Likewise.
102619         * modules/getopt (Makefile.am): Likewise.
102620         * modules/getpass (Makefile.am): Likewise.
102621         * modules/getpass-gnu (Makefile.am): Likewise.
102622         * modules/getsubopt (Makefile.am): Likewise.
102623         * modules/gettime (Makefile.am): Likewise.
102624         * modules/gettimeofday (Makefile.am): Likewise.
102625         * modules/getugroups (Makefile.am): Likewise.
102626         * modules/getusershell (Makefile.am): Likewise.
102627         * modules/glob (Makefile.am): Likewise.
102628         * modules/group-member (Makefile.am): Likewise.
102629         * modules/hard-locale (Makefile.am): Likewise.
102630         * modules/hash (Makefile.am): Likewise.
102631         * modules/hmac-md5 (Makefile.am): Likewise.
102632         * modules/hmac-sha1 (Makefile.am): Likewise.
102633         * modules/human (Makefile.am): Likewise.
102634         * modules/idcache (Makefile.am): Likewise.
102635         * modules/imaxabs (Makefile.am): Likewise.
102636         * modules/imaxdiv (Makefile.am): Likewise.
102637         * modules/inet_ntop (Makefile.am): Likewise.
102638         * modules/inet_pton (Makefile.am): Likewise.
102639         * modules/inttostr (Makefile.am): Likewise.
102640         * modules/isapipe (Makefile.am): Likewise.
102641         * modules/lchown (Makefile.am): Likewise.
102642         * modules/long-options (Makefile.am): Likewise.
102643         * modules/lstat (Makefile.am): Likewise.
102644         * modules/malloc (Makefile.am): Likewise.
102645         * modules/mathl (Makefile.am): Likewise.
102646         * modules/mbchar (Makefile.am): Likewise.
102647         * modules/md2 (Makefile.am): Likewise.
102648         * modules/md4 (Makefile.am): Likewise.
102649         * modules/md5 (Makefile.am): Likewise.
102650         * modules/memcasecmp (Makefile.am): Likewise.
102651         * modules/memchr (Makefile.am): Likewise.
102652         * modules/memcmp (Makefile.am): Likewise.
102653         * modules/memcoll (Makefile.am): Likewise.
102654         * modules/memcpy (Makefile.am): Likewise.
102655         * modules/memmem (Makefile.am): Likewise.
102656         * modules/memmove (Makefile.am): Likewise.
102657         * modules/mempcpy (Makefile.am): Likewise.
102658         * modules/memrchr (Makefile.am): Likewise.
102659         * modules/memset (Makefile.am): Likewise.
102660         * modules/memxor (Makefile.am): Likewise.
102661         * modules/mkancesdirs (Makefile.am): Likewise.
102662         * modules/mkdir (Makefile.am): Likewise.
102663         * modules/mkdir-p (Makefile.am): Likewise.
102664         * modules/mkdtemp (Makefile.am): Likewise.
102665         * modules/mkstemp (Makefile.am): Likewise.
102666         * modules/mktime (Makefile.am): Likewise.
102667         * modules/modechange (Makefile.am): Likewise.
102668         * modules/mountlist (Makefile.am): Likewise.
102669         * modules/nanosleep (Makefile.am): Likewise.
102670         * modules/openat (Makefile.am): Likewise.
102671         * modules/pagealign_alloc (Makefile.am): Likewise.
102672         * modules/physmem (Makefile.am): Likewise.
102673         * modules/poll (Makefile.am): Likewise.
102674         * modules/posixtm (Makefile.am): Likewise.
102675         * modules/posixver (Makefile.am): Likewise.
102676         * modules/putenv (Makefile.am): Likewise.
102677         * modules/quote (Makefile.am): Likewise.
102678         * modules/quotearg (Makefile.am): Likewise.
102679         * modules/raise (Makefile.am): Likewise.
102680         * modules/read-file (Makefile.am): Likewise.
102681         * modules/readline (Makefile.am): Likewise.
102682         * modules/readlink (Makefile.am): Likewise.
102683         * modules/readtokens (Makefile.am): Likewise.
102684         * modules/readutmp (Makefile.am): Likewise.
102685         * modules/realloc (Makefile.am): Likewise.
102686         * modules/regex (Makefile.am): Likewise.
102687         * modules/rename (Makefile.am): Likewise.
102688         * modules/rename-dest-slash (Makefile.am): Likewise.
102689         * modules/rijndael (Makefile.am): Likewise.
102690         * modules/rmdir (Makefile.am): Likewise.
102691         * modules/rpmatch (Makefile.am): Likewise.
102692         * modules/safe-read (Makefile.am): Likewise.
102693         * modules/safe-write (Makefile.am): Likewise.
102694         * modules/same (Makefile.am): Likewise.
102695         * modules/save-cwd (Makefile.am): Likewise.
102696         * modules/savedir (Makefile.am): Likewise.
102697         * modules/setenv (Makefile.am): Likewise.
102698         * modules/settime (Makefile.am): Likewise.
102699         * modules/sha1 (Makefile.am): Likewise.
102700         * modules/sig2str (Makefile.am): Likewise.
102701         * modules/snprintf (Makefile.am): Likewise.
102702         * modules/stdlib-safer (Makefile.am): Likewise.
102703         * modules/stpcpy (Makefile.am): Likewise.
102704         * modules/stpncpy (Makefile.am): Likewise.
102705         * modules/strcase (Makefile.am): Likewise.
102706         * modules/strcasestr (Makefile.am): Likewise.
102707         * modules/strchrnul (Makefile.am): Likewise.
102708         * modules/strcspn (Makefile.am): Likewise.
102709         * modules/strdup (Makefile.am): Likewise.
102710         * modules/strerror (Makefile.am): Likewise.
102711         * modules/strftime (Makefile.am): Likewise.
102712         * modules/strndup (Makefile.am): Likewise.
102713         * modules/strnlen (Makefile.am): Likewise.
102714         * modules/strpbrk (Makefile.am): Likewise.
102715         * modules/strsep (Makefile.am): Likewise.
102716         * modules/strstr (Makefile.am): Likewise.
102717         * modules/strtod (Makefile.am): Likewise.
102718         * modules/strtoimax (Makefile.am): Likewise.
102719         * modules/strtok_r (Makefile.am): Likewise.
102720         * modules/strtol (Makefile.am): Likewise.
102721         * modules/strtoll (Makefile.am): Likewise.
102722         * modules/strtoul (Makefile.am): Likewise.
102723         * modules/strtoull (Makefile.am): Likewise.
102724         * modules/strtoumax (Makefile.am): Likewise.
102725         * modules/strverscmp (Makefile.am): Likewise.
102726         * modules/time_r (Makefile.am): Likewise.
102727         * modules/timegm (Makefile.am): Likewise.
102728         * modules/tmpfile-safer (Makefile.am): Likewise.
102729         * modules/unistd-safer (Makefile.am): Likewise.
102730         * modules/unlinkdir (Makefile.am): Likewise.
102731         * modules/userspec (Makefile.am): Likewise.
102732         * modules/utime (Makefile.am): Likewise.
102733         * modules/utimecmp (Makefile.am): Likewise.
102734         * modules/utimens (Makefile.am): Likewise.
102735         * modules/vasnprintf (Makefile.am): Likewise.
102736         * modules/vasprintf (Makefile.am): Likewise.
102737         * modules/vsnprintf (Makefile.am): Likewise.
102738         * modules/xalloc (Makefile.am): Likewise.
102739         * modules/xgetcwd (Makefile.am): Likewise.
102740         * modules/xnanosleep (Makefile.am): Likewise.
102741         * modules/xreadlink (Makefile.am): Likewise.
102742         * modules/xstrtod (Makefile.am): Likewise.
102743         * modules/xstrtol (Makefile.am): Likewise.
102744         * modules/xstrtold (Makefile.am): Likewise.
102745         * modules/yesno (Makefile.am): Likewise.
102747 2006-10-12  Jim Meyering  <jim@meyering.net>
102749         * m4/getloadavg.m4: Revert the change below.
102751         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
102752         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
102753         fail with a symlink, which is what coreutils' ./bootstrap now
102754         creates by default.
102756 2006-10-12  Bruno Haible  <bruno@clisp.org>
102758         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
102759         mingw.
102760         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
102761         MSVC and mingw explicitly.
102763 2006-10-11  Simon Josefsson  <jas@extundo.com>
102764             Bruno Haible  <bruno@clisp.org>
102766         Add support for multiple gnulib-tool invocations in the scope of a
102767         single configure.ac file.
102768         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
102769         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
102770         with the same contents as the _LIBADD variable.
102771         (func_emit_initmacro_start, func_emit_initmacro_end,
102772         func_emit_initmacro_done): New functions.
102773         (func_import, func_create_testdir): Invoke them. Allow the identifiers
102774         gl_LIBOBJS and gl_LTLIBOBJS.
102776 2006-10-11  Bruno Haible  <bruno@clisp.org>
102778         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
102779         (func_create_testdir): Don't create po/Makefile.am, don't invoke
102780         autoreconf. Instead, invoke autopoint explicitly but move back the
102781         *.m4 files from gnulib.
102783 2006-10-11  Bruno Haible  <bruno@clisp.org>
102785         * gnulib-tool (func_usage): Make module names after --create-testdir
102786         optional.
102787         (func_create_testdir): If no module was specified, use nearly all
102788         modules.
102790 2006-10-12  Jim Meyering  <jim@meyering.net>
102792         Big performance improvement for fts-based tools that use FTS_NOSTAT.
102793         Avoid spurious inode-mismatch problems on non-POSIX file systems.
102794         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
102795         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
102796         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
102797         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
102798         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
102799         (fts_set_stat_required): New function.
102800         (fts_open): Defer the calls to fts_stat, if possible or requested.
102801         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
102802         into fts_stat itself.
102803         (fts_read): Perform any required (deferred) fts_stat call.
102804         (fts_build): Likewise, for the directory we're about to open and read.
102805         In the readdir loop, carefully decide whether each entry will require
102806         an eventual call to fts_stat, using dirent.d_type info if available.
102807         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
102808         a command line argument into this function.  Update all callers.
102809         Map a return value of FTS_DOT to FTS_D for a command line argument.
102810         * modules/fts (Depends-on): Add d-type.  Alphabetize.
102811         Thanks to Miklos Szeredi for his tenacity and for the initial
102812         bug report about "find" failing on a FUSE-based file system.
102814         * lib/fts.c (fts_open): Use consistent indentation.
102816 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
102818         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
102819         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
102820         reported by Jim Meyering.  All uses of cache variables renamed
102821         to match Autoconf's.
102822         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
102823         the other one.
102825         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
102826         Fix misspelling in diagnostic.
102828 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
102830         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
102831         defined.  Problem reported by Matthew Woehlke.
102833         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
102834         Add support for Tandem NonStop R series.
102835         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
102836         Use new macro.
102838         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
102839         (has_trailing_slash): Omit size arg; all callers changed.
102840         Omit 'inline', since it doesn't help performance and we'd
102841         need to configure it.
102842         Don't count //, ///, etc. as having a trailing slash.
102843         As a side effect, this removes a C99ism reported by Matthew Woehlke.
102844         (rpl_rename_dest_slash): On failure, use rename's errno rather
102845         than (in some cases) an incorrect or junk errno.
102846         Simplify code by removing need to compute length; this does
102847         cause it to make two passes instead of one over the file name,
102848         but it's worth it.
102850         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
102851         change, since Autoconf's version may no longer be appropriate now
102852         that we are using CVS Autoconf's version.  Add support for Tandem.
102854 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
102855             Bruno Haible  <bruno@clisp.org>
102857         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
102858         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
102859         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
102860         gl_AC_TYPE_LONG_LONG.
102862         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
102863         instead of HAVE_LONG_LONG.
102864         * lib/printf-args.c (printf_fetchargs): Likewise.
102865         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
102866         * lib/vasnprintf.c (VASNPRINTF): Likewise.
102867         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
102868         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
102869         gl_AC_TYPE_LONG_LONG.
102871 2006-10-11  Bruno Haible  <bruno@clisp.org>
102873         * m4/longlong.m4: Add comments.
102874         * m4/ulonglong.m4: Likewise.
102876 2006-10-10  Bruno Haible  <bruno@clisp.org>
102878         Make it possible to #define stpcpy, strdup to aliases.
102879         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
102880         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
102882 2006-10-10  Bruno Haible  <bruno@clisp.org>
102884         Make it possible to #define gcd to an alias.
102885         * lib/gcd.c: Include config.h.
102887 2006-10-10  Bruno Haible  <bruno@clisp.org>
102889         Make it possible to #define c_isascii to an alias.
102890         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
102891         defined. Undefine the macros before defining them, to avoid gcc
102892         warnings.
102893         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
102894         define NO_C_CTYPE_MACROS early.
102896 2006-10-10  Bruno Haible  <bruno@clisp.org>
102898         Make it possible to #define set_program_name to an alias.
102899         * lib/progname.c: Don't undefine set_program_name; instead, undefine
102900         ENABLE_RELOCATABLE early.
102902 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
102904         Port to Tandem NSK OSS, which has 64-bit signed int but at most
102905         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
102906         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
102907         More generally, don't assume that 64-bit signed int is available
102908         if unsigned int is, and vice versa.
102909         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
102910         unsigned symbols, not on their signed counterparts.
102911         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
102912         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
102913         (UINT64_C, UINTMAX_C):
102914         Likewise.
102915         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
102916         unsigned counterparts.
102917         (Have_long_long, Unsigned): New macros.
102918         (Int): Renamed from INT.
102919         (strtoimax): Use the new macros.
102920         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
102921         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
102922         * modules/inttypes (inttypes.h): Substitute
102923         HAVE_UNSIGNED_LONG_LONG_INT.
102924         * modules/stdint (stdint.h): Likewise.
102925         (Files): Add m4/ulonglong.m4.
102927 2006-10-10  Bruno Haible  <bruno@clisp.org>
102929         Fix a gcc -Wshadow warning.
102930         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
102931         to 'bucket'.
102932         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
102933         gl_linked_indexof_from_to): Likewise.
102934         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
102935         Likewise.
102936         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
102937         Likewise.
102938         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
102939         Reported by Eric Blake.
102941 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
102943         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
102944         for NetBSD.  Problem reported by Bruno Haible.
102946 2006-10-09  Jim Meyering  <jim@meyering.net>
102948         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
102949         Patch from Bruno Haible.
102951 2006-10-09  Jim Meyering  <jim@meyering.net>
102953         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
102954         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
102955         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
102957 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
102959         Don't include <config.h> twice; this doesn't work in some cases,
102960         e.g., when config.h has "#define intmax_t long long int" and
102961         we include <config.h>, <inttypes.h>, <config.h> in that order.
102962         Problem reported by Matthew Woehlke in:
102963         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
102964         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
102965         * lib/fts-cycle.c: Don't include config.h.
102966         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
102967         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
102968         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
102969         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
102970         inttypes.h.
102971         * lib/xstrtoumax.c: Likewise.
102972         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
102973         __strtol and the like, so that this module is more like its siblings.
102974         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
102975         Remove; no longer needed now that we assume gnulib inttypes.h.
102977 2006-10-08  Bruno Haible  <bruno@clisp.org>
102979         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
102980         option.
102982 2006-10-07  Jim Meyering  <jim@meyering.net>
102984         * modules/inttypes (inttypes.h): Revert what seems to have been
102985         an inadvertent part of today's change: use "|", not "/" in the
102986         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
102988 2006-10-07  Bruno Haible  <bruno@clisp.org>
102990         * modules/sublist: New file.
102992 2006-10-07  Bruno Haible  <bruno@clisp.org>
102994         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
102995         * modules/argz (argz.h): Likewise.
102996         * modules/arpa_inet (arpa/inet.h): Likewise.
102997         * modules/byteswap (byteswap.h): Likewise.
102998         * modules/configmake (configmake.h): Likewise.
102999         * modules/fcntl (fcntl.h): Likewise.
103000         * modules/fnmatch (fnmatch.h): Likewise.
103001         * modules/getopt (getopt.h): Likewise.
103002         * modules/glob (glob.h): Likewise.
103003         * modules/inttypes (inttypes.h): Likewise.
103004         * modules/netinet_in (netinet/in.h): Likewise.
103005         * modules/poll (poll.h): Likewise.
103006         * modules/stdbool (stdbool.h): Likewise.
103007         * modules/stdint (stdint.h): Likewise.
103008         * modules/sys_select (sys/select.h): Likewise.
103009         * modules/sys_socket (sys/socket.h): Likewise.
103010         * modules/sys_stat (sys/stat.h): Likewise.
103011         * modules/sysexits (sysexits.h): Likewise.
103012         * modules/unistd (unistd.h): Likewise.
103013         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
103014         Add a "DO NOT EDIT" comment to the generated file.
103015         (func_import): Likewise for gnulib-comp.m4.
103017 2006-10-07  Bruno Haible  <bruno@clisp.org>
103019         * lib/gl_sublist.h: New file.
103020         * lib/gl_sublist.c: New file.
103022 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
103024         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
103025         name (relative to the original working directory) and the file
103026         name component (relative to the temporary working directory).  All
103027         callers changed.
103028         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
103029         * lib/mkdir-p.c (make_dir_parents): Likewise.
103030         * lib/mkdir-p.h (make_dir_parents): Likewise.
103032 2006-10-06  Eric Blake  <ebb9@byu.net>
103034         Define several macros for use by the clean-temp module.
103035         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
103036         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
103037         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
103039         * lib/clean-temp.h (close_stream_temp): New declaration.
103040         * lib/clean-temp.c (includes): Pull in headers according to what
103041         other modules are in use.
103042         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
103044 2006-10-06  Bruno Haible  <bruno@clisp.org>
103046         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
103047         instead of fopen, fwriteerror.
103049 2006-10-06  Bruno Haible  <bruno@clisp.org>
103051         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
103052         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
103053         int.
103054         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
103055         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
103056         Return an error indicator.
103057         Suggested by Eric Blake.
103059 2006-10-06  Bruno Haible  <bruno@clisp.org>
103061         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
103062         Reported by Eric Blake.
103064 2006-10-06  Bruno Haible  <bruno@clisp.org>
103066         * modules/closeout (Description): Mention stderr too.
103068 2006-10-06  Bruno Haible  <bruno@clisp.org>
103069         and Paul Eggert  <eggert@cs.ucla.edu>
103071         * lib/closeout.c (close_stdout): Also close stderr.
103072         * lib/closeout.h: Update comment.
103074 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
103076         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
103077         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
103078         * lib/dirchownmod.c: Include lchown.h.
103079         * lib/lchown.c: Don't include files that lchown.h now includes.
103080         Don't declare chown, since lchown.h now does that.
103081         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
103082         (lchown): Define to rpl_chown if lchown is declared but
103083         does not exist.  Declare using a prototype if lchown is not
103084         declared.  Add a copyright notice.
103085         * lib/mkstemp.h: Include <unistd.h>.
103086         * lib/openat.c: Include lchown.h.
103088         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
103089         we now test for that separately.
103090         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
103091         rather than O_NOFOLLOW, when testing whether it's possible to
103092         avoid a race condition reliably.
103093         * lib/savewd.c (savewd_chdir): Likewise.
103095         Remove macros that are no longer needed now that stdint.h is
103096         reliable.
103097         * lib/fsusage.c (UINTMAX_MAX): Remove.
103098         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
103099         * lib/utimecmp.c (SIZE_MAX): Remove.
103101         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
103103         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
103104         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
103105         O_NOATIME works.
103107 2006-10-05  Bruno Haible  <bruno@clisp.org>
103109         * lib/gl_list.h (gl_sortedlist_search_from_to,
103110         gl_sortedlist_indexof_from_to): New declarations.
103111         (gl_list_implementation): New fields sortedlist_search_from_to,
103112         sortedlist_indexof_from_to.
103113         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
103114         inline functions.
103115         * lib/gl_list.c (gl_sortedlist_search_from_to,
103116         gl_sortedlist_indexof_from_to): New functions.
103117         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
103118         function.
103119         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
103120         (gl_array_sortedlist_search_from_to): New function.
103121         (gl_array_list_implementation): Update.
103122         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
103123         function.
103124         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
103125         (gl_carray_sortedlist_search_from_to): New function.
103126         (gl_carray_list_implementation): Update.
103127         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
103128         gl_linked_sortedlist_indexof_from_to): New functions.
103129         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
103130         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
103131         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
103132         gl_tree_sortedlist_indexof_from_to): New functions.
103133         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
103134         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
103135         Update.
103136         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
103137         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
103138         Update.
103140 2006-10-05  Bruno Haible  <bruno@clisp.org>
103142         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
103143         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
103144         (struct gl_list_implementation): Add fields search_from_to,
103145         indexof_from_to. Remove fields search, indexof.
103146         (gl_list_search): Use the search_from_to method.
103147         (gl_list_search_from, gl_list_search_from_to): New functions.
103148         (gl_list_indexof): Use the indexof_from_to method.
103149         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
103150         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
103151         (gl_list_search_from, gl_list_search_from_to): New functions.
103152         (gl_list_indexof): Use the indexof_from_to method.
103153         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
103154         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
103155         gl_array_indexof. Add start_index, end_index arguments.
103156         (gl_array_search_from_to): Renamed from gl_array_search. Add
103157         start_index, end_index arguments.
103158         (gl_array_remove, gl_array_list_implementation): Update.
103159         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
103160         gl_carray_indexof. Add start_index, end_index arguments.
103161         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
103162         start_index, end_index arguments.
103163         (gl_carray_remove, gl_carray_list_implementation): Update.
103164         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
103165         gl_linked_search. Add start_index, end_index arguments.
103166         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
103167         start_index, end_index arguments.
103168         (gl_linked_remove): Update.
103169         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
103170         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
103171         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
103172         field to 'size_t'.
103173         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
103174         gl_tree_search. Add start_index, end_index arguments.
103175         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
103176         start_index, end_index arguments.
103177         (gl_tree_remove): Update.
103178         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
103179         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
103180         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
103181         function.
103182         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
103183         gl_tree_search. Add start_index, end_index arguments.
103184         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
103185         start_index, end_index arguments.
103186         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
103187         Update.
103188         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
103190 2006-10-05  Bruno Haible  <bruno@clisp.org>
103192         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
103194         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
103195         fwriteerror_temp): New declarations.
103196         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
103197         (descriptors): New variable.
103198         (cleanup): First, close the descriptors.
103199         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
103200         fclose_temp, fwriteerror_temp): New functions.
103202 2006-10-04  Jim Meyering  <jim@meyering.net>
103204         * lib/fts.c (fts_open): Tiny comment change.
103206 2006-10-04  Bruno Haible  <bruno@clisp.org>
103208         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
103209         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
103210         gl_LOCK_BODY.
103211         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
103212         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
103213         gl_LOCK_EARLY_BODY.
103214         (gl_LOCK): Require gl_LOCK_BODY.
103216 2006-10-04  Bruno Haible  <bruno@clisp.org>
103218         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
103219         (gl_oset_search_atleast): New declaration.
103220         (struct gl_oset_implementation): Add field 'search_atleast'.
103221         (gl_oset_search_atleast): New inline function.
103222         * lib/gl_oset.c (gl_oset_search_atleast): New function.
103223         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
103224         (gl_array_oset_implementation): Update.
103225         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
103226         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
103227         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
103229 2006-10-04  Bruno Haible  <bruno@clisp.org>
103231         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
103233 2006-10-03  Bruno Haible  <bruno@clisp.org>
103235         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
103236         from gl_avltreehash_list_implementation.
103238 2006-10-03  Bruno Haible  <bruno@clisp.org>
103240         * lib/gl_oset.c (gl_oset_add): Fix return type.
103242 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
103244         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
103246 2006-10-02  Eric Blake  <ebb9@byu.net>
103248         * modules/strnlen (Depends-on): Add extensions.
103250 2006-10-02  Eric Blake  <ebb9@byu.net>
103252         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
103253         definition in 2.60+.
103255 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
103257         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
103258         checks.
103260 2006-10-02  Bruno Haible  <bruno@clisp.org>
103262         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
103263         to the AUTOMAKE_OPTIONS.
103264         Reported by Jim Meyering.
103266 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
103268         Work around bug in Solaris 10 /proc file system:
103269         /proc/self/fd/NNN/.. isn't the parent directory of
103270         the directory whose file descriptor is NNN.  This needs to
103271         be worked around at run time, not compile time, since a
103272         program might be built on Solaris 8, where things work, and
103273         run on Solaris 10.
103274         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
103275         to use the following interface instead:
103276         (OPENAT_BUFFER_SIZE): New macro.
103277         (openat_proc_name): New function.
103278         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
103279         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
103280         Likewise.
103281         * lib/openat-proc.c: New file.
103282         * modules/openat (Files): Add lib/openat-proc.c.
103283         (Depends-on): Add same-inode, stdbool.
103284         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
103286 2006-09-29  Bruno Haible  <bruno@clisp.org>
103288         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
103289         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
103290         argument. Set stdout_closed before testing for ferror, not after.
103291         (fwriteerror, fwriteerror_no_ebadf): New functions.
103293 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103295         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
103297 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
103299         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
103300         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
103302 2006-09-28  Jim Meyering  <jim@meyering.net>
103304         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
103305         Include <unistd.h>.
103307 2006-09-28  Bruno Haible  <bruno@clisp.org>
103309         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
103310         * modules/linkedhash-list (Depends-on): Likewise.
103311         * modules/rbtreehash-list (Depends-on): Likewise.
103313 2006-09-28  Bruno Haible  <bruno@clisp.org>
103315         * lib/strndup.h: Simplify the redefinition of strndup.
103316         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
103317         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
103319 2006-09-28  Bruno Haible  <bruno@clisp.org>
103321         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
103322         * lib/gl_linkedhash_list.c: Likewise.
103323         * lib/gl_rbtreehash_list.c: Likewise.
103325 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
103327         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
103328         getaddrinfo.
103330         * lib/__fpending.h: Don't include <stdio_ext.h> unless
103331         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
103332         it causes <stdio_ext.h> to cause a compile-time error.
103333         Problem reported by Nelson H. F. Beebe.
103334         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
103335         of HAVE_DECL___PENDING.
103337         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
103338         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
103339         declaration.
103341 2006-09-27  Jim Meyering  <jim@meyering.net>
103343         This file could end up with a definition for a function
103344         named __strndup, rather than rpl_strndup on a system with
103345         incomplete weak_alias support.
103346         * lib/strndup.c (strndup): Rename from __strndup.
103347         Remove #defines that used to map __strndup to strndup.
103348         Don't use K&R prototypes.
103349         Remove LIBC-related code, since this file is not sync'd with glibc.
103350         * lib/strndup.h: Revamp, accordingly.
103351         * m4/strndup.m4: Modernize.
103353 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
103355         * modules/savewd (Depends-on): Add 'raise'.
103356         * lib/savewd.c: Include <signal.h>, for 'raise'.
103358 2006-09-26  Jim Meyering  <jim@meyering.net>
103360         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
103361         when we detect Darwin 8.7.0's acl_get_file bug.
103362         Rearrange to perform the new (below) run-test while $LIBS
103363         contains any acl-related library.  Set USE_ACL at the end.
103364         (gl_ACL_GET_FILE): New function.
103366 2006-09-26  Eric Blake  <ebb9@byu.net>
103368         * lib/verror.c: Include <config.h> unconditionally.
103370 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
103372         * modules/clock-time (Maintainer): Add self.
103373         * modules/getlogin_r (Depends-on): Add extensions.
103375 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103377         * modules/clock-time: New module.
103378         * modules/nanosleep (Depends-on): Add clock-time.
103379         * modules/gethrxtime (Depends-on): Likewise.
103380         * modules/gettime (Depends-on): Likewise.
103381         * modules/settime (Depends-on): Likewise.
103383         * modules/fts-lgpl: Depend on openat.
103384         * modules/mkancesdirs: Depend on savewd.
103385         * modules/mkdir-p: Likewise.
103387 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103389         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
103391         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
103392         `gl_have_arbitrary_file_name_length_limit' to
103393         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
103394         actually works between configure runs.
103396 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103397             Bruno Haible  <bruno@clisp.org>
103399         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
103401 2006-09-25  Jim Meyering  <jim@meyering.net>
103403         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
103404         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
103406 2006-09-25  Eric Blake  <ebb9@byu.net>
103408         * gnulib-tool (func_import, func_create_testdir): Fix typos in
103409         exec's in 2006-09-18 patch when shuffling fds.
103411 2006-09-25  Bruno Haible  <bruno@clisp.org>
103413         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
103414         Reported by Jim Meyering.
103416 2006-09-24  Jim Meyering  <jim@meyering.net>
103418         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
103419         compare a pointer against a literal "0".  That caused failures with
103420         at least HP-UX's hpcc.
103422 2006-09-22  Simon Josefsson  <jas@extundo.com>
103424         * modules/gc-sha1:
103425         * modules/gc-md4:
103426         * modules/gc-hmac-sha1:
103427         * modules/gc-hmac-md5:
103428         * modules/gc-des:
103429         * modules/gc-arcfour: Distribute more files.
103431 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103433         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
103434         (gl_linked_iterator_from_to): Initialize struct completely.
103435         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
103436         (gl_tree_iterator_from_to): Likewise
103437         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
103438         * lib/gl_array_list.c [lint] (gl_array_iterator)
103439         (gl_array_iterator_from_to): Likewise.
103440         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
103441         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
103442         (gl_carray_iterator_from_to): Likewise.
103444         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
103445         * lib/md4.c (md4_process_block): Remove unused variable.
103446         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
103447         parentheses for clarity.
103449 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103451         * modules/bison-i18n (Depends-on): Add gettext.
103453 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103455         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
103456         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
103457         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
103458         also add missing comma that caused broken test.
103459         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
103460         stdlib.h, for `abort'.
103461         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
103462         variables.
103463         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
103464         include unistd.h if present, for `rmdir'.
103465         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
103466         variables.
103467         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
103468         in the process include standard headers for prototypes.
103469         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
103470         gets declared on GNU/Linux.
103471         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
103472         unistd.h, for `rmdir'.
103473         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
103475         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
103476         always true.
103477         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
103479         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
103481 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103483         * gnulib-tool (func_version): Create output all at once.  This
103484         may help avoid triggering unnecessary SIGPIPEs, and at any
103485         rate it doesn't hurt.
103487 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103488             Bruno Haible  <bruno@clisp.org>
103490         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
103491         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
103492         * m4/signed.m4 (bh_C_SIGNED): Likewise.
103494         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
103495         (gl_FUNC_VASPRINTF): Invoke it.
103497 2006-09-22  Bruno Haible  <bruno@clisp.org>
103499         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
103500         getloadavg.c as first argument.
103502 2006-09-22  Bruno Haible  <bruno@clisp.org>
103504         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
103505         at the beginning of the gl_INIT macro.
103506         * modules/getloadavg (configure.ac): Pass $gl_source_base to
103507         gl_GETLOADAVG.
103509 2006-09-22  Bruno Haible  <bruno@clisp.org>
103511         * gnulib-tool (func_create_megatestdir): Don't include the config-h
103512         module.
103513         Suggested by Ralf Wildenhues.
103515 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
103517         Import this patch from libc:
103519         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
103521         * lib/regex_internal.c (re_string_reconstruct): Handle
103522         offset < pstr->valid_raw_len && pstr->offsets_needed case.
103523         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
103524         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
103525         re_string_context_at.
103527         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
103528         now requires it.
103529         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
103530         gl_REGEX now does it for us.
103531         (gl_REGEX): Add test taken from
103532         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
103534         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
103535         Check that large offsets work.  Modernize Autoconf usages.
103536         Prefer "yes" to mean a good thing rather than a bad.
103537         Don't put "#define mkstemp" in config.h, as this might interfere
103538         with standard system headers that "#define mkstemp mkstemp64".
103540         * modules/mkstemp (Depends-on): Add extensions, so that
103541         mkstemp is visible on some platforms.
103542         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
103543         (Include): Change to "mkstemp.h" from <stdlib.h>.
103544         (Files): Add mkstemp.h.
103546         * lib/mkstemp.h: New file, since some standard headers
103547         #define mkstemp.
103548         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
103549         Include "mkstemp.h".
103550         Make the _LIBC code resemble glibc original more,
103551         e.g., use K&R style.
103552         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
103553         (mkstemp): Remove, since mkstemp.h does this for us.
103554         * lib/stdlib--.h: Include mkstemp.h.
103556         Import this patch from libc:
103558         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
103560         * lib/tempname.c (__gen_tempname): Change attempts_min
103561         into a macro.  Use preprocessor to decide how to initialize
103562         attempts [Coverity CID 67].
103564 2006-09-20  Bruno Haible  <bruno@clisp.org>
103566         * lib/mkdtemp.c: Import from libc.
103567         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
103568                 * sysdeps/posix/tempname.c (__gen_tempname): Change
103569                 attempts_min into a macro.  Use preprocessor to decide how to
103570                 initialize attempts [Coverity CID 67].
103571         2001-11-27  Paul Eggert  <eggert@twinsun.com>
103572                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
103573                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
103575 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103577         * gnulib-tool (func_exit): New function, to allow to pass the
103578         exit status portably through the trap.  Use everywhere.
103579         (--help, --version): Signal a write error.
103580         (trap): catch SIGPIPE, for write errors.
103581         Exit at the end of the trap, with the correct exit status.
103583 2006-09-19  Karl Berry  <karl@gnu.org>
103585         * doc/gnulib.texi: note about the license texinfo files.
103587 2006-09-19  Eric Blake  <ebb9@byu.net>
103589         * gnulib-tool: Avoid space-tab.
103591 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
103593         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
103594         that prevented coreutils 6.1 from building.  Problem reported
103595         by Petter Reinholdtsen.
103597 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
103599         * gnulib-tool (avoidlist): Fix typo that broke options like
103600         --avoid=lock that are used by coreutils bootstrap.
103602 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
103604         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
103605         more systematically.
103607 2006-09-18  Jim Meyering  <jim@meyering.net>
103609         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
103611 2006-09-18  Bruno Haible  <bruno@clisp.org>
103613         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
103615 2006-09-18  Bruno Haible  <bruno@clisp.org>
103617         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
103618         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
103619         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
103620         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
103621         * m4/gettext.m4: Require autoconf >= 2.52.
103622         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
103623         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
103624         of gl_cv_header_inttypes_h.
103626 2006-09-18  Bruno Haible  <bruno@clisp.org>
103628         * lib/javaversion.c: Include configmake.h.
103630 2006-09-18  Bruno Haible  <bruno@clisp.org>
103632         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
103633         avoid that the while loops be executed in a subshell.
103635 2006-09-18  Bruno Haible  <bruno@clisp.org>
103637         * MODULES.html.sh (func_module): Break long lines.
103638         Suggested by Bruce Korb <bkorb@gnu.org>.
103640 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103642         Speed up by a factor of 1.12.
103643         * gnulib-tool (nl): New variable.
103644         (func_import): Rewrite include directive extraction to only read each
103645         directive once.
103647 2006-09-17  Bruno Haible  <bruno@clisp.org>
103649         * modules/javaversion (Makefile.am): Remove DEFS setting.
103650         (Depends-on): Add configmake, for PKGDATADIR definition.
103652 2006-09-17  Bruno Haible  <bruno@clisp.org>
103654         * gnulib-tool (func_create_testdir): Rewrite all files at once.
103656 2006-09-17  Bruno Haible  <bruno@clisp.org>
103658         * gnulib-tool (func_append): New function, stolen from libtool.m4.
103659         (func_modules_transitive_closure, func_modules_add_dummy,
103660         func_modules_to_filelist, func_import, func_create_testdir,
103661         func_create_megatestdir, ...): Use it wherever possible.
103662         Suggested by Ralf Wildenhues.
103664 2006-09-16  Karl Berry  <karl@gnu.org>
103666         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
103667         to avoid sectioning errors.
103668         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
103669         [ifinfo]: blank line after @center-ed titles.
103670         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
103671         Spell FSF address consistently with others.
103672         (These changes approved by rms.)
103674 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103676         Speed up by a factor of 1.61.
103677         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
103678         already checked module names again.
103680 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103682         Speed up by a factor of 1.13.
103683         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
103684         for new_files, and the input to func_add_or_update.
103686 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103688         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
103689         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
103691 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
103693         * modules/mkancesdirs (Depends-on): Add fcntl.
103694         * modules/savewd: New file.
103695         * MODULES.html.sh (File system functions): Add savewd.
103697         * modules/configmake (Makefile.am): Add support for the
103698         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
103700 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
103702         * m4/savewd.m4: New file.
103704 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
103706         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
103707         (dirchownmod): New arg FD.  All callers changed.
103708         Use FD rather than opening the directory ourself, as opening is
103709         now the caller's responsibility.
103710         * lib/dirchownmod.h: Likewise.
103711         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
103712         hosts that require <sys/types.h> before <sys/stat.h>.  Include
103713         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
103714         (test_dir): Remove.
103715         (mkancesdirs): Return length of prefix of FILE that has already
103716         been made, or -2 if there is a child doing the work.  Redo
103717         algorithm so that it is O(N) rather than O(N**2).  Optimize away
103718         ".", and treat ".." specially since it might stray back into
103719         already-created areas.  Use a subprocess if necessary.  New arg
103720         WD; all users changed.  MAKE_DIR function should now return 1
103721         if it creates a directory that is not readable.  Return -2 if
103722         a child process is spun off.
103723         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
103724         Adjust signature to match code.
103725         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
103726         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
103727         all users changed.
103728         * lib/savewd.c, lib/savewd.h: New files.
103730 2006-09-15  Jim Meyering  <jim@meyering.net>
103732         * modules/rename-dest-slash: New module.
103733         * MODULES.html.sh (posix_compat): Add it here.
103735         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
103737 2006-09-15  Jim Meyering  <jim@meyering.net>
103739         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
103740         file.
103742         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
103744 2006-09-15  Jim Meyering  <jim@meyering.net>
103746         * lib/rename-dest-slash.c (has_trailing_slash): Use
103747         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
103748         (rpl_rename_dest_slash): Perform the cheaper trailing slash
103749         test before testing whether SRC is a directory.
103750         Suggestions from Bruno Haible.
103752         Avoid a warning about an unused variable.
103753         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
103754         into the #ifdef block where it's used.
103756         * lib/rename-dest-slash.c: New file.
103758 2006-09-14  Bruno Haible  <bruno@clisp.org>
103760         * lib/allocsa.c: Include <config.h> unconditionally.
103761         * lib/asnprintf.c: Likewise.
103762         * lib/asprintf.c: Likewise.
103763         * lib/c-strcasecmp.c: Likewise.
103764         * lib/c-strcasestr.c: Likewise.
103765         * lib/c-strncasecmp.c: Likewise.
103766         * lib/c-strstr.c: Likewise.
103767         * lib/classpath.c: Likewise.
103768         * lib/clean-temp.c: Likewise.
103769         * lib/concatpath.c: Likewise.
103770         * lib/copy-file.c: Likewise.
103771         * lib/csharpcomp.c: Likewise.
103772         * lib/csharpexec.c: Likewise.
103773         * lib/execute.c: Likewise.
103774         * lib/fatal-signal.c: Likewise.
103775         * lib/findprog.c: Likewise.
103776         * lib/fwriteerror.c: Likewise.
103777         * lib/gl_array_list.c: Likewise.
103778         * lib/gl_array_oset.c: Likewise.
103779         * lib/gl_avltree_list.c: Likewise.
103780         * lib/gl_avltree_oset.c: Likewise.
103781         * lib/gl_avltreehash_list.c: Likewise.
103782         * lib/gl_carray_list.c: Likewise.
103783         * lib/gl_linked_list.c: Likewise.
103784         * lib/gl_linkedhash_list.c: Likewise.
103785         * lib/gl_list.c: Likewise.
103786         * lib/gl_oset.c: Likewise.
103787         * lib/gl_rbtree_list.c: Likewise.
103788         * lib/gl_rbtree_oset.c: Likewise.
103789         * lib/gl_rbtreehash_list.c: Likewise.
103790         * lib/imaxabs.c: Likewise.
103791         * lib/imaxdiv.c: Likewise.
103792         * lib/javacomp.c: Likewise.
103793         * lib/javaexec.c: Likewise.
103794         * lib/javaversion.c: Likewise.
103795         * lib/linebreak.c: Likewise.
103796         * lib/localcharset.c: Likewise.
103797         * lib/lock.c: Likewise.
103798         * lib/mbchar.c: Likewise.
103799         * lib/mbswidth.c: Likewise.
103800         * lib/mkdtemp.c: Likewise.
103801         * lib/pipe.c: Likewise.
103802         * lib/printf-args.c: Likewise.
103803         * lib/printf-parse.c: Likewise.
103804         * lib/progname.c: Likewise.
103805         * lib/progreloc.c: Likewise.
103806         * lib/readlink.c: Likewise.
103807         * lib/sh-quote.c: Likewise.
103808         * lib/stpcpy.c: Likewise.
103809         * lib/stpncpy.c: Likewise.
103810         * lib/strcasecmp.c: Likewise.
103811         * lib/strcasestr.c: Likewise.
103812         * lib/strcspn.c: Likewise.
103813         * lib/striconv.c: Likewise.
103814         * lib/strncasecmp.c: Likewise.
103815         * lib/strnlen1.c: Likewise.
103816         * lib/strstr.c: Likewise.
103817         * lib/strtok_r.c: Likewise.
103818         * lib/tls.c: Likewise.
103819         * lib/tmpdir.c: Likewise.
103820         * lib/unicodeio.c: Likewise.
103821         * lib/unsetenv.c: Likewise.
103822         * lib/vasnprintf.c: Likewise.
103823         * lib/vasprintf.c: Likewise.
103824         * lib/wait-process.c: Likewise.
103825         * lib/xallocsa.c: Likewise.
103826         * lib/xsetenv.c: Likewise.
103827         * lib/xstriconv.c: Likewise.
103829 2006-09-13  Simon Josefsson  <jas@extundo.com>
103831         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
103832         that internally, suggested by Ralf Wildenhues
103833         <Ralf.Wildenhues@gmx.de>.
103835 2006-09-13  Simon Josefsson  <jas@extundo.com>
103837         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
103838         @LIBOBJS@.
103839         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
103841 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
103843         * lib/_fpending.c: Include <config.h> unconditionally, since we no
103844         longer worry about uses that don't define HAVE_CONFIG_H.
103845         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
103846         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
103847         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
103848         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
103849         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
103850         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
103851         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
103852         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
103853         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
103854         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
103855         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
103856         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
103857         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
103858         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
103859         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
103860         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
103861         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
103862         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
103863         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
103864         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
103865         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
103866         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
103867         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
103868         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
103869         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
103870         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
103871         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
103872         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
103873         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
103874         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
103875         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
103876         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
103877         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
103878         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
103879         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
103880         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
103881         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
103882         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
103883         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
103884         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
103885         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
103886         Likewise.
103888 2006-09-13  Eric Blake  <ebb9@byu.net>
103890         * lib/getopt.c: Fix typo in last commit.
103892 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
103894         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
103895         dgettext.
103897 2006-09-12  Jim Meyering  <jim@meyering.net>
103899         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
103900         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
103901         Reported by Nelson H. F. Beebe.
103903 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
103905         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
103906         program_invocation_name and program_invocation_short_name are
103907         initialized.
103908         * lib/argp-namefrob.h: Move declarations of program_invocation_name
103909         and program_invocation_short_name to argp.h, so they are visible
103910         to user programs.
103911         * lib/argp.h: Likewise
103913 2006-09-10  Bruno Haible  <bruno@clisp.org>
103915         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
103916         m4/inttypes_h.m4, m4/uintmax_t.m4.
103918 2006-09-10  Bruno Haible  <bruno@clisp.org>
103920         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
103921         gl_AC_TYPE_UINTMAX_T.
103923 2006-09-10  Bruno Haible  <bruno@clisp.org>
103925         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
103927 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
103929         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
103930         convention.  Text proposed by Bruno Haible.
103931         (struct argp_option): Document the use of N_() wrappers.
103933         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
103934         '\v', and translate the two parts separately, instead of feeding
103935         the whole string to gettext.  This allows to exclude
103936         '\v' from the strings visible to the translator by writing doc
103937         strings as N_("..") "\v" N_("..").
103939 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
103941         * config/srclist.txt: Undo latest change; the bug was fixed.
103943 2006-09-09  Bruno Haible  <bruno@clisp.org>
103945         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
103946         assignments if building a library without libtool.
103947         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
103948         in func_emit_lib_Makefile_am.
103949         (func_import): When building a static library libfoo.a, arrange to
103950         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
103951         (func_create_testdir): Likewise.
103952         * modules/gc (configure.ac, Makefile.am): If building statically,
103953         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
103954         * modules/iconvme (configure.ac, Makefile.am): Likewise.
103955         * modules/striconv (configure.ac, Makefile.am): Likewise.
103956         Based on a suggestion by Ralf Wildenhues.
103958 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103960         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
103961         Check for unistd.h too, since Autoconf doesn't assume POSIX.
103962         Also:
103964         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103965         Add year_2050_test to catch glibc bug 2821
103966         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
103968         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
103969         Prefer #ifdef to #if.
103971         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
103972         Return from 'main' instead of calling 'exit'.
103974 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103976         * lib/mktime.c (guess_time_tm): Fix bug where mktime
103977         returned the maximum time_t value rather than (time_t) -1.
103978         Problem originally reported by William Bardwell
103979         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
103981         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
103982         Moved to here ...
103983         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
103984         ... from here.
103986 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103988         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
103989         2821 is fixed.
103991 2006-09-08  Jim Meyering  <jim@meyering.net>
103993         Don't make generated files read-only.  That would bother too many
103994         people.  However, do retain the ability to work when targets are
103995         read-only: remove the destination and temporary files before writing
103996         them (when generated via sed or echo), or by using the -f option for
103997         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
103998         * modules/alloca-opt, modules/argz, modules/arpa_inet:
103999         * modules/byteswap, modules/configmake, modules/fcntl:
104000         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
104001         * modules/localcharset, modules/netinet_in, modules/poll:
104002         * modules/stdbool, modules/stdint, modules/sys_select:
104003         * modules/sys_socket, modules/sys_stat, modules/sysexits:
104005 2006-09-08  Jim Meyering  <jim@meyering.net>
104007         Avoid new build failure on FreeBSD 6.0.
104008         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
104009         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
104010         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
104012 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104014         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
104016 2006-09-07  Jim Meyering  <jim@meyering.net>
104018         Fix global typo in last change: use chmod u-w, not chmod u-x.
104019         Spotted by Paul Eggert and Bruce Korb.
104020         * modules/alloca-opt, modules/argz, modules/arpa_inet:
104021         * modules/byteswap, modules/configmake, modules/fcntl:
104022         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
104023         * modules/localcharset, modules/netinet_in, modules/poll:
104024         * modules/stdbool, modules/stdint, modules/sys_select:
104025         * modules/sys_socket, modules/sys_stat, modules/sysexits:
104027 2006-09-06  Jim Meyering  <jim@meyering.net>
104029         Make generated files be read-only.
104030         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
104031         Ensure that each generated file is now read-only.
104032         * modules/argz: Likewise.
104033         * modules/arpa_inet: Likewise.
104034         * modules/byteswap: Likewise.
104035         * modules/configmake: Likewise.
104036         * modules/fcntl: Likewise.
104037         * modules/fnmatch: Likewise.
104038         * modules/getopt: Likewise.
104039         * modules/glob: Likewise.
104040         * modules/inttypes: Likewise.
104041         * modules/netinet_in: Likewise.
104042         * modules/poll: Likewise.
104043         * modules/stdbool: Likewise.
104044         * modules/stdint: Likewise.
104045         * modules/sys_select: Likewise.
104046         * modules/sys_socket: Likewise.
104047         * modules/sys_stat: Likewise.
104048         * modules/sysexits: Likewise.
104049         * modules/localcharset: Same as above, but continue using temporary
104050         file named "t-$@" (why different?) rather than the "$@-t" used
104051         everywhere else.
104053         * modules/sysexits (Makefile.am): Replace literal occurrences
104054         of "sysexit.h" more readable, and more consistent, "$@".
104056 2006-09-06  Bruno Haible  <bruno@clisp.org>
104058         * modules/striconv: New file.
104059         * modules/xstriconv: New file.
104060         * MODULES.html.sh (Internationalization functions): Add striconv,
104061         xstriconv.
104063 2006-09-06  Bruno Haible  <bruno@clisp.org>
104065         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
104066         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
104067         not using libtool correctly.
104069 2006-09-06  Bruno Haible  <bruno@clisp.org>
104071         * lib/striconv.h: New file.
104072         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
104073         iconvstring.c.
104074         * lib/xstriconv.h: New file.
104075         * lib/xstriconv.c: New file.
104077 2006-09-06  Bruno Haible  <bruno@clisp.org>
104079         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
104080         lib_..._LDFLAGS.
104082 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104084         * lib/argz_.h: Sync from Libtool.
104086         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
104087                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
104089         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
104091 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
104093         * modules/trim: New file.
104095 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
104097         * lib/trim.h: New file.
104098         * lib/trim.c: New file.
104100 2006-09-05  Bruno Haible  <bruno@clisp.org>
104102         * MODULES.html.sh (String handling): Add trim.
104104 2006-09-04  Karl Berry  <karl@gnu.org>
104106         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
104107         until next release.
104109 2006-09-03  Bruno Haible  <bruno@clisp.org>
104111         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
104112         correctly.
104114 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
104116         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
104117         not gl_GETLOADAVG.  Omit unneeded semicolons.
104118         Problems reported by Ralf Wildenhues in
104119         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
104120         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
104121         at the end, which is the usual gnulib style.
104123         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
104124         of doing all the work ourselves.
104125         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
104126         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
104128 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
104130         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
104131         Problem reported by Ralf Wildenhues in
104132         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
104134         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
104135         HAVE_STRUCT_STATFS_F_FSTYPENAME.
104137 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
104139         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
104140         yesterday's patch by changing test -n to test -z.
104142 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
104144         * modules/getloadavg (Files): Add m4/getloadavg.m4.
104145         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
104146         the former is now obsolescent.
104148         * modules/chdir-long (Depends-on): Add fcntl.
104150 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
104152         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
104153         obsolescent, and programs should use gnulib instead.
104154         * m4/getloadavg.m4: New file, with contents taken from Autoconf
104155         but with prefixes changed.
104157 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
104159         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
104160         or stdbool.h, because they might not exist while configuring.
104162         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
104163         Don't include unistd.h or limits.h; not needed, since chdir-long.h
104164         does that for us.
104165         (O_DIRECTORY): Remove.
104167 2006-08-31  Eric Blake  <ebb9@byu.net>
104169         * gnulib-tool: Don't let emacs change spaces to TAB.
104171 2006-08-31  Bruno Haible  <bruno@clisp.org>
104173         * gnulib-tool: When calling func_import more than once, do it in a
104174         subshell.
104175         Reported by Eric Blake <ebb9@byu.net>.
104177 2006-08-31  Bruno Haible  <bruno@clisp.org>
104179         * gnulib-tool (nl): Remove variable.
104180         (sed_transform_lib_file): Use more robust test for config-h module.
104181         (func_import): Fix typo in 2006-08-25 patch.
104183 2006-08-31  Bruno Haible  <bruno@clisp.org>
104185         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
104186         specified, augment Makefile.am variables instead of assigning them.
104188 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
104190         Work around a bug in both the Linux and SunOS 64-bit kernels:
104191         nanosleep mishandles sleeps for longer than 2**31 seconds.
104192         Problem reported by Frank v Waveren in
104193         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
104194         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
104195         Check for nanosleep bug.
104196         (LIB_NANOSLEEP): Append clock_gettime library if needed.
104198 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
104200         Work around a bug in both the Linux and SunOS 64-bit kernels:
104201         nanosleep mishandles sleeps for longer than 2**31 seconds.
104202         Problem reported by Frank v Waveren in
104203         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
104204         * lib/nanosleep.c (BILLION): New constant.
104205         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
104206         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
104207         implementation.
104209 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
104211         * modules/nanosleep (Depends-on): Add gettime.
104213 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
104214         and Simon Josefsson  <jas@extundo.com>
104215         and Oskar Liljeblad  <oskar@osk.mine.nu>
104217         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
104218         * gnulib-tool (func_import): New license type 'unmodifiable license
104219         text'.
104220         * modules/fdl: Use it.  Longer description.
104221         * module/gpl, module/lgpl: New files.
104223 2006-08-30  Jim Meyering  <jim@meyering.net>
104225         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
104226         shadowing the parameter.
104228 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104230         Sync from Libtool:
104232         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104234         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
104235         sharing with gnulib.  Report by Eric Blake.
104237 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
104239         * modules/isapipe: New file.
104240         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
104242 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
104244         * modules/configmake (Makefile.am): Add a comment, and omit
104245         the CONFIGMAKE_ prefix from generated macro names.  Suggested
104246         by Bruno Haible.
104248 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
104250         * m4/isapipe.m4: New file.
104252 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
104254         * lib/isapipe.c, lib/isapipe.h: New files.
104256 2006-08-29  Jim Meyering  <jim@meyering.net>
104258         * modules/configmake (Makefile.am): Make configmake.h depend on
104259         Makefile.  Otherwise, a stale configmake.h could hang around.
104261 2006-08-29  Eric Blake  <ebb9@byu.net>
104263         * lib/error.c (error_at_line, print_errno_message): Match libc, after
104264         resolution of upstream bug 3044.
104266 2006-08-29  Bruno Haible  <bruno@clisp.org>
104268         * modules/localcharset (Depends-on): Add configmake.
104269         (Makefile.am): Remove setting of LIBDIR through DEFS.
104271 2006-08-29  Bruno Haible  <bruno@clisp.org>
104273         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
104274         defined.
104276 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
104278         * modules/fcntl: New file.
104279         * modules/chdir-safer (Depends-on): Add fcntl.
104280         * modules/fts: Likewise.
104281         * modules/mkdir-p: Likewise.
104283         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
104284         This undoes the most recent change, since we're now addressing the
104285         problem in a different way.
104287         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
104288         into output, since the output might be called Makefile.am even
104289         if $makefile_name is something different.
104290         (func_import): Use $makefile_am rather than
104291         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
104292         empty.
104294         * modules/inttypes (Files): Add m4/inttypes-h.m4.
104296 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
104298         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
104299         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
104300         recent change to stdint.m4, since we're now addressing the problem in a
104301         different way.
104303 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
104305         * m4/fcntl_h.m4: New file.
104307 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
104309         * lib/fcntl_.h: New file.
104310         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
104311         the fcntl module.
104312         * lib/dirchownmod.c: Likewise.
104313         * lib/fts.c: Likewise.
104315         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
104316         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
104317         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
104318         just before including <inttypes.h>, to avoid circular inclusion.
104320 2006-08-28  Jim Meyering  <jim@meyering.net>
104322         * doc/visibility.texi: Actually read and correct the grammar of the
104323         sentence affected by yesterday's change.
104325 2006-08-28  Eric Blake  <ebb9@byu.net>
104327         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
104328         needs wrapper.
104330 2006-08-28  Eric Blake  <ebb9@byu.net>
104332         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
104334 2006-08-28  Eric Blake  <ebb9@byu.net>
104336         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
104338 2006-08-28  Bruno Haible  <bruno@clisp.org>
104340         * modules/c-strstr: New file, from GNU gettext.
104341         * MODULES.html.sh (String handling): Add c-strstr.
104343 2006-08-28  Bruno Haible  <bruno@clisp.org>
104345         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
104346         macros.
104347         Reported by Eric Blake.
104349 2006-08-28  Bruno Haible  <bruno@clisp.org>
104351         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
104352         (VASNPRINTF): Return a string of length > INT_MAX without failing.
104353         * lib/vasprintf.c: Include errno.h, limits.h.
104354         (EOVERFLOW): New fallback definition.
104355         (vasprintf): Test here whether the string length is > INT_MAX.
104356         * lib/vsnprintf.c: Include errno.h, limits.h.
104357         (EOVERFLOW): New fallback definition.
104358         (vsnprintf): Fix bug when generated string was too long for the buffer.
104359         Test here whether the string length is > INT_MAX.
104361 2006-08-28  Bruno Haible  <bruno@clisp.org>
104363         * lib/inttypes_.h (SCNX*): Remove definitions.
104364         Reported by Eric Blake.
104366 2006-08-28  Bruno Haible  <bruno@clisp.org>
104368         * lib/c-strstr.h: New file, from GNU gettext.
104369         * lib/c-strstr.c: New file, from GNU gettext.
104371 2006-08-28  Bruno Haible  <bruno@clisp.org>
104373         * gnulib-tool: Reorder some statements.
104375 2006-08-28  Bruno Haible  <bruno@clisp.org>
104377         * gnulib-tool: New option --makefile-name.
104378         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
104379         $makefile_name.
104380         (func_import): Write $makefile_name to the cache file, and read it from
104381         there unless explicitly specified. Use $makefile_name as file name
104382         instead of Makefile.am. Adjust the recommendations accordingly.
104384 2006-08-28  Bruno Haible  <bruno@clisp.org>
104386         * gnulib-tool (func_verify_module): Check against misapplying patch.
104388 2006-08-28  Bruno Haible  <bruno@clisp.org>
104390         * gnulib-tool (func_relativize, func_relconcat): New functions.
104391         Give an error if --local-dir is given with --update.
104392         Remove trailing slashes from $local_gnulib_dir.
104393         (func_import): Store the relativized $local_gnulib_dir in
104394         gnulib-cache.m4, and read it from there if not specified explicitly.
104396 2006-08-28  Bruno Haible  <bruno@clisp.org>
104398         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
104399         is the current directory. Respect also $local_gnulib_dir.
104401 2006-08-28  Bruno Haible  <bruno@clisp.org>
104402             Simon Josefsson  <jas@extundo.com>
104404         BeOS portability.
104405         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
104407 2006-08-27  Jim Meyering  <jim@meyering.net>
104409         * doc/visibility.texi: Remove duplicate word: "pointer".
104411 2006-08-26  Bruno Haible  <bruno@clisp.org>
104413         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
104414         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
104415         (Makefile.am): Create inttypes.h from inttypes_.h.
104416         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
104418         * modules/imaxabs: New file.
104420         * modules/imaxdiv: New file.
104422 2006-08-26  Bruno Haible  <bruno@clisp.org>
104424         * m4/inttypes.m4: New file.
104425         * m4/_inttypes_h.m4: Remove file.
104426         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
104427         PRI_MACROS_BROKEN.
104428         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
104430         * m4/imaxabs.m4: New file.
104432         * m4/imaxdiv.m4: New file.
104434 2006-08-26  Bruno Haible  <bruno@clisp.org>
104436         * lib/inttypes_.h: New file.
104437         * lib/inttypes.h: Remove file.
104438         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
104440         * lib/imaxabs.c: New file.
104442         * lib/imaxdiv.c: New file.
104444 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
104446         New config-h module, so that "make" output needn't be cluttered
104447         by -DHAVE_CONFIG_H.
104448         * MODULES.html.sh (Support for building libraries and executables):
104449         Add config-h.
104450         * modules/config-h: New file.
104451         * gnulib-tool (nl, sed_transform_lib_file): New vars.
104452         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
104453         the config-h module is used.
104455         New configmake module, so that "make" output needn't be cluttered
104456         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
104457         * MODULES.html.sh (Support for building libraries and executables):
104458         Add configmake.
104459         * modules/configmake: New file.
104461 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
104463         * m4/config-h.m4: New file.
104465 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
104467         * config/srclist.txt: Add elisp-comp.
104469 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
104471         * MODULES.html.sh (Support for building libraries and executables):
104472         Add elisp-comp.
104473         * build-aux/elisp-comp: New file.
104474         * modules/elisp-comp: New file.
104476 2006-08-24  Bruno Haible  <bruno@clisp.org>
104478         * gnulib-tool (func_create_testdir): Use non-default values of
104479         sourcebase and m4base.
104481 2006-08-24  Bruno Haible  <bruno@clisp.org>
104483         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
104484         HTML structure.
104486 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104488         * modules/openat (Depends-on): Add lchown.
104490 2006-08-23  Bruno Haible  <bruno@clisp.org>
104492         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
104493         of gl_LOCK_EARLY instead of gl_LOCK.
104495 2006-08-23  Bruno Haible  <bruno@clisp.org>
104497         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
104498         on OSF/1 to no.
104499         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
104501 2006-08-23  Bruno Haible  <bruno@clisp.org>
104503         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
104504         as unusable.
104506         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
104507         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
104508         (gl_LOCK): New macro.
104510 2006-08-22  Simon Josefsson  <jas@extundo.com>
104512         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
104513         to md5 module.
104515 2006-08-22  Simon Josefsson  <jas@extundo.com>
104517         * MODULES.html.sh: Add "Support for maintaining and release
104518         projects".
104520         * build-aux/gnupload: New file, from coreutils.
104522 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
104524         Avoid the need for AC_LIBSOURCES in m4 macros.
104525         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
104526         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
104527         * modules/check-version (EXTRA_DIST): Add check-version.h.
104528         * modules/crc (EXTRA_DIST): Add crc.h.
104529         * modules/des (EXTRA_DIST): Add des.h.
104530         * modules/gc (EXTRA_DIST): Add gc.h.
104531         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
104532         * modules/getline (EXTRA_DIST): Add getline.h.
104533         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
104534         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
104535         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
104536         * modules/md2 (EXTRA_DIST): Add md2.h.
104537         * modules/md4 (EXTRA_DIST): Add md4.h.
104538         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
104539         * modules/read-file (EXTRA_DIST): Add read-file.h.
104540         * modules/readline (EXTRA_DIST): Add readline.h.
104541         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
104542         rijndael-api-fst.h.
104544 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
104546         * m4/rijndael.m4 (gl_ARCFOUR):
104547         * m4/arctwo.m4 (gl_ARCTWO):
104548         * m4/check-version.m4 (gl_CHECK_VERSION):
104549         * m4/crc.m4 (gl_CRC):
104550         * m4/des.m4 (gl_DES):
104551         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
104552         * m4/gc.m4 (gl_GC):
104553         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
104554         * m4/getline.m4 (gl_FUNC_GETLINE):
104555         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
104556         * m4/hmac-md5.m4 (gl_HMAC_MD5):
104557         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
104558         * m4/md2.m4 (gl_MD2):
104559         * m4/md4.m4 (gl_MD4):
104560         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
104561         * m4/read-file.m4 (gl_FUNC_READ_FILE):
104562         * m4/readline.m4 (gl_FUNC_READLINE):
104563         * m4/rijndael.m4 (gl_RIJNDAEL):
104564         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
104565         to get the necessary .h files and whatnot.
104567 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
104569         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
104570         gnulib rather than the other way around.
104571         * config/srclistvars.sh (COREUTILS): Remove.
104573 2006-08-22  Jim Meyering  <jim@meyering.net>
104575         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
104577         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
104579 2006-08-22  Eric Blake  <ebb9@byu.net>
104581         * modules/regexprops-generic: New file.
104582         * MODULES.html.sh (Support for building documentation): List it.
104584 2006-08-22  Eric Blake  <ebb9@byu.net>
104586         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
104587         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
104588         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
104589         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
104591 2006-08-22  Bruno Haible  <bruno@clisp.org>
104593         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
104594         and lib_LTLIBRARIES like the other lib_* variables.
104596 2006-08-22  Bruno Haible  <bruno@clisp.org>
104598         * build-aux/x-to-1.in: New file, from GNU gettext.
104600 2006-08-22  Bruno Haible  <bruno@clisp.org>
104602         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
104603         <utmpx.h> exists.
104605 2006-08-22  Bruno Haible  <bruno@clisp.org>
104607         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
104608         <utmpx.h> exists.
104610 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
104612         BeOS portability.
104613         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
104614         exist.
104615         Problem reported by Bruno Haible.
104617 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
104619         Avoid the need for AC_LIBSOURCES in m4 macros.
104620         * modules/acl (EXTRA_DIST): Add acl.h.
104621         * modules/argmatch (Files): Add m4/argmatch.m4.
104622         (configure.ac): Add gl_ARGMATCH.
104623         (EXTRA_DIST): Renamed from lib_SOURCES, for
104624         consistency with the other modules.  Remove argmatch.c.
104625         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
104626         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
104627         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
104628         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
104629         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
104630         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
104631         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
104632         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
104633         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
104634         * modules/closeout (EXTRA_DIST): Add closeout.h.
104635         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
104636         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
104637         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
104638         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
104639         dirname.h; remove basename.c and stripslash.c.
104640         * modules/exclude (EXTRA_DIST): Add exclude.h.
104641         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
104642         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
104643         * modules/file-type (EXTRA_DIST): Add file-type.h.
104644         * modules/filemode (EXTRA_DIST): Add filemode.h.
104645         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
104646         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
104647         * modules/fpending (EXTRA_DIST): Add __fpending.h.
104648         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
104649         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
104650         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
104651         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
104652         * modules/getdate (EXTRA_DIST): Add getdate.c.
104653         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
104654         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
104655         * modules/getpass (EXTRA_DIST): Add getpass.h.
104656         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
104657         * modules/group-member (EXTRA_DIST): Add group-member.h.
104658         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
104659         * modules/hash (EXTRA_DIST): Add hash.h.
104660         * modules/human (EXTRA_DIST): Add human.h.
104661         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
104662         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
104663         * modules/lchown (EXTRA_DIST): Add lchown.h.
104664         * modules/long-options (EXTRA_DIST): Add long-options.h.
104665         * modules/lstat (EXTRA_DIST): Add lstat.h.
104666         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
104667         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
104668         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
104669         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
104670         * modules/memxor (EXTRA_DIST): Add memxor.h.
104671         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
104672         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
104673         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
104674         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
104675         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
104676         * modules/physmem (EXTRA_DIST): Add physmem.h.
104677         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
104678         * modules/posixver (EXTRA_DIST): Add posixver.h.
104679         * modules/quote (EXTRA_DIST): Add quote.h.
104680         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
104681         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
104682         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
104683         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
104684         regex_internal.h regexec.c.
104685         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
104686         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
104687         * modules/same (EXTRA_DIST): Add same.h.
104688         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
104689         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
104690         * modules/savedir (EXTRA_DIST): Add savedir.h.
104691         * modules/sha1 (EXTRA_DIST): Add sha1.h.
104692         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
104693         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
104694         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
104695         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
104696         * modules/strdup (EXTRA_DIST): Add strdup.h.
104697         * modules/strftime (EXTRA_DIST): Add strftime.h.
104698         * modules/strndup (EXTRA_DIST): Add strndup.h.
104699         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
104700         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
104701         * modules/time_r (EXTRA_DIST): Add time_r.h.
104702         * modules/timespec (EXTRA_DIST): Add timespec.h.
104703         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
104704         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
104705         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
104706         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
104707         * modules/userspec (EXTRA_DIST): Add userspec.h.
104708         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
104709         * modules/utimens (EXTRA_DIST): Add utimens.h.
104710         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
104711         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
104712         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
104713         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
104714         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
104715         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
104716         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
104717         * modules/yesno (EXTRA_DIST): Add yesno.h.
104719 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
104721         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
104723         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
104724         * m4/dev-ino.m4, same-inode.m4: Remove.
104726         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
104727         * m4/acl.m4 (AC_FUNC_ACL):
104728         * m4/backupfile.m4 (gl_BACKUPFILE):
104729         * m4/c-strtod.m4 (gl_C99_STRTOLD):
104730         * m4/canon-host.m4 (gl_CANON_HOST):
104731         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
104732         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
104733         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
104734         * m4/cloexec.m4 (gl_CLOEXEC):
104735         * m4/close-stream.m4 (gl_CLOSE_STREAM):
104736         * m4/closeout.m4 (gl_CLOSEOUT):
104737         * m4/dirfd.m4 (gl_FUNC_DIRFD):
104738         * m4/dirname.m4 (gl_DIRNAME):
104739         * m4/exclude.m4 (gl_EXCLUDE):
104740         * m4/exitfail.m4 (gl_EXITFAIL):
104741         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
104742         * m4/file-type.m4 (gl_FILE_TYPE):
104743         * m4/filemode.m4 (gl_FILEMODE):
104744         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
104745         * m4/fpending.m4 (gl_FUNC_FPENDING):
104746         * m4/fprintftime.m4 (gl_FPRINTFTIME):
104747         * m4/fts.m4 (gl_FUNC_FTS):
104748         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
104749         * m4/getdate.m4 (gl_GETDATE):
104750         * m4/gethrxtime.m4 (gl_GETHRXTIME):
104751         * m4/getpagesize.m4 (gl_GETPAGESIZE):
104752         * m4/getpass.m4 (gl_FUNC_GETPASS):
104753         * m4/gettime.m4 (gl_GETTIME):
104754         * m4/getugroups.m4 (gl_GETUGROUPS):
104755         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
104756         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
104757         * m4/hard-locale.m4 (gl_HARD_LOCALE):
104758         * m4/hash.m4 (gl_HASH):
104759         * m4/idcache.m4 (gl_IDCACHE):
104760         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
104761         * m4/lchown.m4 (gl_FUNC_LCHOWN):
104762         * m4/long-options.m4 (gl_LONG_OPTIONS):
104763         * m4/lstat.m4 (gl_FUNC_LSTAT):
104764         * m4/md5.m4 (gl_MD5):
104765         * m4/memcasecmp.m4 (gl_MEMCASECMP):
104766         * m4/memcoll.m4 (gl_MEMCOLL):
104767         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
104768         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
104769         * m4/memxor.m4 (gl_MEMXOR):
104770         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
104771         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
104772         * m4/modechange.m4 (gl_MODECHANGE):
104773         * m4/mountlist.m4 (gl_MOUNTLIST):
104774         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
104775         * m4/openat.m4 (gl_FUNC_OPENAT):
104776         * m4/pathmax.m4 (gl_PATHMAX):
104777         * m4/physmem.m4 (gl_PHYSMEM):
104778         * m4/posixtm.m4 (gl_POSIXTM):
104779         * m4/posixver.m4 (gl_POSIXVER):
104780         * m4/quote.m4 (gl_QUOTE):
104781         * m4/quotearg.m4 (gl_QUOTEARG):
104782         * m4/readtokens.m4 (gl_READTOKENS):
104783         * m4/readutmp.m4 (gl_READUTMP):
104784         * m4/regex.m4 (gl_REGEX):
104785         * m4/safe-read.m4 (gl_SAFE_READ):
104786         * m4/safe-write.m4 (gl_SAFE_WRITE):
104787         * m4/same.m4 (gl_SAME):
104788         * m4/save-cwd.m4 (gl_SAVE_CWD):
104789         * m4/savedir.m4 (gl_SAVEDIR):
104790         * m4/settime.m4 (gl_SETTIME):
104791         * m4/sha1.m4 (gl_SHA1):
104792         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
104793         * m4/stat-macros.m4 (gl_STAT_MACROS):
104794         * m4/stat-time.m4 (gl_STAT_TIME):
104795         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
104796         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
104797         * m4/strdup.m4 (gl_FUNC_STRDUP):
104798         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
104799         * m4/strndup.m4 (gl_FUNC_STRNDUP):
104800         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
104801         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
104802         * m4/time_r.m4 (gl_TIME_R):
104803         * m4/timespec.m4 (gl_TIMESPEC):
104804         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
104805         * m4/unlinkdir.m4 (gl_UNLINKDIR):
104806         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
104807         * m4/userspec.m4 (gl_USERSPEC):
104808         * m4/utimecmp.m4 (gl_UTIMECMP):
104809         * m4/utimens.m4 (gl_UTIMENS):
104810         * m4/xalloc.m4 (gl_XALLOC):
104811         * m4/xgetcwd.m4 (gl_XGETCWD):
104812         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
104813         * m4/xreadlink.m4 (gl_XREADLINK):
104814         * m4/xstrtod.m4 (gl_XSTRTOD):
104815         * m4/yesno.m4 (gl_YESNO):
104816         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
104817         to get the necessary .h files and whatnot.
104819 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
104820             Bruno Haible  <bruno@clisp.org>
104822         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
104823         /bin/sh understanding of '!' conditional negation.
104825 2006-08-21  Jim Meyering  <jim@meyering.net>
104827         * modules/openat (Depends-on): Really alphabetize.
104829         * modules/acl (Depends-on): Add error and quote.
104831         * check-module (find_included_lib_files): Add at-func.c to the
104832         ok-to-include-more-than-once white list.
104834         * modules/openat (Depends-on): Add lstat.  Alphabetize.
104836 2006-08-21  Bruno Haible  <bruno@clisp.org>
104838         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
104839         Emit a pkgdata_DATA variable only if some snippets add contents to it.
104840         Reported by Martin Lambers <marlam@marlam.de>.
104842 2006-08-21  Bruno Haible  <bruno@clisp.org>
104844         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
104845         specify an installation location, don't emit a noinst_LIBRARIES or
104846         noinst_LTLIBRARIES assignment.
104848 2006-08-21  Bruno Haible  <bruno@clisp.org>
104850         BeOS portability.
104851         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
104852         BeOS has mbrtowc() but no <wctype.h>.
104854 2006-08-21  Bruno Haible  <bruno@clisp.org>
104856         BeOS portability.
104857         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
104858         exist.
104860 2006-08-21  Bruno Haible  <bruno@clisp.org>
104862         BeOS portability.
104863         * lib/mbchar.h: Include <wctype.h> only if it exists.
104865 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104867         Remove files that are no longer needed by their respective modules.
104868         * m4/obstack.m4: Remove.
104869         * m4/strerror_r.m4: Remove.
104870         * m4/uint32_t.m4: Remove.
104871         * m4/uintptr_t.m4: Remove.
104872         * m4/ullong_max.m4: Remove.
104873         * m4/xstrtoimax.m4: Remove.
104874         * m4/xstrtoumax.m4: Remove.
104876         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
104877         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
104878         dependencies now capture this.
104880         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
104881         Do not use AC_LIBSOURCES, since gnulib modules now do this.
104882         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
104883         * m4/human.m4 (gl_HUMAN): Likewise.
104884         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
104885         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
104887         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
104889         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
104890         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
104891         stdint.
104892         * m4/human.m4 (gl_HUMAN): Likewise.
104893         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
104894         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
104895         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
104896         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
104897         * m4/xstrtol (gl_XSTRTOL): Likewise.
104899         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
104900         AC_TYPE_LONG_LONG_INT.
104901         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
104902         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
104903         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
104904         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
104906         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
104907         on stdbool.
104909         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
104910         (gl_PREREQ_XSTRTOUL): Remove.
104912         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
104914         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
104915         mode.
104917 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104919         Add and change modules to make it easier for coreutils to use
104920         gnulib-tool.
104921         * modules/backupfile (Files): Remove m4/d-ino.m4.
104922         (Depends-on): Add d-ino.
104923         * modules/cycle-check (Depends-on): Add stdint.
104924         (lib_SOURCES): Add cycle-check.h.
104925         * modules/d-ino: New module.
104926         * modules/d-type: New module.
104927         * modules/error (Files): Remove m4/strerror_r.m4.
104928         * modules/filemode (Files): Add m4/st_dm_mode.m4.
104929         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
104930         m4/inttypes_h.m4, m4/uintmax_t.m4.
104931         (Depends-on): Add stdint.
104932         (lib_SOURCES): Add fsusage.h.
104933         * modules/getcwd (Files): Remove d-ino.m4.
104934         (Depends-on): Add d-ino.
104935         * modules/getndelim2 (Depends-on): Add stdint.
104936         * modules/glob (Files): Remove m4/d-type.m4.
104937         (Depends-on): Add d-type.
104938         * modules/host-os: New module.
104939         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
104940         m4/inttypes_h.m4, m4/uintmax_t.m4.
104941         * Depends-on: Add stdint.
104942         (lib_SOURCES): Add human.h.
104943         * modules/inttostr (Files): Remove m4/intmax_t.m4,
104944         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
104945         m4/uintmax_t.m4, m4/ulonglong.m4.
104946         (Depends-on): Add stdint.
104947         (EXTRA_DIST): Add inttostr.h.
104948         * modules/lchmod: New module.
104949         * modules/link-follow: New module.
104950         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
104951         (Depends-on): Add lchmod.
104952         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
104953         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
104954         (Depends-on): Add stdint.
104955         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
104956         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
104957         (Depends-on): Add stdint.
104958         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
104959         * modules/perl: New module.
104960         * modules/regex (Depends-on): Add stdint.
104961         * modules/rmdir-errno: New module.
104962         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
104963         m4/intmax_t.m4.
104964         (Depends-on): Add stdint.
104965         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
104966         m4/uintmax_t.m4.
104967         (Depends-on): Add stdint.
104968         * modules/unlink-busy: New module.
104969         * modules/utimecmp (Depends-on): Add stdint.
104970         * modules/uptime: New module.
104971         * modules/winsz-ioctl: New module.
104972         * modules/winsz-termios: New module.
104973         * modules/xnanosleep (Depends-on): Add nanosleep.
104974         * modules/ullong_max: Remove.
104975         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
104976         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
104977         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
104978         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
104979         (Depends-on): Add inttypes.
104980         (lib_SOURCES): Add xstrtol.h.
104981         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
104982         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
104983         * MODULES.html.sh: Move 'assert' into the assert section.
104984         Move 'dummy' into the linking section.
104985         Remove ullong_max.
104986         Add section for compatibility checks for POSIX:2001 functions,
104987         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
104988         winsz-ioctl, and winsz-termios into it.
104989         Add lchmod.
104990         Add top-level Misc section and put host-os, perl, and uptime
104991         into it.
104993 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104995         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
104996         now assume the stdint module.  Do not include inttypes.h.
104997         * lib/fsusage.h: Likewise.
104998         * lib/getndelim2.c: Likewise.
104999         * lib/human.h: Likewise.
105000         * lib/inttostr.h: Likewise.
105001         * lib/obstack.c: Likewise.
105002         * lib/regex_internal.h: Likewise.
105003         * lib/tempname.c: Likewise.
105004         * lib/utimecmp.c: Likewise.
105005         * lib/xstrtol.h: Likewise.
105007         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
105009         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
105010         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
105011         * lib/xtime.h: Likewise.
105013 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
105015         * modules/openat (Files): Add lib/fchmodat.c.
105016         Fixes problem reported by Jay Youngman.
105018 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
105020         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
105021         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
105023 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
105024             Bruno Haible  <bruno@clisp.org>
105026         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
105027         and is a script that invokes bison. Tighten the code. Add comments.
105029 2006-08-18  Jim Meyering  <jim@meyering.net>
105031         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
105032         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
105033         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
105034         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
105036 2006-08-18  Bruno Haible  <bruno@clisp.org>
105038         * modules/bison-i18n: New file.
105039         * MODULES.html.sh (Internationalization functions): Add it.
105041 2006-08-18  Bruno Haible  <bruno@clisp.org>
105043         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
105044         sys/statvfs.h. When getmntinfo was found, check its declaration and
105045         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
105047 2006-08-18  Bruno Haible  <bruno@clisp.org>
105049         * m4/bison-i18n.m4: New file, from bison.
105051 2006-08-18  Bruno Haible  <bruno@clisp.org>
105053         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
105054         (ME_DUMMY): Treat "kernfs" as a dummy.
105055         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
105057 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
105059         Update from coreutils.
105061         2006-08-15  Jim Meyering  <jim@meyering.net>
105063         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
105065         2006-01-17  Jim Meyering  <jim@meyering.net>
105067         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
105069         2006-01-11  Jim Meyering  <jim@meyering.net>
105071         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
105072         Check for the lchmod function.
105074 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
105076         Update from coreutils.
105078         * lib/__fpending.h: Add copyright notice.
105079         * lib/fprintftime.h: Likewise.
105080         * lib/savedir.c: Use (C) in copyright notice.
105081         * lib/savedir.h: Likewise.
105083         2006-08-15  Jim Meyering  <jim@meyering.net>
105085         * lib/at-func.c: New file, with the logic of all emulated at-functions.
105086         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
105087         in support of the EXPECTED_ERRNO macro.
105088         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
105089         definitions.  Instead, define the appropriate symbols and include
105090         "at-func.c".
105091         * lib/mkdirat.c (mkdirat): Likewise.
105092         * lib/fchmodat.c (fchmodat): Likewise.
105093         (ENOSYS): Remove definition.
105094         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
105095         it.  Don't include "unistd--.h" -- it wasn't ever used.
105097         2006-01-17  Jim Meyering  <jim@meyering.net>
105099         Rewrite fts.c not to change the current working directory,
105100         by using openat, fstatat, fdopendir, etc..
105102         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
105103         (HAVE_OPENAT_SUPPORT): Define.
105104         [_LIBC] (fchdir): Don't undef or define; no longer used.
105105         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
105106         Now, this `function' always succeeds, and consumes its file descriptor
105107         parameter -- so callers must not close such FDs.  Update callers.
105108         (diropen_fd, opendirat, cwd_advance_fd): New functions.
105109         (diropen): Add parameter, SP.  Adjust all callers.
105110         Implement using diropen_fd, rather than open.
105111         (fts_open): Initialize new member, fts_cwd_fd.
105112         Remove fts_rft-setting code.
105113         (fts_close): Close fts_cwd_fd, if necessary.
105114         (__opendir2): Define in terms of opendir or opendirat,
105115         depending on whether the FST_NOCHDIR flag is set.
105116         (fts_build): Since fts_safe_changedir consumes its FD, and since
105117         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
105118         and close the dup'd file descriptor upon failure.
105119         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
105120         (fts_safe_changedir): Tweak semantics to reflect that this function
105121         now calls cwd_advance_fd and hence consumes its FD argument.
105122         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
105123         [struct FTS] (fts_rft): Remove now-unused member.
105124         [struct FTS] (fts_cycle.state): Improve comment.
105126         * lib/openat.c (openat_needs_fchdir): New function.
105127         * lib/openat.h (openat_needs_fchdir): Declare it.
105129 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
105131         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
105132         Problem and fix reported by Pádraig Brady in
105133         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
105135 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
105137         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
105139 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
105141         * lib/memcoll.c (memcoll): Optimize for the common case where the
105142         arguments are bytewise equal.
105144 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
105146         * doc/regexprops-generic.texi: Add a copyright notice.
105148 2006-08-15  Bruno Haible  <bruno@clisp.org>
105150         * modules/tmpdir (License): Change to LGPL.
105152 2006-08-15  Bruno Haible  <bruno@clisp.org>
105154         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
105155         module.
105157 2006-08-14  Simon Josefsson  <jas@extundo.com>
105159         * config/srclist.txt: Add gnupload.
105161 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
105163         Change copyright notice from LGPL 2 to GPL 2, since that's the
105164         standard form used in the gnulib repository.
105165         * tests/test-lock.c: Likewise.
105166         * tests/test-stdint.c: Likewise.
105167         * tests/test-tls.c: Likewise.
105169         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
105170         prelude-manager.  User shorter URLs for GNU projects, without '?'.
105171         Add copyright notice.
105173         * check-module: Add copyright notice.  Output a copyright
105174         notice if "--version" is specified.
105175         * modules/COPYING: New file.
105176         * tests/test-getaddrinfo.c: Add copyright notice.
105177         * tests/test-verify.c: Likewise.
105179 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
105181         Change copyright notice from LGPL 2 to GPL 2, since that's the
105182         standard form used in the gnulib repository.
105183         * lib/lock.c: LGPL -> GPL.
105184         * lib/lock.h: Likewise.
105185         * lib/strnlen1.c: Likewise.
105186         * lib/strnlen1.h: Likewise.
105187         * lib/tls.c: Likewise.
105188         * lib/tls.h: Likewise.
105189         * lib/tmpdir.c: Likewise.
105191         * lib/TODO: Remove; this belongs only in coreutils.
105193 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
105195         Add copyright notices to long-enough files that lack them, since
105196         otherwise the files aren't clearly free.  Use the same notice that
105197         getdate.texi already uses.
105198         * doc/alloca-opt.texi: Add copyright notice.
105199         * doc/alloca.texi: Likewise.
105200         * doc/ctime.texi: Likewise.
105201         * doc/functions.texi: Likewise.
105202         * doc/gcd.texi: Likewise.
105203         * doc/gnulib-tool.texi: Likewise.
105204         * doc/inet_ntoa.texi: Likewise.
105205         * doc/visibility.texi: Likewise.
105207         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
105208         * doc/quote.texi: Add copyright notice.
105210         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
105211         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
105212         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
105213         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
105214         is now obsolete, and give a pointer to the Sun list.
105215         Add copyright notice.
105217 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
105219         * config/srclistvars.sh: Add copyright notice.
105221 2006-08-14  Eric Blake  <ebb9@byu.net>
105223         Import the following change from libc:
105225         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
105227         Upstream bug 2997.
105228         * lib/misc/error.c: Add space between program name and message if file
105229         name is missing.
105231 2006-08-12  Karl Berry  <karl@gnu.org>
105233         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
105234         remove, these originate in gnulib now.
105236 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105238         * doc/Makefile (standards.info standards.html standards.dvi):
105239         Also depend on make-stds.texi.
105241 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
105243         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
105244         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
105246         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
105247         in wchar_t.  Problem reported by Eric Blake.
105249         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
105250         LEN is smaller than SIZE.  Suggested by Bruno Haible.
105251         Also, help the compiler to keep LEN in a register.
105253 2006-08-11  Eric Blake  <ebb9@byu.net>
105255         * users.txt: Sort.  Add tar.
105257 2006-08-11  Bruno Haible  <bruno@clisp.org>
105259         * users.txt: New file.
105261 2006-08-11  Bruno Haible  <bruno@clisp.org>
105263         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
105264         before <wchar.h>. Needed for OSF/1 and BSD/OS.
105266 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
105268         * modules/snprintf (Depends-on): Remove minmax.
105269         (Maintainer): Add self and Bruno.
105271 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
105273         * lib/.cppi-disable: Add snprintf.h, socket_.h.
105274         * lib/snprintf.c: Include <errno.h> and <limits.h>.
105275         (EOVERFLOW): Define if the system does not.
105276         Do not include "minmax.h"; it wasn't used.
105277         (snprintf): Don't assume size_t promotes to an unsigned type.
105278         Fix bug when generated string was too long for the buffer: the
105279         buffer's contents are supposed to be the initial prefix of the
105280         output.  Don't assume vasnprintf returns EOVERFLOW if the size
105281         exceeds INT_MAX; do the check ourselves.
105283         Import the following changes from libc:
105285         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
105287         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
105288         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
105289         set wc to the byte which couldn't be converted.
105290         (re_string_reconstruct): Don't clear valid_raw_len before calling
105291         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
105292         tip_context using re_string_context_at.
105294         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
105296         * lib/posix/regex.h: g++ still cannot handled [restrict].
105298         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
105300         * lib/posix/regex.h: Remove special handling for VMS.
105302 2006-08-10  Jim Meyering  <jim@meyering.net>
105304         * modules/same-inode: New module.
105305         * modules/dev-ino: New module.
105306         * modules/cycle-check: Depend on these modules, rather than simply
105307         including their .h files.
105308         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
105309         required via m4/cycle-check.m4.
105310         * modules/same: Depend on new same-inode module, rather than
105311         including same-inode.h.
105312         * modules/chdir-safer: New file.
105314         * modules/chown (Depends-on): Add stat-macros.
105316 2006-08-10  Jim Meyering  <jim@meyering.net>
105318         * m4/cycle-check.m4: New file.
105319         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
105320         * m4/dev-ino.m4, m4/same-inode.m4: New files.
105322 2006-08-10  Eric Blake  <ebb9@byu.net>
105324         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
105325         in from original proposal.
105327 2006-08-10  Eric Blake  <ebb9@byu.net>
105328         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
105330         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
105331         namespace.
105333 2006-08-10  Bruno Haible  <bruno@clisp.org>
105335         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
105336         as well.
105338 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
105340         Sync from coreutils.
105342         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
105344         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
105345         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
105347 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
105349         * modules/restrict: Remove; no longer needed now that we assume
105350         Autoconf 2.59 or later.
105351         * MODULES.html.sh: Remove 'restrict'.
105352         * modules/argp (Depends-on): Remove 'restrict'.
105353         * modules/base64 (Depends-on): Likewise.
105354         * modules/gc (Depends-on): Likewise.
105355         * modules/getaddrinfo (Depends-on): Likewise.
105356         * modules/glob (Depends-on): Likewise.
105357         * modules/inet_ntop (Depends-on): Likewise.
105358         * modules/inet_pton (Depends-on): Likewise.
105359         * modules/memxor (Depends-on): Likewise.
105360         * modules/regex (Depends-on): Likewise.
105361         * modules/strtok_r (Depends-on): Likewise.
105362         * modules/time_r (Depends-on): Likewise.
105364 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
105366         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
105367         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
105368         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
105369         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
105370         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
105371         * m4/memxor.m4 (gl_MEMXOR): Likewise.
105372         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
105373         gl_C_RESTRICT replaced by AC_C_RESTRICT.
105375         Merge from coreutils.
105376         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
105377         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
105378         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
105379         * m4/time_r.m4 (gl_TIME_R): Likewise.
105381 2006-08-09  Karl Berry  <karl@gnu.org>
105383         * config/srclist.txt: no more gettext-tools, per Bruno.
105385 2006-08-08  Eric Blake  <ebb9@byu.net>
105387         * modules/verror: New module.
105388         * MODULES.html.sh: Document it.
105390 2006-08-08  Eric Blake  <ebb9@byu.net>
105392         * lib/verror.h, lib/verror.c: New files.
105394 2006-08-08  Eric Blake  <ebb9@byu.net>
105396         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
105397         verror_at_line output complies with GNU Coding Standards even when
105398         file is NULL.
105400 2006-08-07  Bruno Haible  <bruno@clisp.org>
105402         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
105403         versions of AIX.
105404         Reported by Ralf Wildenhues.
105406 2006-08-07  Bruno Haible  <bruno@clisp.org>
105408         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
105409         in an AC_DEFUN. Needed so that the autoconf snippets can use
105410         AC_REQUIRE.
105412 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105414         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
105415         Initialize pkgdata_DATA.
105416         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
105417         overriding it.
105419 2006-08-06  Eric Blake  <ebb9@byu.net>
105421         * lib/error.h: Fold in some upstream changes from glibc.
105422         * lib/error.c: Likewise.
105424 2006-08-04  Bruno Haible  <bruno@clisp.org>
105426         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
105427         Make the mostlyclean-local rule depend on mostlyclean-generic.
105428         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
105430 2006-07-31  Bruno Haible  <bruno@clisp.org>
105432         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
105433         <stdlib.h>, <string.h>.
105435 2006-07-30  Bruno Haible  <bruno@clisp.org>
105437         * modules/readlink (License): Change to LGPL.
105439 2006-07-30  Bruno Haible  <bruno@clisp.org>
105441         * modules/javaversion (Makefile.am): Distribute javaversion.java and
105442         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
105443         set PKGDATADIR to point to it.
105445 2006-07-30  Bruno Haible  <bruno@clisp.org>
105447         * modules/csharpexec (configure.ac): Comment out macro invocation.
105448         * modules/javaexec (configure.ac): Likewise.
105449         * modules/javacomp-script (configure.ac): Likewise.
105451         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
105453 2006-07-30  Bruno Haible  <bruno@clisp.org>
105455         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
105456         linked-list.
105458 2006-07-30  Bruno Haible  <bruno@clisp.org>
105460         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
105462 2006-07-30  Bruno Haible  <bruno@clisp.org>
105464         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
105465         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
105466         get removed.
105468 2006-07-29  Bruno Haible  <bruno@clisp.org>
105470         Make it possible for gnulib-tool to work with locally modified or
105471         augmented gnulib repositories.
105472         * gnulib-tool (func_usage): Document --local-dir option.
105473         (local_gnulib_dir): New variable.
105474         Handle --local-dir option.
105475         (func_lookup_file): New function.
105476         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
105477         (func_get_description, func_get_filelist, func_get_description,
105478         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
105479         func_get_automake_snippet, func_get_include_directive,
105480         func_get_license, func_get_maintainer): Use func_lookup_file.
105481         (func_import, func_create_testdir): Use func_lookup_file.
105483 2006-07-29  Bruno Haible  <bruno@clisp.org>
105485         * modules/setenv (Depends-on): Add unistd.
105487 2006-07-29  Bruno Haible  <bruno@clisp.org>
105489         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
105491 2006-07-29  Bruno Haible  <bruno@clisp.org>
105493         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
105495 2006-07-29  Bruno Haible  <bruno@clisp.org>
105497         * gnulib-tool (import, update): If there is no Makefile.am, look at
105498         aclocal.m4, instead of bailing out.
105500 2006-07-29  Bruno Haible  <bruno@clisp.org>
105502         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
105503         Categorize the options by when they are useful.
105505 2006-07-29  Bruno Haible  <bruno@clisp.org>
105507         * gnulib-tool (func_usage): Document option --no-libtool.
105508         Handle option --no-libtool.
105509         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
105510         for changed semantics of $libtool variable.
105511         (func_import): Likewise. If libtool is not used, show this through
105512         an option --no-libtool.
105513         (func_create_testdir): Update.
105515 2006-07-29  Bruno Haible  <bruno@clisp.org>
105517         * gnulib-tool (func_import): Extend error message about missing
105518         --doc-base.
105520 2006-07-29  Bruno Haible  <bruno@clisp.org>
105522         * gnulib-tool (func_import): Don't create the $docbase directory if
105523         there is no file to store there.
105525 2006-07-29  Bruno Haible  <bruno@clisp.org>
105527         * gnulib-tool (autoconf_minversion): If a --dir option is given and
105528         relevant, look for configure.ac there, not in the current directory.
105529         Also use a simple search for AC_PREREQ, not "autoconf --trace".
105531 2006-07-29  Bruno Haible  <bruno@clisp.org>
105533         * gnulib-tool (SORT): New variable.
105534         (func_usage): Undocument --assume-autoconf option.
105535         Remove --assume-autoconf option handling.
105536         (autoconf_minversion): Determine from the contents of configure.ac.
105537         (func_import): Remove autoconf_minversion handling.
105538         Suggested by Eric Blake.
105540 2006-07-29  Bruno Haible  <bruno@clisp.org>
105542         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
105544 2006-07-29  Bruno Haible  <bruno@clisp.org>
105546         * config/srclist.txt (*setenv.[ch]): Remove rules.
105548 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105550         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
105552 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105554         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
105555         arpa/inet.h.
105557 2006-07-28  Simon Josefsson  <jas@extundo.com>
105559         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
105560         * modules/inet_pton (Depends-on): Likewise.
105562 2006-07-28  Simon Josefsson  <jas@extundo.com>
105564         * m4/netinet_in_h.m4: New file.
105566 2006-07-28  Simon Josefsson  <jas@extundo.com>
105568         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
105569         #include's.
105571 2006-07-28  Simon Josefsson  <jas@extundo.com>
105573         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
105574         #include's.
105576 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
105578         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
105579         setgid on directories only if they set these bits.
105580         * lib/modechange.h: Remove obsolete comment about masks.
105582 2006-07-28  Eric Blake  <ebb9@byu.net>
105584         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
105585         macro expansion.
105587 2006-07-28  Bruno Haible  <bruno@clisp.org>
105589         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
105591 2006-07-28  Bruno Haible  <bruno@clisp.org>
105593         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
105595 2006-07-28  Bruno Haible  <bruno@clisp.org>
105597         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
105598         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
105599         Define fallbacks.
105600         Avoids link error on FreeBSD 4.x.
105601         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
105603         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
105604         encoding.
105605         * lib/mbswidth.c (iswcntrl): Likewise.
105607 2006-07-27  Bruno Haible  <bruno@clisp.org>
105609         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
105610         test.
105612 2006-07-27  Bruno Haible  <bruno@clisp.org>
105614         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
105615         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
105616         defined.
105618 2006-07-26  Eric Blake  <ebb9@byu.net>
105620         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
105622 2006-07-26  Eric Blake  <ebb9@byu.net>
105624         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
105625         like mingw that lack mkstemp.
105626         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
105627         avoid compilation warning on mingw.
105629 2006-07-26  Bruno Haible  <bruno@clisp.org>
105631         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
105632         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
105633         INT_FAST*_MIN, INTPTR_MIN.
105635 2006-07-25  Bruno Haible  <bruno@clisp.org>
105637         * modules/version-etc (Depends-on): Add stdarg.
105639 2006-07-25  Bruno Haible  <bruno@clisp.org>
105641         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
105642         complex commands.
105644 2006-07-25  Bruno Haible  <bruno@clisp.org>
105646         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
105647         defined in <stdarg.h> or config.h.
105649 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
105651         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
105652         (gl_STDIO_SAFER): Remove.
105654 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
105656         * MODULES.html.sh (File stream based Input/Output):
105657         Add fopen-safer, tmpfile-safer; remove stdio-safer.
105658         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
105659         * modules/fopen-safer, modules/tmpfile-safer: New files.
105660         * modules/stdio-safer: Remove.
105662 2006-07-24  Bruno Haible  <bruno@clisp.org>
105664         * modules/tmpdir: New file.
105665         * MODULES.html.sh (File system functions): Add it.
105667 2006-07-24  Bruno Haible  <bruno@clisp.org>
105669         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
105670         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
105672 2006-07-24  Bruno Haible  <bruno@clisp.org>
105674         * modules/clean-temp: New file.
105676 2006-07-24  Bruno Haible  <bruno@clisp.org>
105678         * m4/tmpdir.m4: New file, from GNU gettext.
105680 2006-07-24  Bruno Haible  <bruno@clisp.org>
105682         * lib/tmpdir.h: New file, from GNU gettext.
105683         * lib/tmpdir.c: New file, from GNU gettext.
105685 2006-07-24  Bruno Haible  <bruno@clisp.org>
105687         * lib/clean-temp.h: New file, from GNU gettext.
105688         * lib/clean-temp.c: New file, from GNU gettext.
105690 2006-07-23  Eric Blake  <ebb9@byu.net>
105692         * modules/stdio-safer (Files): Add tmpfile-safer.c.
105693         (Depends-on): Add binary-io.
105695 2006-07-23  Eric Blake  <ebb9@byu.net>
105697         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
105699 2006-07-23  Eric Blake  <ebb9@byu.net>
105701         * lib/tmpfile-safer.c: New file.
105702         * lib/stdio-safer.h (fopen_safer): Add prototype.
105703         * lib/stdio--.h (tmpfile): Make safer.
105705 2006-07-23  Bruno Haible  <bruno@clisp.org>
105707         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
105708         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
105709         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
105710         gl_linked_remove_at): Use it.
105712 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105713         and Simon Josefsson <jas@extundo.com>
105715         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
105717         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
105719 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
105721         * modules/close-stream: New file.
105722         * modules/closeout (Description): Make it clear that it exits
105723         with a diagnostic on error.
105724         (Depends-on): Add close-stream.  Remove fpending, stdbool.
105725         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
105727 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
105729         * m4/close-stream.m4: New file.
105731 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
105733         * lib/close-stream.c, lib/close-stream.h: New files.
105735 2006-07-22  Bruno Haible  <bruno@clisp.org>
105737         Merge from GNU gettext 0.15.
105739         2006-05-01  Bruno Haible  <bruno@clisp.org>
105741                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
105743         2006-07-22  Bruno Haible  <bruno@clisp.org>
105745                 * modules/javaversion: New file.
105746                 * MODULES.html.sh (Java): Add javaversion.
105748         2006-03-12  Bruno Haible  <bruno@clisp.org>
105750                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
105752         2005-12-04  Bruno Haible  <bruno@clisp.org>
105754                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
105755                 (untested).
105757         2006-06-21  Bruno Haible  <bruno@clisp.org>
105759                 Avoid warnings from recent versions of mcs.
105760                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
105761                 -o, -L, -r any more. Use options documented since mcs-1.0
105762                 instead. Similarly for -g.
105764         2005-12-04  Bruno Haible  <bruno@clisp.org>
105766                 * build-aux/csharpcomp.sh.in: Suffix for resources is
105767                 .resources, not .resource.
105769         2005-07-09  Bruno Haible  <bruno@clisp.org>
105771                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
105772                 add a .dll suffix.
105773                 Reported by Mark Junker <mjscod@gmx.de>.
105775         2006-07-22  Bruno Haible  <bruno@clisp.org>
105777                 * modules/gettext: Upgrade to gettext-0.15.
105778                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
105779                 m4/visibility.m4.
105780                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
105782 2006-07-22  Bruno Haible  <bruno@clisp.org>
105784         Merge from GNU gettext 0.15.
105786         2006-03-25  Bruno Haible  <bruno@clisp.org>
105788                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
105790         2006-07-21  Bruno Haible  <bruno@clisp.org>
105792                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
105793                 "1.1".
105795         2006-05-09  Bruno Haible  <bruno@clisp.org>
105797                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
105798                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
105799                 for the conftestver execution.
105801         2006-05-01  Bruno Haible  <bruno@clisp.org>
105803                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
105804                 optional target-version argument. Verify that the compiler
105805                 groks source of the specified source-version, or add -source
105806                 option as necessary. Verify that the compiler produces
105807                 bytecode in the specified target-version, or add -target and
105808                 -source options as necessary. Make the result of the test
105809                 available as variable CONF_JAVAC. Also log error output in
105810                 config.log.
105812         2006-03-11  Bruno Haible  <bruno@clisp.org>
105814                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
105816         2006-05-09  Bruno Haible  <bruno@clisp.org>
105818                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
105819                 CLASSPATH_SEPARATOR to a semicolon.
105821         2006-03-12  Bruno Haible  <bruno@clisp.org>
105823                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
105824                 available as variable CONF_JAVA, for subsequent autoconf
105825                 tests. Also log error output in config.log.
105827         2006-07-19  Bruno Haible  <bruno@clisp.org>
105829                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
105830                 that getline works on glibc2 systems. Needed to avoid trouble
105831                 in relocatable.c.
105832                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
105834         2005-12-04  Bruno Haible  <bruno@clisp.org>
105836                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
105837                 launcher (untested).
105839         2005-12-04  Bruno Haible  <bruno@clisp.org>
105841                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
105843         2006-07-22  Bruno Haible  <bruno@clisp.org>
105845                 * gettext.m4: Update from GNU gettext-0.15.
105846                 * nls.m4: Likewise.
105847                 * po.m4: Likewise.
105848                 * inttypes-pri.m4: Likewise.
105849                 * inttypes-h.m4: Renamed from inttypes.m4.
105850                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
105852 2006-07-22  Bruno Haible  <bruno@clisp.org>
105854         Merge from GNU gettext 0.15.
105856         2005-07-05  Bruno Haible  <bruno@clisp.org>
105858                 * printf-args.c (printf_fetchargs): Work around broken
105859                 definition of wint_t on mingw.
105861         2005-02-12  Bruno Haible  <bruno@clisp.org>
105863                 * xallocsa.h: Add extern "C" for C++.
105865         2006-05-17  Bruno Haible  <bruno@clisp.org>
105867                 Cygwin portability.
105868                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
105870         2006-04-30  Bruno Haible  <bruno@clisp.org>
105872                 * progreloc.c: Include <mach-o/dyld.h> if available.
105873                 (find_executable): Use _NSGetExecutablePath when possible.
105875         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
105877                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
105878                 function.
105880         2005-12-29  Bruno Haible  <bruno@clisp.org>
105882                 * progreloc.c (set_program_name_and_installdir): Fix
105883                 compilation error.
105885         2005-12-04  Bruno Haible  <bruno@clisp.org>
105887                 Cygwin portability.
105888                 * progreloc.c: Include <windows.h> also on Cygwin.
105889                 (find_executable): Add support for Cygwin.
105890                 (set_program_name_and_installdir): Handle also platforms with
105891                 nonempty EXEEXT.
105893         2006-07-11  Bruno Haible  <bruno@clisp.org>
105895                 * javacomp.c: Fix a comment.
105896                 Reported by Jim Meyering.
105898         2006-04-30  Bruno Haible  <bruno@clisp.org>
105900                 * javacomp.h (compile_java_class): Add source_version,
105901                 target_version arguments.
105902                 * javacomp.c: Rewritten to choose only a compiler that
105903                 respects the specified source_version and target_version.
105905         2006-06-27  Bruno Haible  <bruno@clisp.org>
105907                 Assume correct S_ISDIR macro.
105908                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
105910         2006-07-22  Bruno Haible  <bruno@clisp.org>
105912                 * javaversion.h: New file, from GNU gettext.
105913                 * javaversion.c: New file, from GNU gettext.
105914                 * javaversion.java: New file, from GNU gettext.
105915                 * javaversion.class: New file, from GNU gettext.
105917         2006-05-17  Bruno Haible  <bruno@clisp.org>
105919                 Cygwin portability.
105920                 * javaexec.c (execute_java_class): Test for jview program
105921                 also on Cygwin.
105923         2006-04-09  Bruno Haible  <bruno@clisp.org>
105925                 * fatal-signal.c: Don't include string.h.
105926                 (at_fatal_signal): Use a copying loop instead of memcpy.
105928         2005-12-04  Bruno Haible  <bruno@clisp.org>
105930                 * csharpexec.c: Add support for 'clix' launcher (untested).
105931                 (execute_csharp_using_sscli): New function.
105932                 (execute_csharp_program): Call it.
105934         2006-06-21  Bruno Haible  <bruno@clisp.org>
105936                 Avoid warnings from recent versions of mcs.
105937                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
105938                 -o, -L, -r any more. Use options documented since mcs-1.0
105939                 instead. Similarly for -g.
105941         2005-07-09  Bruno Haible  <bruno@clisp.org>
105943                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
105944                 add a .dll suffix.
105945                 Reported by Mark Junker <mjscod@gmx.de>.
105947         2006-06-17  Bruno Haible  <bruno@clisp.org>
105949                 * config.charset: Update for NetBSD 3.0.
105951         2006-05-17  Bruno Haible  <bruno@clisp.org>
105953                 Cygwin portability.
105954                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
105956         2006-05-16  Bruno Haible  <bruno@clisp.org>
105958                 * localcharset.c [CYGWIN]: Include <windows.h>.
105959                 (get_charset_aliases): For Cygwin, return the same CPxxx
105960                 aliases list as under WIN32.
105961                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
105962                 the environment variables. Fall back to GetACP().
105964         2006-04-05  Bruno Haible  <bruno@clisp.org>
105966                 * config.charset: Update Juan Manuel Guerrero's address.
105968         2005-02-12  Bruno Haible  <bruno@clisp.org>
105970                 * allocsa.h: Add extern "C" for C++.
105972         2005-02-10  Bruno Haible  <bruno@clisp.org>
105974                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
105975                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
105977         2006-07-22  Bruno Haible  <bruno@clisp.org>
105979                 * gettext.h: Update to GNU gettext-0.15.
105981 2006-07-22  Bruno Haible  <bruno@clisp.org>
105983         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
105984         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
105985         lib-prefix.m4, longdouble.m4, ssize_t.m4.
105987 2006-07-21  Eric Blake  <ebb9@byu.net>
105989         * modules/stdlib-safer: New file.
105990         * MODULES.html.sh (File stream based Input/Output): Add
105991         stdlib-safer.
105993 2006-07-21  Eric Blake  <ebb9@byu.net>
105995         * lib/stdlib-safer.h: New file from coreutils, required by
105996         stdlib--.h.
105998 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
106000         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
106002 2006-07-20  Bruno Haible  <bruno@clisp.org>
106004         * gnulib-tool: Recognize new option --assume-autoconf.
106005         (autoconf_minversion): New variable.
106006         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
106008 2006-07-20  Bruno Haible  <bruno@clisp.org>
106010         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
106012 2006-07-19  Derek R. Price  <derek@ximbiot.com>
106014         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
106015         Reindent and repaginate.
106017 2006-07-19  Derek Price  <derek@ximbiot.com>
106019         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
106020         Correct grammar.
106022 2006-07-17  Bruno Haible  <bruno@clisp.org>
106024         * modules/list: New file.
106025         * modules/array-list: New file.
106026         * modules/carray-list, modules/carray-list-tests: New files.
106027         * modules/linked-list, modules/linked-list-tests: New files.
106028         * modules/avltree-list, modules/avltree-list-tests: New files.
106029         * modules/rbtree-list, modules/rbtree-list-tests: New files.
106030         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
106031         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
106032         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
106033         * modules/oset: New file.
106034         * modules/array-oset: New file.
106035         * modules/avltree-oset, modules/avltree-oset-tests: New files.
106036         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
106037         * tests/test-carray_list.c: New file.
106038         * tests/test-linked_list.c: New file.
106039         * tests/test-avltree_list.c: New file.
106040         * tests/test-rbtree_list.c: New file.
106041         * tests/test-linkedhash_list.c: New file.
106042         * tests/test-avltreehash_list.c: New file.
106043         * tests/test-rbtreehash_list.c: New file.
106044         * tests/test-avltree_oset.c: New file.
106045         * tests/test-rbtree_oset.c: New file.
106046         * MODULES.html.sh (Container data structures): New section.
106048 2006-07-17  Bruno Haible  <bruno@clisp.org>
106050         * m4/gl_list.m4: New file.
106052 2006-07-17  Bruno Haible  <bruno@clisp.org>
106054         * lib/gl_list.h: New file.
106055         * lib/gl_list.c: New file.
106056         * lib/gl_array_list.h: New file.
106057         * lib/gl_array_list.c: New file.
106058         * lib/gl_carray_list.h: New file.
106059         * lib/gl_carray_list.c: New file.
106060         * lib/gl_linked_list.h: New file.
106061         * lib/gl_linked_list.c: New file.
106062         * lib/gl_anylinked_list1.h: New file.
106063         * lib/gl_anylinked_list2.h: New file.
106064         * lib/gl_avltree_list.h: New file.
106065         * lib/gl_avltree_list.c: New file.
106066         * lib/gl_anyavltree_list1.h: New file.
106067         * lib/gl_anyavltree_list2.h: New file.
106068         * lib/gl_rbtree_list.h: New file.
106069         * lib/gl_rbtree_list.c: New file.
106070         * lib/gl_anyrbtree_list1.h: New file.
106071         * lib/gl_anyrbtree_list2.h: New file.
106072         * lib/gl_anytree_list1.h: New file.
106073         * lib/gl_anytree_list2.h: New file.
106074         * lib/gl_linkedhash_list.h: New file.
106075         * lib/gl_linkedhash_list.c: New file.
106076         * lib/gl_anyhash_list1.h: New file.
106077         * lib/gl_anyhash_list2.h: New file.
106078         * lib/gl_avltreehash_list.h: New file.
106079         * lib/gl_avltreehash_list.c: New file.
106080         * lib/gl_rbtreehash_list.h: New file.
106081         * lib/gl_rbtreehash_list.c: New file.
106082         * lib/gl_anytreehash_list1.h: New file.
106083         * lib/gl_anytreehash_list2.h: New file.
106085         * lib/gl_oset.h: New file.
106086         * lib/gl_oset.c: New file.
106087         * lib/gl_array_oset.h: New file.
106088         * lib/gl_array_oset.c: New file.
106089         * lib/gl_avltree_oset.h: New file.
106090         * lib/gl_avltree_oset.c: New file.
106091         * lib/gl_rbtree_oset.h: New file.
106092         * lib/gl_rbtree_oset.c: New file.
106093         * lib/gl_anytree_oset.h: New file.
106095 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
106097         * m4/mkancesdirs.m4: New file.
106098         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
106099         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
106100         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
106101         it.
106103 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
106105         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
106106         * lib/mkancesdirs.h: New files.
106107         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
106108         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
106109         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
106110         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
106111         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
106112         callers changed.  Revamp internals significantly, by not
106113         attempting to create directories that are temporarily more
106114         permissive than the final results.  Do not attempt to use
106115         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
106116         This removes some race conditions, fixes some bugs, and simplifies
106117         things.  Use new dirchownmod function to do owner and mode changes.
106118         * lib/mkdir-p.h: Likewise.
106119         * lib/modechange.c (octal_to_mode): New function.
106120         (struct mode_change): New member mentioned.
106121         (make_node_op_equals): New arg mentioned.  All callers changed.
106122         (mode_compile): Keep track of which mode bits the user has explicitly
106123         mentioned.
106124         (mode_adjust): New arg DIR, so that we implement the X op correctly.
106125         New arg PMODE_BITS, to keep track of which mode bits the user
106126         mentioned; it treats S_ISUID and S_ISGID speciall.
106127         All callers changed.
106128         * lib/modechange.h: Likewise.
106130 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
106132         * MODULES.html.sh: Add mkancestors.
106133         * modules/mkancesdirs: New module.
106134         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
106135         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
106136         The chdir-safer and afs files are now orphans; I'll remove them
106137         unless someone speaks up.
106138         Add lib/dirchownmod.c, lib/dirchownmod.h.
106139         (Depends-on): Remove alloca, chown, save-cwd, dirname.
106140         Add lchown, mkancesdirs.
106141         (Maintainer): Add self.
106143 2006-07-15  Karl Berry  <karl@gnu.org>
106145         * gnulib-tool: help message wording/arrangement.
106147 2006-07-14  Simon Josefsson  <jas@extundo.com>
106149         * doc/gnulib.texi (Libtool and Windows): New section.
106151 2006-07-12  Simon Josefsson  <jas@extundo.com>
106153         * modules/gendocs (License): Fix license, approved by Karl.
106155 2006-07-12  Eric Blake  <ebb9@byu.net>
106157         * MODULES.html.sh: Add gendocs.
106159 2006-07-11  Eric Blake  <ebb9@byu.net>
106161         * modules/fdl: New module, to install doc/fdl.texi.
106162         * MODULES.html.sh: Add new section for documentation modules.
106163         * gnulib-tool: Avoid space-tab.
106164         (--doc-base): New option, to manage files from doc.
106166 2006-07-11  Eric Blake  <ebb9@byu.net>
106168         * m4/absolute-header.m4: Fix comments to match recent change.
106170 2006-07-11  Eric Blake  <ebb9@byu.net>
106172         * gnulib-tool: List --doc-base before --tests-base.
106174 2006-07-11  Derek R. Price  <derek@ximbiot.com>
106176         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
106178 2006-07-11  Bruno Haible  <bruno@clisp.org>
106180         * README: Mention where to put documentation.
106182 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106184         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
106186 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
106188         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
106189         to stdint.m4.
106191 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
106193         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
106194         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
106195         "no/such/file/stdint.h" when there is no such file, so that
106196         the resulting C code can be parsed by dodgy compilers.
106197         Problems reported by Bob Proulx.
106199 2006-07-10  Derek R. Price  <derek@ximbiot.com>
106201         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
106202         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
106203         macros into the GNU _D_EXACT_NAMLEN.
106204         * lib/savedir.c:  Likewise.
106205         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
106207 2006-07-10  Derek R. Price  <derek@ximbiot.com>
106208         and Paul Eggert  <eggert@cs.ucla.edu>
106210         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
106211         * m4/savedir.m4:
106212         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
106213         macros into the GNU _D_EXACT_NAMLEN.
106215 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
106217         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
106218         around the absolute name, to work around a problem with the HP-UX
106219         11.23 native C compiler, reported by Bob Proulx.
106221 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
106223         * doc/maintain.texi, make-stds.texi: Sync from
106224         <http://savannah.gnu.org/projects/gnustandards>.
106226 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
106228         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
106230 2006-07-09  Jim Meyering  <jim@meyering.net>
106232         * m4/glob.m4: Remove a doubled word in a comment.
106234 2006-07-09  Jim Meyering  <jim@meyering.net>
106236         * lib/argp-pv.c: Remove a doubled word in a comment.
106237         * lib/check-version.c (check_version): Likewise.
106238         * lib/javacomp.c (compile_java_class): Likewise.
106240 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
106242         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
106243         for the benefit of people using Autoconf 2.60.  If you want to
106244         support older Autoconf versions you can copy m4/onceonly_2_57.m4
106245         (or m4/onceonly.m4, if pre-2.57) manually.
106247 2006-07-08  Jim Meyering  <jim@meyering.net>
106249         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
106250         comment.
106251         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
106252         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
106253         comment.
106255 2006-07-08  Jim Meyering  <jim@meyering.net>
106257         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
106259 2006-07-07  Simon Josefsson  <jas@extundo.com>
106261         * tests/test-crc.c: Change expected crc value, the test vector
106262         were probably computed using the old broken crc.c?
106264 2006-07-06  Simon Josefsson  <jas@extundo.com>
106266         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
106267         now the canonical place for the M4 file).
106269         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
106270         from the sys_socket dependency now.
106272         * modules/inet_pton (Files): Ditto.
106274         * modules/inet_ntop (Files): Ditto.
106276 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
106278         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
106279         not gl_PREREQ_GETUSERSHELL.
106281 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106283         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
106284         with only one argument, for Autoconf 2.60.
106285         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
106286         expand to nothing, so add a shell command to avoid syntax error.
106287         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
106289 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106291         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
106293 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
106295         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
106296         no longer needed.  Check for isblank decl.
106297         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
106298         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
106299         of existence.
106301 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
106303         * lib/getloadavg.c: Use __VMS, not VMS.
106304         * lib/getopt.c: Likewise.
106305         * lib/getpagesize.h: Likewise.
106306         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
106307         and probably does not work.
106309 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
106311         * lib/.cppi-disable: Add wcwidth.
106312         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
106313         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
106314         (ISGRAPH): Remove.  All uses changed to isgraph.
106315         (FOLD) [!defined _LIBC]: Remove special case.
106316         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
106317         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
106318         HAVE_ISBLANK.
106319         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
106320         case.
106322 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
106324         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
106325         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
106326         brackets.  Other minor changes to suppress some compiler
106327         warnings.
106329 2006-07-06  Derek R. Price  <derek@ximbiot.com>
106330         and Paul Eggert  <eggert@cs.ucla.edu>
106332         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
106333         of invoking obsolescent AC_HEADER_DIRENT macro.
106334         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
106335         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
106336         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
106337         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
106338         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
106339         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
106340         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
106341         * m4/readdir.m4: Remove; no longer needed.
106343 2006-07-06  Derek R. Price  <derek@ximbiot.com>
106344         and Paul Eggert  <eggert@cs.ucla.edu>
106346         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
106347         Don't worry about this obsolete case any more.
106348         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
106349         directories.
106350         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
106351         worry about this obsolete case any more.
106352         * lib/fts.c: Likewise.
106353         * lib/getcwd.c: Likewise.
106354         * lib/glob.h: Likewise.
106355         * lib/savedir.c: Likewise.
106357 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
106359         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
106360         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
106361         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
106362         needed.
106363         All uses removed.
106364         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
106365         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
106366         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
106367         needed.
106368         * m4/getdate.m4 (gl_GETDATE): Likewise.
106369         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
106370         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
106371         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
106372         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
106373         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
106374         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
106375         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
106376         needed.
106378 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
106380         * lib/memcasecmp.c: Include <limits.h>.
106381         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
106382         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
106383         Don't assume isdigit succeeds only on '0' through '9'.
106385 2006-07-05  Eric Blake  <ebb9@byu.net>
106387         * modules/getaddrinfo (Depends-on): Add snprintf.
106389 2006-07-05  Eric Blake  <ebb9@byu.net>
106391         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
106392         to avoid 'header present but could not be compiled' on cygwin.
106394 2006-07-05  Eric Blake  <ebb9@byu.net>
106396         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
106397         missing from netdb.h.
106398         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
106400 2006-07-05  Derek R. Price  <derek@ximbiot.com>
106402         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
106403         no longer needed.
106404         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
106405         * m4/getdate.m4 (gl_GETDATE): Likewise.
106406         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
106407         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
106408         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
106409         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
106410         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
106412 2006-07-05  Derek R. Price  <derek@ximbiot.com>
106414         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
106415         All uses of is_space replaced by isspace.
106416         * lib/exit.h: Don't talk about STDC_HEADERS.
106417         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
106418         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
106419         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
106420         replaced by isprint etc.
106421         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
106422         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
106423         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
106424         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
106425         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
106426         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
106428 2006-07-05  Bruno Haible  <bruno@clisp.org>
106430         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
106431         the function exists, before testing against AIX.
106432         Reported by Martin Lambers <marlam@marlam.de>.
106434 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
106436         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
106437         From Mark D. Baushke.
106439 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
106441         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
106442         to the absolute name, not just one, to bypass Sun C 5.8's
106443         "warning: #include of /usr/include/... may be non-portable".
106445 2006-07-04  Eric Blake  <ebb9@byu.net>
106447         * modules/dirname-tests: New test module.
106448         * tests/test-dirname.c: New file, replacing dirname.c
106449         TEST_DIRNAME section that was recently deleted.
106451 2006-07-04  Bruno Haible  <bruno@clisp.org>
106453         Assume ANSI C header files and <ctype.h> functions.
106454         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
106455         (mbsnwidth): Use isprint, iscntrl instead.
106457 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
106459         Merge from coreutils.
106460         * MODULES.html.sh: Add xstrtold.
106461         * modules/xstrtold: New file.
106462         * modules/cycle-check (Files): Add lib/same-inode.h.
106463         * modules/dirname (Files): Add m4/double-slash-root.m4.
106464         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
106465         * modules/mkdir-p (Files): Add lib/same-inode.h.
106466         * modules/same (Files): Add lib/same-inode.h.
106468 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
106470         * m4/absolute-header.m4: Renamed from full-header-path.m4.
106471         This is to keep the terminology clean; POSIX talks about
106472         "absolute pathnames", not "full pathnames", but the GNU
106473         Coding Standards say to use "path" for something else;
106474         so use "absolute" to keep both sides happy.
106475         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
106476         Set gl_absolute_header, not gl_full_header_path.
106477         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
106478         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
106479         All uses changed.
106481         Merge from coreutils.
106483         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
106485         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
106486         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
106487         want to require the building of c-strtod.o.
106488         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
106489         needs -lm directly.
106490         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
106492         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
106494         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
106495         --as-needed option if available.  Problem reported by Albert Chin in
106496         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
106497         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
106498         cc merely issues a bunch of annoying warnings for --as-needed
106499         (this problem was reported by Bob Proulx).  Also, try linking with
106500         -lm to detect a bug in binutils 2.16 (this problem was reported
106501         by Ralf Wildenhues).
106503         2006-06-18  Jim Meyering  <jim@meyering.net>
106505         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
106506         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
106507         macro.
106508         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
106509         also check for glibc-2.4's abort-inducing bug.
106511         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
106512         Low-probability clean-up should be to use rmdir to get rid of
106513         the just-created directory, not unlink.
106515         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
106516         configure fail, and request a bug report to inform us about it.
106517         Add a comment that, barring reports to the contrary, in 2007 we'll
106518         assume ftruncate is universally available.
106520         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
106522         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
106524         2006-03-12  Jim Meyering  <jim@meyering.net>
106526         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
106527         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
106528         * m4/same.m4 (gl_SAME): Likewise.
106529         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
106531         2006-03-11  Eric Blake  <ebb9@byu.net>
106533         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
106534         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
106535         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
106536         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
106538 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
106540         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
106541         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
106542         reported by Mark D. Baushke, one in
106543         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
106545         Merge from coreutils.
106547         * lib/.cppi-disable: Add stdint_.h.
106548         * lib/.cvsignore: Add stdint.h.
106550         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
106552         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
106553         both double and long double versions.
106554         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
106555         * lib/xstrtold.c: New file.
106556         * lib/xstrtod.h (xstrtold): New decl.
106558         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
106560         * lib/filemode.c (setst): Remove.
106561         (strmode): Rewrite to avoid setst.  This makes the code shorter,
106562         (arguably) clearer, and the generated code is a bit smaller on my
106563         Debian GNU/Linux stable x86 host.
106565         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
106567         * lib/filemode.c: Include "filemode.h" first, to test the interface.
106568         Assume that filemode.h includes sys/types.h and sys/stat.h.
106569         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
106570         (ftypelet): Reorder to put common cases first, for efficiency.
106571         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
106572         to do 'M'.
106573         (strmode): Renamed from mode_string, and now stores 12 bytes instead
106574         of 10, for compatibility with FreeBSD.  All callers changed.
106575         (filemodestring): Now stores 12 bytes instead of 10, and sets file
106576         types that can't be deduced solely from st_mode.  First arg is now a
106577         const pointer.
106578         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
106579         (strmode): Renamed from mode_string.
106580         (filemodestring): New decl.
106581         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
106582         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
106583         needed.
106584         (S_ISPORT, S_ISWHT): New macros, if not already defined.
106586         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
106588         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
106589         fsusage.h now does that.  Include fsusage.h first, to test interface.
106590         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
106591         at most one method (the old code could have generated decls that
106592         didn't conform to C89, not that this was ever exercised).
106593         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
106595         2006-03-19  Jim Meyering  <jim@meyering.net>
106597         Work even in a chroot where d_ino values for entries in "/"
106598         don't match the stat.st_ino values for the same names.
106599         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
106600         number, iterate through all entries again, using lstat instead.
106601         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
106602         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
106604         * lib/getcwd.c (__getcwd): Clarify a comment.
106605         Use memcpy in place of a call to strcpy.
106607         2006-03-12  Jim Meyering  <jim@meyering.net>
106609         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
106610         matches that of the current directory (which we're about to chdir ".."
106611         out of), then save the dev-ino of the parent, instead.
106613         * lib/same-inode.h (SAME_INODE): New file/macro.
106614         * lib/chdir-safer.c (SAME_INODE): Remove definition.
106615         Include "same-inode.h", instead.
106616         * lib/same.c: Likewise.
106617         * lib/cycle-check.h: Include "same-inode.h".
106618         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
106619         * lib/cycle-check.c (SAME_INODE): Remove definition.
106620         * lib/root-dev-ino.h: Include "same-inode.h".
106622         2006-03-11  Eric Blake  <ebb9@byu.net>
106624         * lib/same.c (same_name): s/base_name/last_component/
106625         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
106626         * lib/filenamecat.c (file_name_concat): Likewise.
106628         2006-03-11  Eric Blake  <ebb9@byu.net>,
106629                     Paul Eggert  <eggert@cs.ucla.edu>
106631         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
106632         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
106633         drive prefix.
106634         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
106635         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
106636         (last_component): New method.
106637         * lib/dirname.c (dir_len): Determine when drive letters need a
106638         subsequent slash.  Preserve // when it is special.
106639         (dir_name): Don't append dot when drive letter is absolute.
106640         [TEST_DIRNAME]: Move into a full-blown gnulib test.
106641         * lib/basename.c (base_name): New semantics - malloc the result.
106642         Preserve // when it is special.  Preserve relative files that look
106643         like drive letters.
106644         (base_len): Preserve // when it is special.
106645         (last_component): New method, similar to old base_name semantics.
106646         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
106647         base_name.  Strip redundant slashes from ///.
106649 2006-07-03  Jim Meyering  <jim@meyering.net>
106651         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
106652         macro is used before the first cycle_check call.
106654 2006-07-03  Eric Blake  <ebb9@byu.net>
106656         * modules/dirname (Depends-on): Add xstrndup.
106658 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
106660         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
106661         test cases, so that config.log is a bit easier to follow.
106663 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
106665         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
106666         both are 64 bits, since this seems to be the tradition, and this
106667         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
106668         we ever run into a host that prefers long long to long in this
106669         case, we'll need another configure-time test.  Problem reported by
106670         Jim Meyering.
106672 2006-07-02  Eric Blake  <ebb9@byu.net>
106674         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
106676 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
106678         * modules/inttypes (Depends-on): No longer depends on stdint.
106679         * modules/stdint (Description): Say more about assumptions.
106680         Say that the fast types might differ.  Say macros are used.
106681         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
106682         (Makefile.am): Revise list of substituted symbols to match
106683         new stdint.m4.
106684         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
106685         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
106686         * tests/test-stdint.c (verify_same_types)
106687         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
106688         the code conforms to C99/C89.
106689         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
106690         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
106692 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
106694         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
106695         but fix a bug, by requiring at least 64 bits.
106696         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
106697         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
106698         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
106699         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
106701         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
106702         changes.  Make 2.59 a prerequisite.  Check and substitute for
106703         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
106704         inttypes.h.  Do not use special include files; just use the
106705         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
106706         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
106707         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
106708         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
106709         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
106710         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
106711         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
106712         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
106713         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
106714         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
106715         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
106716         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
106717         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
106718         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
106719         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
106720         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
106721         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
106722         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
106723         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
106724         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
106725         WINT_MAX.  Check for C99 conformance more strictly, by detecting
106726         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
106727         not check for things that C99 does not require, e.g., int8_t.  If
106728         a test isn't needed unless <stdint.h> isn't working, and is
106729         unlikely to be needed for any other reason, then don't do it
106730         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
106731         size_t, since we assume C89 freestanding at least.  Do not check
106732         for sig_atomic_t, wchar_t, or wint_t, since the code now does
106733         the right thing even if the types are not defined.  Instead use:
106734         (gl_STDINT_TYPE_PROPERTIES): New macro.
106735         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
106736         testing whether <sys/types.h> clashes, as Autoconf does this for
106737         us now.  All uses removed.
106738         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
106739         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
106740         (gl_CHECK_TYPE_SAME):
106741         Remove; no longer needed.
106742         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
106743         exists, since we'll return 0 anyway in that case.
106744         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
106746 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
106748         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
106749         possible collision with system files.
106750         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
106751         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
106752         WCHAR_MIN and WCHAR_MAX in this case.
106753         (<stddef.h>): Do not include; no longer needed.
106754         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
106755         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
106756         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
106757         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
106758         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
106759         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
106760         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
106761         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
106762         !defined(__c99))]: Include in this case too, since it's harmless
106763         now.
106764         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
106765         dangerous to do so.
106766         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
106767         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
106768         (_STDINT_MIN, _STDINT_MAX): New macros.
106769         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
106770         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
106771         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
106772         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
106773         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
106774         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
106775         macros, not typedefs; this simplifies things quite a bit.
106776         Use long int for all types narrower than int64_t.
106777         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
106778         Define in terms of long long int or int64_t or long int,
106779         not int64_t or int32_t.  This saves some compile-time testing.
106780         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
106781         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
106782         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
106783         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
106784         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
106785         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
106786         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
106787         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
106788         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
106789         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
106790         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
106791         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
106792         undef any previous version and define our own version, for
106793         simplicity and consistency with the new macros for types.
106794         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
106795         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
106796         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
106797         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
106798         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
106799         @WINT_T_SUFFIX@ to keep things simple here.
106800         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
106801         Simplify by assuming typical 8/16/32/64 host, since we're
106802         already doing that elsewhere anyway.
106803         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
106804         and assume long long int is 64 bits if available.  This
106805         speeds up 'configure'.
106807 2006-07-01  Eric Blake  <ebb9@byu.net>
106809         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
106810         Reported by Andreas Buening.
106812 2006-07-01  Eric Blake  <ebb9@byu.net>
106814         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
106816 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
106818         * lib/getaddrinfo.c: fixed typo
106820 2006-06-29  Jim Meyering  <jim@meyering.net>
106822         * modules/strftime (Maintainer): Add my name, since with the
106823         FPRINTFTIME changes strftime.c has forked from glibc.
106825 2006-06-29  Eric Blake  <ebb9@byu.net>
106827         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
106829 2006-06-29  Eric Blake  <ebb9@byu.net>
106831         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
106833 2006-06-29  Eric Blake  <ebb9@byu.net>
106835         * lib/stat_.h: New file.
106837 2006-06-29  Eric Blake  <ebb9@byu.net>
106839         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
106840         unused static function.
106842 2006-06-29  Eric Blake  <ebb9@byu.net>
106844         * doc/functions.texi (Function Portability): Document missing lstat
106845         on mingw.
106847 2006-06-29  Eric Blake  <ebb9@byu.net>
106849         * MODULES.html.sh: Add sys_stat.
106850         * modules/sys_stat: New module.
106851         * modules/mkstemp (Depends-on): Add sys_stat.
106853 2006-06-29  Derek R. Price  <derek@ximbiot.com>
106855         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
106857 2006-06-29  Derek R. Price  <derek@ximbiot.com>
106859         * m4/c-bs-a.m4: Removed.
106861 2006-06-29  Derek R. Price  <derek@ximbiot.com>
106863         * lib/strftime.c: Assume strftime() exists.
106865 2006-06-29  Derek Price  <derek@ximbiot.com>
106867         * modules/c-bs-a: Removed - \a is C89.
106868         * MODULES.html.sh: Remove c-bs-a.
106870 2006-06-29  Bruno Haible  <bruno@clisp.org>
106872         * modules/wcwidth (License): Change to LGPL.
106874 2006-06-28  Simon Josefsson  <jas@extundo.com>
106876         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
106877         on _WIN32.
106879         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
106880         getnameinfo.
106882 2006-06-28  Simon Josefsson  <jas@extundo.com>
106884         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
106886 2006-06-28  Simon Josefsson  <jas@extundo.com>
106888         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
106889         functions there.  It will succeed on Windows XP, but on Windows
106890         2000 and (presumably) earlier, it will fail, and use the internal
106891         re-implementation.
106892         (use_win32_p): New function.
106893         (getaddrinfo): Use strtoul on servname, to support numeric ports.
106894         Support AI_NUMERICSERV to disable getservbyname.
106895         (getnameinfo): New function, only supports
106896         NI_NUMERICHOST|NI_NUMERICSERV for now.
106898         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
106899         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
106900         getnameinfo.
106902 2006-06-28  Eric Blake  <ebb9@byu.net>
106904         * modules/wcwidth: New file.
106905         * modules/mbchar (Depends-on): Add wcwidth.
106906         * modules/mbswidth (Depends-on): Add wcwidth.
106907         * MODULES.html.sh: Add wcwidth.
106909 2006-06-28  Eric Blake  <ebb9@byu.net>
106911         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
106912         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
106914 2006-06-28  Eric Blake  <ebb9@byu.net>
106916         * lib/xvasprintf.h: Fix comments.
106918 2006-06-28  Eric Blake  <ebb9@byu.net>
106920         * lib/mbchar.h (wcwidth): Include wcwidth.h.
106921         * lib/mbswidth.c (wcwidth): Move from here...
106922         * lib/wcwidth.h: ...to this new file.
106924 2006-06-28  Derek R. Price  <derek@ximbiot.com>
106926         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
106928         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
106929         it's obsolete.
106930         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
106932 2006-06-28  Derek R. Price  <derek@ximbiot.com>
106934         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
106935         Autoconf 2.60 says this stuff was obsolete.
106937 2006-06-28  Bruno Haible  <bruno@clisp.org>
106939         * modules/wcwidth (Files): Add m4/wchar_t.m4.
106941 2006-06-28  Bruno Haible  <bruno@clisp.org>
106943         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
106944         gt_TYPE_WCHAR_T.
106946 2006-06-28  Bruno Haible  <bruno@clisp.org>
106948         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
106949         declaration for wcwidth.
106950         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
106952 2006-06-28  Bruno Haible  <bruno@clisp.org>
106954         * lib/mkdtemp.c [MINGW]: Include <io.h>.
106955         (mkdir): Define using _mkdir.
106957 2006-06-28  Bruno Haible  <bruno@clisp.org>
106959         * lib/getaddrinfo.h: Fix POSIX URL.
106960         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
106961         _WIN32.
106962         (use_win32_p): Make static.
106963         (getaddrinfo): Reject service name if it is empty or does not consist
106964         solely of decimal digits, or if its value is > 65535.
106965         (getnameinfo): Remove useless casts.
106967 2006-06-27  Simon Josefsson  <jas@extundo.com>
106969         * modules/sys_select: New file, suggested by Bruno Haible, Paul
106970         Eggert and Martin Lambers.
106972 2006-06-27  Simon Josefsson  <jas@extundo.com>
106974         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
106975         Eggert and Martin Lambers.
106977 2006-06-27  Bruno Haible  <bruno@clisp.org>
106979         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
106980         result to 0, not to empty.
106981         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
106983 2006-06-27  Bruno Haible  <bruno@clisp.org>
106985         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
106987 2006-06-26  Simon Josefsson  <jas@extundo.com>
106989         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
106990         present.
106992 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
106994         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
106995         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
106996         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
106998 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
107000         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
107002 2006-06-26  Bruno Haible  <bruno@clisp.org>
107004         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
107006 2006-06-26  Bruno Haible  <bruno@clisp.org>
107008         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
107010 2006-06-26  Bruno Haible  <bruno@clisp.org>
107012         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
107013         SGI C compiler in pre-C99 mode.
107014         Suggested by Mark D. Baushke and Larry Jones.
107016 2006-06-26  Bruno Haible  <bruno@clisp.org>
107018         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
107019         WCHAR_MAX.
107020         Reported by Mark D. Baushke and Larry Jones.
107022 2006-06-26  Bruno Haible  <bruno@clisp.org>
107024         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
107025         in pre-C99 mode.
107026         Suggested by Mark D. Baushke and Larry Jones.
107028 2006-06-23  Simon Josefsson  <jas@extundo.com>
107029             Bruno Haible  <bruno@clisp.org>
107031         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
107032         Emit mostlyclean-local rule.
107033         (func_emit_tests_Makefile_am): Likewise.
107034         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
107036 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
107038         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
107040 2006-06-23  Bruno Haible  <bruno@clisp.org>
107042         * tests/test-stdint.c: Update to match ISO C 99 Technical
107043         Corrigendum 1.
107045 2006-06-23  Bruno Haible  <bruno@clisp.org>
107047         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
107049 2006-06-23  Bruno Haible  <bruno@clisp.org>
107051         * lib/stdint_.h: Treat IRIX like OpenBSD.
107053 2006-06-23  Bruno Haible  <bruno@clisp.org>
107055         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
107056         ISO C 99 Technical Corrigendum 1.
107058 2006-06-22  Simon Josefsson  <jas@extundo.com>
107060         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
107061         MinGW.
107063 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107065         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
107066         needed.  Some compiler complained about some of them.  Problem reported
107067         by Larry Jones in
107068         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
107070 2006-06-21  Simon Josefsson  <jas@extundo.com>
107072         * tests/test-getaddrinfo.c: New file.
107074         * modules/getaddrinfo-tests: New file.
107076         * MODULES.html.sh: Add inet_pton.
107078         * modules/inet_pton: New file.
107080 2006-06-21  Simon Josefsson  <jas@extundo.com>
107082         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
107083         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
107084         of using the (limited) gnulib implementation on Windows XP.
107086         * m4/inet_pton.m4: New file.
107088 2006-06-21  Simon Josefsson  <jas@extundo.com>
107090         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
107091         variable.
107093         * lib/socket_.h: Don't define WINVER.
107095         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
107096         slightly modified to work in gnulib.
107098 2006-06-21  Simon Josefsson  <jas@extundo.com>
107100         * doc/gnulib.texi (Windows sockets): Add.
107102 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
107104         * lib/read-file.c (fread_file): Start with buffer allocation of
107105         0 bytes rather than 1 byte; this simplifies the code.
107106         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
107107         code to free buffer and save/restore errno.
107108         (internal_read_file): Remove unused local.
107110 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
107112         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
107113         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
107114         Problem reported by Denis Excoffier in
107115         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
107117 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
107119         * modules/sys_socket, modules/socklen: Include sys/types since
107120         FreeBSD 4.x's sys/socket.h needs it.
107122 2006-06-19  Simon Josefsson  <jas@extundo.com>
107124         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
107126 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
107128         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
107130 2006-06-19  Bruno Haible  <bruno@clisp.org>
107132         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
107133         and FULL_PATH_INTTYPES_H in angle brackets.
107134         Reported by Mark D. Baushke <mdb@gnu.org>.
107136 2006-06-17  Eric Blake  <ebb9@byu.net>
107138         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
107139         errno.
107141 2006-06-17  Bruno Haible  <bruno@clisp.org>
107143         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
107144         <sys/inttypes.h>.
107146 2006-06-17  Bruno Haible  <bruno@clisp.org>
107148         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
107149         whether errno is declared. Assume <errno.h> declares errno.
107151 2006-06-17  Bruno Haible  <bruno@clisp.org>
107153         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
107155 2006-06-17  Bruno Haible  <bruno@clisp.org>
107157         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
107158         problem on Solaris 2.5.1.
107160 2006-06-16  Eric Blake  <ebb9@byu.net>
107162         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
107163         * lib/unicodeio.c [!defined errno]: Likewise.
107164         * lib/strtol.c [!defined errno]: Likewise.
107165         * lib/strtod.c [!defined errno]: Likewise.
107167 2006-06-15  Eric Blake  <ebb9@byu.net>
107169         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
107171 2006-06-15  Eric Blake  <ebb9@byu.net>
107173         * config/srclist.txt (ssize_t.m4): Lose sync.
107175 2006-06-15  Bruno Haible  <bruno@clisp.org>
107177         * modules/stdint (Files): Include m4/full-header-path.m4,
107178         m4/size_max.m4, m4/wchar_t.m4.
107179         (Makefile.am): Many more substitutions.
107180         * modules/stdint-tests: New file.
107181         * tests/test-stdint.c: New file.
107183 2006-06-15  Bruno Haible  <bruno@clisp.org>
107185         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
107186         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
107187         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
107188         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
107189         gl_CHECK_TYPE_SAME): New macros.
107191 2006-06-15  Bruno Haible  <bruno@clisp.org>
107193         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
107195 2006-06-15  Bruno Haible  <bruno@clisp.org>
107197         * lib/stdint_.h: Rewritten to be fully auto-configured.
107198         Fixes bug on HP-UX/IA64.
107200 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
107202         * lib/getdate.y (__attribute__): Don't define if already defined.
107203         Problem reported by Larry Jones.
107204         * lib/utimens.c (__attribute__): Likewise.
107206 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
107208         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
107209         reported by Andreas Schwab.
107211 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107212             Bruno Haible  <bruno@clisp.org>
107214         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
107215         check for the declaration of strnlen and a run test that exposes the
107216         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
107217         rpl_strndup.
107219 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107220             Bruno Haible  <bruno@clisp.org>
107222         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
107224 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107226         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
107227         compile test, for Tru64 4.0D.
107229 2006-05-28  Karl Berry  <karl@gnu.org>
107231         * config/srclist.txt (printf-args.c): lose sync.
107233 2006-05-26  Martin Lambers  <marlam@marlam.de>
107235         * lib/getpass.c: Updates the test for the native W32 API, and adds
107236         missing includes, thus fixing compilation warnings.
107238 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
107240         * lib/exclude.c (exclude_fnmatch): New function.
107241         (excluded_file_name): Call exclude_fnmatch.
107242         * lib/exclude.h (excluded_file_name): New prototype
107244 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
107246         * lib/tempname.c (small_open, large_open): New macros.
107247         (__open, __open64) [!_LIBC]: Remove.
107248         (__gen_tempname): Use small_open and large_open instead of __open
107249         and __open64.  This fixes a portability bug on HP-UX 11.11i
107250         reported by Simon Wing-Tang in
107251         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
107253 2006-05-24  Bruno Haible  <bruno@clisp.org>
107255         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
107256         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
107257         Reported by Thorsten Maerz <torte@netztorte.de> via
107258         Aaron Stone <aaron@serendipity.cx>.
107260 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
107263         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
107264         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
107265         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
107266         not really conditional on the cache.
107267         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
107269 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107271         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
107272         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
107273         (my_usleep): Don't mishandle maximum value.
107275 2006-05-19  Jim Meyering  <jim@meyering.net>
107277         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
107279 2006-05-17  Bruno Haible  <bruno@clisp.org>
107281         Cygwin portability.
107282         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
107284 2006-05-17  Bruno Haible  <bruno@clisp.org>
107286         * lib/stdint_.h: Fix recognition of Cygwin.
107288 2006-05-15  Bruno Haible  <bruno@clisp.org>
107290         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
107291         on libtool patch by Ralf Wildenhues.
107293 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
107295         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
107296         test for C99 conformance; (bool) 0.5 is an integer constant
107297         expression, but (bool) -0.5 is not.  Problem reported by Fedor
107298         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
107300 2006-05-11  Simon Josefsson  <jas@extundo.com>
107302         * m4/xvasprintf.m4: Fix obvious typo.
107304 2006-05-11  Jim Meyering  <jim@meyering.net>
107306         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
107307         James Lemley.
107309 2006-05-10  Simon Josefsson  <jas@extundo.com>
107311         * lib/md4.c: Typo fix, update copyright years.
107312         (K1, K2): Don't use L because it turn computations into 64-bit on
107313         64-bit platforms.
107315 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
107317         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
107318         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
107319         unwanted sign propagation, e.g., on hosts with 64-bit int.
107320         There still are some problems with reeelly weird theoretical hosts
107321         (e.g., 33-bit int) but it's not worth worrying about now.
107322         * lib/sha1.c (rol): Likewise.
107323         (K1, K2, K3, K4): Remove unnecessary L suffix.
107325 2006-05-10  Bruno Haible  <bruno@clisp.org>
107327         * lib/des.c: Cast to avoid warnings.
107329 2006-05-09  Bruno Haible  <bruno@clisp.org>
107331         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
107332         (Depends-on): Depend also on xsize, stdarg.
107333         (configure.ac): Add gl_XVASPRINTF.
107335 2006-05-09  Bruno Haible  <bruno@clisp.org>
107337         * m4/xvasprintf.m4: New file.
107339 2006-05-09  Bruno Haible  <bruno@clisp.org>
107341         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
107342         (EOVERFLOW): Define fallback value.
107343         (xstrcat): New function.
107344         (xvasprintf): Recognize the special case of a string concatenation.
107346 2006-05-08  Eric Blake  <ebb9@byu.net>
107348         * gnulib-tool (func_version): Base copyright year on CVS date.
107349         (func_emit_copyright_notice): New function.
107350         (func_emit_lib_Makefile_am): Use it.
107351         (func_emit_tests_Makefile_am): Likewise.
107352         (func_import): Likewise.
107354 2006-05-08  Bruno Haible  <bruno@clisp.org>
107356         * modules/stdarg: New file.
107357         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
107359 2006-05-08  Bruno Haible  <bruno@clisp.org>
107361         * m4/stdarg.m4: New file, from GNU gettext.
107363 2006-05-08  Bruno Haible  <bruno@clisp.org>
107365         * config/srclist.txt (build-aux/config.rpath): different from latest
107366         release.
107368 2006-05-08  Bruno Haible  <bruno@clisp.org>
107370         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
107372 2006-05-05  Jim Meyering  <jim@meyering.net>
107374         * m4/warning.m4: New file, derived from bison's file by the same name.
107376 2006-05-03  Bruno Haible  <bruno@clisp.org>
107378         * lib/stdint_.h: Shorter URL.
107379         * lib/inttypes.h: Likewise.
107381 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
107383         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
107385 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
107387         * lib/verify.h: Document the internals better.  Most of this change
107388         was written by Bruno Haible.
107390 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
107392         * doc/verify.texi: New file, partly based on a proposal by
107393         Bruno Haible.
107395 2006-05-02  Bruno Haible  <bruno@clisp.org>
107397         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
107398         test from here...
107399         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
107401 2006-04-29  Bruno Haible  <bruno@clisp.org>
107403         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
107404         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
107406 2006-04-29  Bruno Haible  <bruno@clisp.org>
107408         * gnulib-tool: Make --update option actually work.
107410 2006-04-29  Bruno Haible  <bruno@clisp.org>
107412         * doc/gcd.texi: New file.
107413         * doc/gnulib.texi: Include it.
107415 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
107417         * lib/getdate.y (get_date): When adding relative date, start with the
107418         initial time, not with the result of the first mktime call.
107420 2006-04-25  Bruno Haible  <bruno@clisp.org>
107422         * gnulib-tool (func_import): Output the include directives in three
107423         blocks, sorted separately.
107424         Reported by Ben Pfaff <blp@cs.stanford.edu>.
107426 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
107428         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
107429         to define main with arguments, for C++.  Reported by Eric Blake.
107430         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
107431         Prefer 'int main ()' to 'int main (void)', for C++.
107432         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
107433         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
107434         for 'main', for C99 and C++.
107436 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
107438         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
107439         Don't assume that exit status -1 is valid.
107440         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
107441         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
107442         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
107443         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
107444         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
107445         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
107446         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
107447         functions can be used without declaring them, or that you can
107448         exit with status -1.
107449         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
107451 2006-04-24  Karl Berry  <karl@gnu.org>
107453         * config/srclist.txt (longdouble.m4): sync lost.
107455 2006-04-24  Eric Blake  <ebb9@byu.net>
107457         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
107459 2006-04-24  Bruno Haible  <bruno@clisp.org>
107461         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
107462         poll() implementation in AIX.
107463         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107465 2006-04-24  Bruno Haible  <bruno@clisp.org>
107467         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
107468         assigned exactly once.
107470 2006-04-23  Claudio Fontana  <claudio@gnu.org>
107471             Bruno Haible  <bruno@clisp.org>
107473         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
107474         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
107475         for AM_CPPFLAGS.
107477 2006-04-23  Bruno Haible  <bruno@clisp.org>
107479         * modules/copy-file: Depend on unistd.
107480         * modules/execute: Likewise.
107481         * modules/fatal-signal: Likewise.
107482         * modules/findprog: Likewise.
107483         * modules/mkdtemp : Likewise.
107484         * modules/pipe: Likewise.
107485         * modules/wait-process: Likewise.
107487 2006-04-23  Bruno Haible  <bruno@clisp.org>
107489         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
107490         condition was already detected.
107491         Reported by Ben Pfaff <blp@cs.stanford.edu>.
107493 2006-04-23  Bruno Haible  <bruno@clisp.org>
107495         * lib/copy-file.c: Include <unistd.h> unconditionally.
107496         * lib/execute.c: Likewise.
107497         * lib/fatal-signal.c: Likewise.
107498         * lib/findprog.c: Likewise.
107499         * lib/mkdtemp.c: Likewise.
107500         * lib/pipe.h: Likewise.
107501         * lib/pipe.c: Likewise.
107502         * lib/wait-process.h: Likewise.
107504 2006-04-23  Bruno Haible  <bruno@clisp.org>
107506         * gnulib-tool (func_usage): Fix --import description. Document
107507         --update.
107508         (func_import): Create temporary file in a temporary directory, if
107509         --dry-run is specified. Silence errors from 'grep' when there are no
107510         m4 files in $m4dir.
107511         (func_create_testdir): Silence errors from 'grep' when there are no
107512         m4 files in $m4dir.
107513         Reported by Karl Berry <karl@freefriends.org>.
107515 2006-04-20  Bruno Haible  <bruno@clisp.org>
107517         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
107518         one argument, so that the code will be portable to Autoconf 2.60.
107519         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
107520         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
107521         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
107523 2006-04-19  Derek Price  <derek@ximbiot.com>
107524             Eric Blake  <ebb9@byu.net>
107526         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
107527         rather than "/full/path.h".  Update comment to match.  Shorten &
107528         generalize m4_translit call via AS_TR_CPP.
107530 2006-04-19  Derek Price  <derek@ximbiot.com>
107531             Eric Blake  <ebb9@byu.net>
107533         * lib/inttypes.h: Correct grammar in comment.
107535 2006-04-18  Derek Price  <derek@ximbiot.com>
107536             Paul Eggert  <eggert@cs.ucla.edu>
107538         * modules/inttypes: New file.
107539         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
107541 2006-04-18  Derek Price  <derek@ximbiot.com>
107542             Paul Eggert  <eggert@cs.ucla.edu>
107544         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
107545         New files.
107547 2006-04-18  Derek Price  <derek@ximbiot.com>
107548             Paul Eggert  <eggert@cs.ucla.edu>
107550         * lib/inttypes.h: New file.
107551         * lib/strtoimax.c: Assume <inttypes.h>.
107553 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
107555         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
107556         isn't mounted.  Problem reported by Kir Kolyshkin.
107558 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
107560         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
107561         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
107562         Derek R. Price.
107563         * lib/regex.h (RE_DUP_MAX): Update comment to match current
107564         implementation.
107566 2006-04-12  Eric Blake  <ebb9@byu.net>
107568         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
107569         is now done automatically by the corresponding Autoconf macro.
107571 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
107573         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
107574         time_r.h.
107576 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
107578         Merge regex changes from libc, removing some of our
107579         POSIX-conformance changes that were rejected and redoing them in a
107580         less-intrusive way.
107582         * lib/regcomp.c (re_compile_internal, init_dfa):
107583         Length arg is now size_t, not Idx.  All uses changed.
107584         (peek_token): Forward decl now says internal_function.
107585         (__re_error_msgid, __re_error_msgid_idx):
107586         Now static rather than extern with attribute_hidden.
107587         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
107588         For some reason libc prefers K&R style defns for external functions.
107589         (regerror) [!defined _LIBC]: Likewise.
107590         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
107591         (seek_collating_symbol_entry, lookup_collation_sequence_value):
107592         (build_range_exp, build_collating_symbol):
107593         Use K&R-style defn.
107594         (re_compile_fastmap): Use '\0' to memset, not 0.
107595         (utf8_sb_map): Make the calculations more obvious.
107596         (init_dfa, parse_bracket_exp, build_charclass_op):
107597         Call calloc and cast result, as glibc does.
107598         (init_word_char, fetch_token, peek_token, peek_token_bracket):
107599         (build_range_exp, build_collating_symbol):
107600         Now internal functions.
107602         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
107604         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
107605         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
107606         Don't depend on VMS; depend on __VMS instead, for POSIX
107607         namespace cleanness.
107608         (regoff_t): Define to ssize_t, not long int.
107610         Remove the REG_ macros named below.  Instead, make the old names
107611         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
107612         __USE_GNU_REGEX.
107613         (REG_BACKSLASH_ESCAPE_IN_LISTS):
107614         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
107615         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
107616         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
107617         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
107618         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
107619         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
107620         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
107621         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
107622         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
107623         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
107624         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
107625         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
107626         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
107627         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
107628         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
107629         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
107630         (REG_NREGS):
107631         Remove.  All uses replaced by the old RE_* names.
107632         (RE_BACKSLASH_ESCAPE_IN_LISTS):
107633         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
107634         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
107635         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
107636         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
107637         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
107638         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
107639         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
107640         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
107641         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
107642         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
107643         Don't bother having these macros be independent of each others'
107644         values, since they no longer exist in the POSIX name space.
107646         Rename the following member names back to their old names,
107647         unless !__USE_GNU_REGEX.  All uses changed back.
107648         (buffer): Renamed from re_buffer.
107649         (allocated): Renamed from re_allocated.
107650         (used): Renamed from re_used.
107651         (syntax): Renamed from re_syntax.
107652         (fastmap): Renamed from re_fastmap.
107653         (translate): Renamed from re_translate.
107654         (can_be_null): Renamed from re_can_be_null.
107655         (regs_allocated): Renamed from re_regs_allocated.
107656         (fastmap_accurate): Renamed from re_fastmap_accurate.
107657         (no_sub): Renamed from re_no_sub.
107658         (not_bol): Renamed from re_not_bol.
107659         (not_eol): Renamed from re_not_eol.
107660         (newline_anchor): Renamed from re_newline_anchor.
107661         (num_regs): Renamed from rm_num_regs.
107662         (start): Renamed from rm_start.
107663         (end): Renamed from rm_end.
107665         (free_state): Move up a bit.
107667         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
107668         #define to be empty.
107669         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
107670         when that is what is intended.
107671         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
107672         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
107673         (MAX): New macro.
107674         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
107675         All uses changed back to re_malloc, etc.  It's now the caller's
107676         responsibility to check for overflow; all callers changed.
107677         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
107678         (re_x2nrealloc): Remove.
107679         (free_state): Remove decl.
107681         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
107682         (re_set_registers, re_exec):
107683         Use K&R-style defn.
107685         2006-01-31  Roland McGrath  <roland@redhat.com>
107687         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
107688         Reported by Mike Frysinger <vapier@gentoo.org>.
107690         2006-01-15  Andreas Jaeger  <aj@suse.de>
107692         [BZ #1950]
107693         * lib/regex_internal.c (re_string_reconstruct): Adjust for
107694         build_wcs_upper_buffer change.
107695         (build_wcs_upper_buffer): Change return type.
107697         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
107699         * lib/regex_internal.h: Include <stdint.h> if available.
107701         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
107703         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
107705         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
107707         * lib/regcomp.c: Adjust for changed secondary hash function.
107709         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
107711         * lib/regex.h: Pretty printing.
107712         Clean up namespace a bit.
107714         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
107716         * lib/regexec.c (update_cur_sifted_state, check_arrival,
107717         check_arrival_add_next_nodes): Avoid using uninitialized variable.
107719         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
107720                     Ulrich Drepper  <drepper@redhat.com>
107722         [BZ #1302]
107723         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
107724         changed.
107725         (bitset_word_t): Renamed from bitset_word.  All uses changed.
107727         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
107729         [BZ #281]
107730         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
107731         * lib/regcomp.c: Remove unnecessary uses of
107732         unsigned RE_TRANSLATE_TYPE.
107733         * lib/regex_internal.h: Likewise.
107734         * lib/regex_internal.c: Likewise.
107735         * lib/regexec.c: Likewise.
107736         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
107738         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
107740         * lib/regexec.c (find_recover_state): Remove unnecessary
107741         initialization.
107742         (transit_state_bkref): Make DFA a const pointer.
107743         (get_subexp): Likewise.
107744         (check_arrival): Likewise.
107745         (update_cur_sifted_state): Likewise.
107746         (re_search_internal): Likewise.
107747         (prune_impossible_nodes): Likewise.
107748         (acquire_init_state_context): Likewise.
107749         (proceed_next_node): Likewise.
107750         (set_regs): Likewise.
107751         (free_fail_stack_return): Likewise.
107752         (check_arrival_expand_ecl): Mark DFA parameter as const.
107753         (check_arrival_expand_ecl_sub): Likewise.
107754         (check_subexp_limits): Likewise.
107755         (sub_epsilon_src_nodes):  Likewise.
107756         (add_epsilon_src_nodes):  Likewise.
107757         (merge_state_array): Likewise.
107758         (update_regs): Likewise.
107759         (build_trtable): Likewise.
107760         (sift_states_backward): Mark MCTX parameter as const.
107761         (build_sifted_states): Likewise.
107762         (update_cur_sifted_state): Likewise.
107763         (sift_states_mkref): Likewise.
107764         (check_arrival_expand_ecl): Mark eclosure as const.
107765         (check_dst_limits_calc_pos_1): Likewise.
107766         * lib/regex_internal.h (re_match_context_t): Make dfa a const
107767         pointer.
107769         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
107771         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
107772         (transit_state_sb): Likewise.
107773         (transit_state_mb): Likewise.
107774         (sift_states_iter_mb): Likewise.
107775         (check_arrival_add_next_nodes): Likewise.
107776         (check_node_accept_bytes): Change first parameter to pointer-to-const.
107777         [_LIBC] (re_search_2_stub): Use mempcpy.
107779         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
107780         mbrtowc for very simple UTF-8 case.
107782         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
107783         a pointer-to-const.
107784         (re_acquire_state_context): Likewise.
107785         * lib/regex_internal.h: Adjust prototypes.
107787         * lib/regex.c: Prevent using C++ compilers.
107789         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
107790         (re_acquire_state_context): Likewise.
107792 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
107794         * modules/regex (Depends-on): Add ssize_t.
107796 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
107798         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
107799         translation table.
107801 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
107803         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
107805 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
107806             Bruno Haible  <bruno@clisp.org>
107808         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
107809         <sys/types.h> and <inttypes.h>.
107811 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107813         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
107814         `__error_t_defined', so argp.h will not typedef the former.
107816 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
107818         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
107819         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
107820         glibc names.  Even if glibc is changed to conform to POSIX, the
107821         traditional names will be available anyway, since regex depends on
107822         the extensions module.  Also, fix a longstanding typo in the
107823         implementation of Spencer ERE test #75 from grep 2.3.  Problems
107824         reported by Emanuele Giaquinta.  Also, change sense of cached
107825         variable, so that the message makes sense.
107827 2006-03-24  Simon Josefsson  <jas@extundo.com>
107829         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
107830         including some doc fixes.
107831         (base64_encode_alloc): Fix +1 bug on allocation failures.
107833 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107835         * lib/base64.c (base64_encode): Do not read past end of array with
107836         unsanitized input on systems with CHAR_BIT > 8.
107838 2006-03-24  Eric Blake  <ebb9@byu.net>
107840         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
107842 2006-03-22  Karl Berry  <karl@gnu.org>
107844         * config/srclist.txt (*setenv.[ch]): get from coreutils.
107845         * config/srclistvars.sh (COREUTILS): new var.
107847 2006-03-17  Jim Meyering  <jim@meyering.net>
107849         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
107850         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
107852 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
107854         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
107855         no longer needs it.  Instead, check that regoff_t is as least
107856         as wide as ptrdiff_t.
107858         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
107859         so that our regex.h stays compatible with the installed regex.
107860         This is helpful for installers who configure --without-included-regex.
107861         Problem reported by Emanuele Giaquinta.
107863 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
107865         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
107866         Typedef to long int, not to off_, as POSIX will likely change
107867         in that direction.
107869 2006-03-15  Eric Blake  <ebb9@byu.net>
107871         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
107873 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
107875         * lib/argp-help.c (validate_uparams): Fix typo
107876         * lib/argp-parse.c (argp_default_options): Consistently begin help
107877         messages with a lowercase letter.
107879 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
107881         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
107882         overrun buffers and shouldn't be used (much as gets shouldn't be
107883         used).
107884         * lib/time_r.c (asctime_r, ctime_r): Likewise.
107886 2006-03-08  Simon Josefsson  <jas@extundo.com>
107888         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
107889         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107891 2006-03-08  Simon Josefsson  <jas@extundo.com>
107893         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
107894         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107896 2006-03-08  Simon Josefsson  <jas@extundo.com>
107898         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
107899         signal that configure disabled the device.
107901 2006-03-08  Simon Josefsson  <jas@extundo.com>
107903         * build-aux/maint.mk: Fix refresh-po, to handle no translated
107904         languages.
107906 2006-03-07  Simon Josefsson  <jas@extundo.com>
107908         * modules/getopt (Depends-on): Add unistd.
107910         * modules/unistd: New file.
107912 2006-03-07  Simon Josefsson  <jas@extundo.com>
107914         * modules/gc-random: New file.
107916 2006-03-07  Simon Josefsson  <jas@extundo.com>
107918         * m4/unistd_h.m4: New file.
107920 2006-03-07  Simon Josefsson  <jas@extundo.com>
107922         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
107923         test to be side-effect free by storing the result in the cache
107924         variable gl_cv_lib_readline, and moving the assignment of
107925         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
107926         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107928 2006-03-07  Simon Josefsson  <jas@extundo.com>
107930         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
107931         error on missing devices (the functions will return an error).
107933         * m4/gc.m4: Move random stuff to gc-random.m4
107935 2006-03-07  Simon Josefsson  <jas@extundo.com>
107937         * lib/unistd_.h: New file.
107939 2006-03-07  Simon Josefsson  <jas@extundo.com>
107941         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
107943 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
107945         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
107946         Problem reported by Juan Manuel Guerrero.
107948 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
107950         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
107951         the unistd module.
107952         * lib/getlogin_r.c: Likewise.
107953         * lib/getlogin_r.h: Likewise.
107954         * lib/glob.c: Likewise.
107955         * lib/pagealign_alloc.c: Likewise.
107956         * lib/unistd_.h: Remove; no longer needed.
107958 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
107960         * MODULES.html.sh (Support for systems lacking POSIX:2001):
107961         Add unistd.
107962         * modules/c-stack (Depends-on): Add unistd.
107963         * modules/getlogin_r: Likewise.
107964         * modules/glob: Likewise.
107965         * modules/pagealign_alloc: Likewise.
107966         * modules/unistd (Files): Remove lib/unistd_.h.
107967         (EXTRA_DIST): Remove.
107968         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
107969         need unistd_.h.
107970         (MOSTLYCLEANFILES): Remove unistd.h-t.
107972 2006-03-03  Simon Josefsson  <jas@extundo.com>
107974         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
107976 2006-03-03  Simon Josefsson  <jas@extundo.com>
107978         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
107979         libidn and bison.
107981 2006-03-03  Simon Josefsson  <jas@extundo.com>
107983         * build-aux/maint.mk: Add indent target.
107985 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
107987         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
107988         our replacement poll.h in any case, to avoid a differing
107989         declaration from a system header.  Seen on AIX.
107991 2006-03-01  Simon Josefsson  <jas@extundo.com>
107993         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
107994         <kasal@ucw.cz>.
107996 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
107998         * modules/gettime (Depends-on): Add extensions module.
107999         * modules/nanosleep (Depends-on): Likewise.
108000         * modules/settime (Depends-on): Likewise.
108002 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
108004         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
108005         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
108006         pedantically.
108007         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
108008         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
108010         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
108011         not "==".  Reported by Ralf Wildenhues.
108013 2006-03-01  Karl Berry  <karl@gnu.org>
108015         * doc/Copyright/request-*: new files, synced from gnuorg.
108017 2006-03-01  Karl Berry  <karl@gnu.org>
108019         * config/srclist.txt (Copyright/*): new entries.
108021 2006-02-28  Simon Josefsson  <jas@extundo.com>
108023         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
108025 2006-02-27  Simon Josefsson  <jas@extundo.com>
108027         * lib/base64.h: Indent #define's.  From Jim Meyering
108028         <jim@meyering.net>.
108030 2006-02-27  Jim Meyering  <jim@meyering.net>
108032         Revert the change of 2006-02-24, so these files can continue
108033         to be sync'd from gettext.
108034         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
108035         of `config.h'.
108037 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
108039         * modules/intprops: New file.
108040         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
108041         Add intprops.
108042         * modules/getloadavg (Files): Remove lib/intprops.h.
108043         (Depends-on): Add intprops.
108044         * modules/human: Likewise.
108045         * modules/inttostr: Likewise.
108046         * modules/openat: Likewise.
108047         * modules/sig2str: Likewise.
108048         * modules/userspec: Likewise.
108049         * modules/utimecmp: Likewise.
108050         * modules/xnanosleep: Likewise.
108051         * modules/xstrtol: Likewise.
108053 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
108055         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
108056         * modules/lock-tests (TESTS): Use $(EXEEXT).
108057         * modules/tls-tests: Likewise.
108058         * modules/argp-tests: Likewise.
108059         (check_PROGRAMS): New var, replacing...
108060         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
108062 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108064         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
108065         `config.h'.
108067 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
108069         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
108071 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108073         Sync from coreutils.
108074         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
108075         gl_CHDIR_SAFER.
108077 2006-02-22  Jim Meyering  <jim@meyering.net>
108079         Sync from coreutils.
108080         * m4/chdir-safer.m4: New file.
108082 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
108084         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
108085         AT_FDCWD exceeds INT_MAX.
108086         * lib/openat.h (AT_FDCWD): Likewise.
108088 2006-02-17  Eric Blake  <address@hidden>
108090         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
108092 2006-02-16  Simon Josefsson  <jas@extundo.com>
108094         * modules/getaddrinfo (Depends-on): Add sys_socket.
108096 2006-02-15  Simon Josefsson  <jas@extundo.com>
108098         * build-aux/maint.mk: Add dsyntax-check rule.
108100 2006-02-15  Eric Blake  <ebb9@byu.net>
108102         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
108103         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
108104         'present but cannot compile' warnings on cygwin.
108105         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
108106         use ws2tcpip.h if sys/socket.h works.
108107         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
108108         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
108110 2006-02-14  Simon Josefsson  <jas@extundo.com>
108112         * modules/maintainer-makefile (Files): Rename.
108114         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
108115         and (the local) Makefile.cfg to maint-cfg.mk.
108117         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
108118         to the latter.
108120         * modules/maintainer-makefile: New module.
108122         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
108123         severaly stripped to make it possible to build it up from scratch
108124         with reliable tests.
108126         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
108127         fixes to permit overriding the default actions when configure and
108128         makefile are not available.
108130 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
108132         Sync from coreutils.
108133         * modules/lstat (Depends-on): Don't depend on xalloc.
108134         (License): Change from GPL to LGPL, since this is now simply a
108135         replacement for a libc function.
108137 2006-02-14  Jim Meyering  <jim@meyering.net>
108139         Sync from coreutils.
108141         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
108142         failure on deficient systems, and simplify gnulib lgpl dependencies.
108143         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
108144         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
108146         * lib/xalloc-die.c: Remove unused definition of N_.
108148 2006-02-14  Jim Meyering  <jim@meyering.net>
108150         Sync from coreutils.
108151         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
108152         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
108153         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
108154         double-quote uses of that variable, to accommodate the rare case in
108155         which getmntent is available in none of the libraries checked.  This
108156         happens at least on FreeBSD 5.0.
108158 2006-02-13  Simon Josefsson  <jas@extundo.com>
108160         * gnulib-tool (Usage): Fix --import, from
108161         karl@freefriends.org (Karl Berry).
108163 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
108165         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
108167 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
108169         * lib/argp-namefrob.h: Restore changes accidentally lost during the
108170         "autoupdate" on 2005-12-12.
108172 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
108174         * modules/closeout (Depends-on): Remove atexit.
108176 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
108178         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
108179         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
108181 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
108183         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
108184         __EXTENSIONS__ if this causes compilation to fail.  Problem
108185         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
108186         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
108188 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
108190         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
108191         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
108192         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
108193         All uses changed.
108195 2006-01-26  Simon Josefsson  <jas@extundo.com>
108197         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
108198         prototype is visible on mingw32.
108200         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
108201         for mingw32.
108203         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
108204         mingw32).
108206 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
108208         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
108209         attempt to open for write; this always fails, at least on POSIX
108210         hosts.  This reinstates the 2006-01-09 change, which was
108211         inadvertently removed.
108213 2006-01-26  Bruno Haible  <bruno@clisp.org>
108215         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
108216         Reported by Paul Eggert.
108218 2006-01-26  Bruno Haible  <bruno@clisp.org>
108219             Paul Eggert  <eggert@cs.ucla.edu>
108221         * lib/stdbool_.h (_Bool)
108222         [(! (defined __cplusplus || defined __BEOS__)
108223           && !defined __GNUC__
108224           && !(defined __HP_cc || defined __xlc__
108225                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
108226                || defined __sgi))]:
108227         #define to signed char in these cases too; this simplifies
108228         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
108229         etc., separately) and makes it more conservative.
108231 2006-01-25  Simon Josefsson  <jas@extundo.com>
108233         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
108234         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
108235         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
108237 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
108239         * lib/argp-namefrob.h: Bugfix. Remove stray #
108241 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
108243         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
108244         so that we test the test.
108245         Check for yet another HP-UX cc bug involving *bool |= bool.
108247 2006-01-25  Karl Berry  <karl@gnu.org>
108249         * config/srclist.txt (vasnprintf.c): sync lost.
108251 2006-01-25  Jim Meyering  <jim@meyering.net>
108253         Sync from the stable (b5) branch of coreutils:
108255         * lib/fts.c (fts_children): Don't let close() clobber errno from
108256         failed fchdir().
108258         * lib/fts.c (fts_stat): When following a symlink-to-directory,
108259         don't necessarily interpret stat-fails+lstat-succeeds as indicating
108260         a dangling symlink.  That can also happen at least for ELOOP.
108261         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
108262         FYI, this bug predates the inclusion of fts.c in coreutils.
108264         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
108265         in their own block, so pre-c99 compilers don't object.
108267         Avoid the double-free (first in fts_read, second in fts_close) that
108268         would occur when an `active' directory is made inaccessible (e.g.,
108269         via chmod a-x) during a traversal.
108270         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
108271         before returning.  Reproduce this failure by
108272         mkdir -p a/b; cd a; chmod a-x . b
108273         Reported by Stavros Passas.
108275 2006-01-25  Jim Meyering  <jim@meyering.net>
108277         * lib/fileblocks.c: Remove more useless parentheses.
108278         * lib/readutmp.h: Likewise.
108280 2006-01-25  Bruno Haible  <bruno@clisp.org>
108282         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
108283         warnings.
108284         Reported by Paul Eggert.
108286 2006-01-25  Bruno Haible  <bruno@clisp.org>
108288         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
108289         rid of a trap command. For Solaris sh.
108290         Reported by Mark D. Baushke <mdb@gnu.org>.
108292 2006-01-24  Simon Josefsson  <jas@extundo.com>
108294         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
108295         Bruno.
108297 2006-01-24  Karl Berry  <karl@gnu.org>
108299         * config/srclist.txt (argp-namefrob.h): sync lost.
108301 2006-01-24  Jim Meyering  <jim@meyering.net>
108303         * modules/openat (Files): Add lib/intprops.h.
108304         From Mark D. Baushke.
108306 2006-01-24  Jim Meyering  <jim@meyering.net>
108308         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
108309         Reported by Mark D. Baushke.
108311 2006-01-24  Jim Meyering  <jim@meyering.net>
108313         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
108315 2006-01-24  Bruno Haible  <bruno@clisp.org>
108317         * modules/strnlen (Maintainer): Change from glibc to all.
108319 2006-01-24  Bruno Haible  <bruno@clisp.org>
108321         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
108322         Patch by Paul Eggert.
108324 2006-01-24  Bruno Haible  <bruno@clisp.org>
108326         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
108327         already has it.
108328         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
108329         2005-11-26.
108331         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
108332         'signed char' to avoid problems with the built-in _Bool type.
108333         Reported by Paul Eggert on 2005-11-26.
108335 2006-01-24  Bruno Haible  <bruno@clisp.org>
108337         * gnulib-tool (func_import): Avoid constructing complicated sed
108338         expressions inside backquote.
108339         Report and solution by Mark D. Baushke <mdb@gnu.org>.
108341 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
108343         These changes imported from libc.
108344         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
108345         test and two separate function calls.
108346         * lib/strndup.c (__strndup): Add libc_hidden_def.
108348 2006-01-23  Simon Josefsson  <jas@extundo.com>
108350         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
108351         Remove the test_*_SOURCES variable: automake infers it by default.
108352         * modules/tls-tests: Likewise.
108354 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
108356         Work around porting bugs reported by Dieter in
108357         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
108358         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
108359         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
108360         Include "getopt.h" first, to check interface.
108361         (getenv): Declare only if defined HAVE_DECL_GETENV &&
108362         !HAVE_DECL_GETENV.
108363         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
108364         (__strndup): Revert to K&R-style function dfns, the glibc style.
108365         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
108366         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
108367         Include strnlen.h first, to get prototype properly.
108368         (strnlen): Renamed from __strnlen.
108369         Remove weak alias.
108371 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
108373         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
108375 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
108377         * config/srclist.txt: Adjust to reflect glibc reorganization.
108378         This affects only comments.
108380 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
108382          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
108383          Reported by Bruce Korb <bkorb@gnu.org>.
108385 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
108387         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
108388         to pacify gcc -Wswitch-default.
108390 2006-01-22  Bruno Haible  <bruno@clisp.org>
108392         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
108393         temporary buffer for sprintf, take into account the precision also
108394         for 'd', 'i', 'u', 'o', 'x', 'X'.
108396 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
108398         * modules/argp-tests: New module
108399         * tests/test-argp.c: New file
108400         * tests/test-argp-2.sh: New file
108402 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
108404         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
108405         (__argp_base_name): Removed
108406         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
108407         typo.
108408         (__argp_base_name): Provide macro definition or extern declaration
108409         depending on the configuration
108411 2006-01-20  Simon Josefsson  <jas@extundo.com>
108413         * modules/inet_ntop (Depends-on): Depend on sys_socket.
108415 2006-01-20  Simon Josefsson  <jas@extundo.com>
108417         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
108419 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
108421         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
108422         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
108423         Suggested by Bruno Haible.
108425 2006-01-20  Karl Berry  <karl@gnu.org>
108427         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
108428         until changes propagate, I guess.
108430 2006-01-19  Simon Josefsson  <jas@extundo.com>
108432         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
108434 2006-01-19  Simon Josefsson  <jas@extundo.com>
108436         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
108438 2006-01-19  Simon Josefsson  <jas@extundo.com>
108440         * gnulib-tool: Set check_PROGRAMS.
108442         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
108443         modules/des-tests, modules/gc-arcfour-tests,
108444         modules/gc-arctwo-tests, modules/gc-des-tests,
108445         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
108446         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
108447         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
108448         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
108449         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
108450         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
108451         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
108452         test_*_SOURCES.
108454 2006-01-18  Simon Josefsson  <jas@extundo.com>
108456         * modules/socklen (Depends-on): Depend on sys_socket.
108458 2006-01-18  Simon Josefsson  <jas@extundo.com>
108460         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
108461         modules/des-tests, modules/gc-arcfour-tests,
108462         modules/gc-arctwo-tests, modules/gc-des-tests,
108463         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
108464         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
108465         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
108466         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
108467         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
108468         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
108469         $(EXEEXT) to automake TESTS variable, for mingw32.
108471 2006-01-17  Simon Josefsson  <jas@extundo.com>
108473         * modules/socklen (Include): Need sys/socket.h.
108475 2006-01-17  Bruno Haible  <bruno@clisp.org>
108477         * modules/ssize_t (Include): Add <sys/types.h>.
108479 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
108481         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
108482         it's not portable and it doesn't work with cross-compiles.
108483         Problem reported by Bruno Haible.  Fix missing-$ typo in
108484         'test "gl_cv_ignore_unused_libraries" ...' that prevented
108485         -zignore from being used with Sun's C compiler.
108487 2006-01-12  Simon Josefsson  <jas@extundo.com>
108489         * lib/base64.c: Fix warning, reported by Bruno Haible
108490         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
108492 2006-01-12  Bruno Haible  <bruno@clisp.org>
108494         * modules/ldd: New file.
108495         * build-aux/ldd.sh.in: New file.
108496         * MODULES.html.sh (Support for building libraries and executables): Add
108497         ldd.
108499 2006-01-12  Bruno Haible  <bruno@clisp.org>
108501         * m4/ldd.m4: New file.
108503 2006-01-12  Bruno Haible  <bruno@clisp.org>
108505         * gnulib-tool (func_import, func_create_testdir): Don't go into an
108506         endless loop while replacing $auxdir with build-aux.
108508 2006-01-11  Simon Josefsson  <jas@extundo.com>
108510         * lib/stdint_.h (SIZE_MAX): Add missing (.
108512 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
108514         Sync from coreutils.
108515         * lib/md5.c: Fix commentary typos.
108516         (alignof, UNALIGNED_P): No need for a GCC-specific version.
108517         * lib/md5.h (__attribute__): Remove; unused.
108518         * lib/sha1.c: Fix commentary to match md5 better.
108519         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
108520         so that we don't need to worry about alignment.  All uses changed.
108521         This merges the 2005-10-28 md5 change into sha1.
108523 2006-01-11  Jim Meyering  <jim@meyering.net>
108525         Sync from coreutils.
108526         * lib/md5.c (OP): Fix spacing.
108528 2006-01-11  Bruno Haible  <bruno@clisp.org>
108530         Ensure automatic ordering between gl_LOCK and gl_ARGP.
108531         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
108532         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
108534 2006-01-11  Bruno Haible  <bruno@clisp.org>
108536         Ensure automatic ordering between gl_LOCK and gl_ARGP.
108537         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
108538         the "early" section as well.
108540 2006-01-11  Bruno Haible  <bruno@clisp.org>
108542         Avoid "ar: no archive members specified" error on MacOS X.
108543         * gnulib-tool (func_modules_add_dummy): New function.
108544         (func_import, func_create_testdir): Invoke it.
108546 2006-01-11  Bruno Haible  <bruno@clisp.org>
108548         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
108549         with $auxdir in AC_CONFIG_FILES statements.
108551 2006-01-11  Bruno Haible  <bruno@clisp.org>
108553         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
108554         Initialize also noinst_HEADERS to empty.
108556 2006-01-11  Bruno Haible  <bruno@clisp.org>
108558         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
108559         variables.
108560         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
108561         autoreconf.
108563 2006-01-11  Bruno Haible  <bruno@clisp.org>
108565         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
108566         overridable by the user.
108567         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
108569 2006-01-10  Simon Josefsson  <jas@extundo.com>
108571         * modules/sys_socket: New file.
108573 2006-01-10  Simon Josefsson  <jas@extundo.com>
108575         * m4/sys_socket_h.m4: New file.
108577 2006-01-10  Simon Josefsson  <jas@extundo.com>
108579         * lib/socket_.h: New file.
108581 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
108583         * modules/readutmp (Maintainer): Add myself.
108585 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
108587         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
108588         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
108589         People who are still concerned with buggy memcmp implementations
108590         can invoke gl_FUNC_MEMCMP themselves.
108592 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
108594         * lib/regex_internal.h (BITSET_WORD_BITS):
108595         Work around a bug in 64-bit PGC (before version 6.1-2), where the
108596         preprocessor mishandles large unsigned values as if they were signed.
108597         Problem reported by Claudio Fontana in
108598         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
108600 2006-01-10  Jim Meyering  <jim@meyering.net>
108602         Avoid the double-free (first in fts_read, second in fts_close) that
108603         would occur when an `active' directory is made inaccessible (e.g.,
108604         via chmod a-x) during a traversal.
108605         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
108606         before returning.  Reproduce this failure by
108607         mkdir -p a/b; cd a; chmod a-x . b
108608         Reported by Stavros Passas.
108610         Sync from coreutils.
108611         * lib/sha1.c: Tweak grammar in a comment.
108613 2006-01-10  Jim Meyering  <jim@meyering.net>
108615         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
108616         Patch by Joerg Sonnenberger.
108618 2006-01-10  Bruno Haible  <bruno@clisp.org>
108620         * modules/readutmp: Depend on module free.
108621         * modules/strtok_r: Depend on module restrict.
108623 2006-01-10  Bruno Haible  <bruno@clisp.org>
108625         * modules/gettext (configure.ac): Add an invocation of
108626         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
108628 2006-01-10  Bruno Haible  <bruno@clisp.org>
108630         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
108631         Reported by Werner Lemberg <wl@gnu.org>.
108633 2006-01-10  Bruno Haible  <bruno@clisp.org>
108635         * lib/localcharset.c: Update from GNU gettext.
108637 2006-01-10  Bruno Haible  <bruno@clisp.org>
108639         * lib/argp.h (__const): Remove macro. Use const instead.
108640         * lib/argp-fmtstream.h (__const): Likewise.
108641         * lib/glob_.h (__const): Remove macro.
108642         * lib/glob-libc.h: Use const instead of __const.
108644 2006-01-10  Bruno Haible  <bruno@clisp.org>
108646         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
108647         variable.
108648         Needed to avoid an automake error regarding the 'gettext' module.
108650 2006-01-09  Simon Josefsson  <jas@extundo.com>
108652         * modules/inet_ntop (Depends-on): Add restrict.
108654 2006-01-09  Simon Josefsson  <jas@extundo.com>
108656         * modules/gc-rijndael-tests (License): Put under LGPL.
108658         * modules/gc-des-tests (License): Likewise.
108660         * modules/gc-arcfour-tests (License): Likewise.
108662         * modules/gc-arctwo-tests (License): Likewise.
108664         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
108666         * modules/gc-hmac-sha1-tests (Files): Likewise.
108668         * modules/gc-hmac-md5-tests (License): Likewise.
108670         * modules/gc-sha1-tests (License): Likewise.
108672         * modules/gc-md5-tests (License): Likewise.
108674         * modules/gc-md4-tests (License): Likewise.
108676         * modules/gc-md2-tests (License): Likewise.
108678         * modules/gc-tests (License): Likewise.
108680         * modules/des-tests (License): Likewise.
108682         * modules/md4-tests (License): Likewise.
108684         * modules/md2-tests (License): Likewise.
108686 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
108688         Sync from coreutils:
108690         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
108691         * modules/lib-ignore: New file.
108692         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
108693         chdir-safer.m4, lchmod.m4.
108694         * modules/openat: Add mkdirat.c, openat-priv.h.
108696 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
108698         Sync from coreutils.
108699         * m4/lib-ignore.m4: New file.
108700         * m4/lchmod.m4: New file.
108702 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
108704         Sync from coreutils.
108705         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
108706         for write access: POSIX says that must fail.
108707         * lib/fts.c (diropen): Likewise.
108708         * lib/save-cwd.c (save_cwd): Likewise.
108709         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
108710         well, for minor improvements on hosts that lack O_DIRECTORY.
108711         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
108712         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
108713         Fall back on chown if open failed with EACCES.
108715         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
108716         Report an error at compile-time if only a 1-second nominal clock
108717         resolution is found.
108719         * lib/lchmod.h: New file.
108720         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
108721         (make_dir_parents): Use lchown rather than chown, and
108722         lchmod rather than chmod.
108724         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
108725         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
108726         "proc" reported by n0dalus.
108728         * lib/mountlist.c: Include <limits.h>.
108729         (dev_from_mount_options)
108730         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
108731         New function.  It no longer assumes "dev=" has the System V meaning
108732         on Linux (since it doesn't).  It also parses "dev=" more carefully.
108733         (read_file_system_list)
108734         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
108735         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
108736         dev= in that case.
108738         * lib/posixtm.h (PDS_PRE_2000): New macro.
108739         * lib/posixtm.c (year): Arg is now syntax_bits rather than
108740         allow_century.  All usages changed.  Reject dates outside the range
108741         1969-1999 if PDS_PRE_2000 is used.
108743 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
108745         Sync from coreutils.
108746         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
108747         (Time of day items): Mention the possibility of leap seconds.
108748         Problem reported by Dr. David Alan Gilbert.
108750 2006-01-09  Jim Meyering  <jim@meyering.net>
108752         Sync from coreutils.
108754         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
108756         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
108758         * lib/modechange.c (mode_compile): Reject an invalid mode string
108759         that starts with an octal digit.  From Andreas Gruenbacher.
108761         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
108762         and dup to open_safer and dup_safer, respectively.
108763         (openat_permissive): Fix typo in comment.
108765         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
108766         "gettext.h"; either no longer needed or are guaranteed by openat.h.
108767         (_): Remove; no longer needed.
108768         (openat): Renamed from rpl_openat; no need for rpl_openat
108769         since openat.h renames openat for us.
108770         Replace most of the body with a call to openat_permissive,
108771         to avoid duplicate code.
108772         Port to (probably hypothetical) environments were mode_t is
108773         wider than int.
108774         (openat_permissive): Require mode arg, so that we can check
108775         types better.  Put it just after flags.  Change cwd failure
108776         indicator from pointer-to-bool to pointer-to-errno-value.
108777         All callers changed.
108778         Invoke openat_save_fail and/or openat_restore_fail if
108779         cwd_errno is null, so that openat can call us.
108780         (openat_permissive, fdopendir, fstatat, unlinkat):
108781         Simplify errno handling to avoid some duplicate code,
108782         as it's OK to set errno on success.
108783         * lib/openat.h: Revamp code so that function macros depend on
108784         __OPENAT_PREFIX only, not also on AT_FDCWD.
108785         (openat_ro): Remove.  Caller changed to use openat_permissive.
108786         (openat_permissive): Now a macro, if not a function.
108787         (openat_restore_fail, openat_save_fail): Now always functions,
108788         since mkdirat needs them even if __OPENAT_PREFIX is defined.
108790         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
108791         and openat.c.
108792         * lib/mkdirat.c: Include openat-priv.h.
108793         Remove definitions of macros defined therein.
108794         * lib/openat.c: Likewise.
108796         * lib/mkdirat.c (mkdirat): New file and function.
108797         * lib/openat.h (mkdirat): Declare.
108799         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
108801         * lib/openat.h (openat_permissive): Declare.
108802         (openat_ro): Define.
108804         * lib/openat.c (EXPECTED_ERRNO): New macro.
108805         (openat_permissive): New function -- used in remove.c rewrite.
108806         (all functions): Set errno just before returning, only if there
108807         was an actual failure.
108808         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
108810         Emulate openat-family functions using Linux's procfs, if possible.
108811         Idea and some code based on Ulrich Drepper's glibc changes.
108813         * lib/openat.c: (BUILD_PROC_NAME): New macro.
108814         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
108815         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
108816         before falling back on save_cwd and restore_cwd.
108817         (fdopendir, fstatat, unlinkat): Likewise.
108819         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
108820         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
108822         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
108823         as second argument to va_arg.  Otherwise, some versions of gcc
108824         warn that `if this code is reached, the program will abort'.
108826 2006-01-09  Jim Meyering  <jim@meyering.net>
108828         Sync from coreutils.
108829         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
108830         Require openat-priv.h.
108832 2006-01-09  Bruno Haible  <bruno@clisp.org>
108834         * modules/strnlen (Include): Use strnlen.h.
108836 2006-01-09  Bruno Haible  <bruno@clisp.org>
108838         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
108840 2006-01-09  Bruno Haible  <bruno@clisp.org>
108842         * lib/sysexit_.h (EX_OK): New macro.
108843         Suggested by Martin Lambers <marlam@marlam.de>.
108845 2006-01-09  Bruno Haible  <bruno@clisp.org>
108847         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
108848         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
108850 2006-01-09  Bruno Haible  <bruno@clisp.org>
108852         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
108853         numbers.
108855 2006-01-09  Bruno Haible  <bruno@clisp.org>
108857         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
108858         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
108859         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
108860         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
108862 2006-01-09  Bruno Haible  <bruno@clisp.org>
108864         * build-aux/javacomp.sh.in: New file, moved from lib/.
108865         * modules/javacomp-script (Files): Update.
108866         (configure.ac): Add AC_CONFIG_FILES invocation.
108867         (EXTRA_DIST): Remove variable.
108869         * build-aux/javaexec.sh.in: New file, moved from lib/.
108870         * modules/javaexec (Files): Update.
108871         (configure.ac): Add AC_CONFIG_FILES invocation.
108872         (EXTRA_DIST): Remove javaexec.sh.in.
108874         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
108875         * modules/csharpcomp-script (Files): Update.
108876         (configure.ac): Add AC_CONFIG_FILES invocation.
108877         (EXTRA_DIST): Remove variable.
108879         * build-aux/csharpexec.sh.in: New file, moved from lib/.
108880         * modules/csharpexec (Files): Update.
108881         (configure.ac): Add AC_CONFIG_FILES invocation.
108882         (EXTRA_DIST): Remove csharpexec.sh.in.
108884 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
108886         Sync from coreutils.
108888         Add POSIX ACL support
108889         * lib/acl.h (copy_acl, set_acl): Add declarations.
108890         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
108891         systems other than Linux.
108892         (chmod_or_fchmod): New function: use fchmod when possible,
108893         and chmod otherwise.
108894         (file_has_acl): Add a POSIX ACL implementation, with a
108895         Linux-specific subcase.
108896         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
108897         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
108898         acls are unsupported.
108899         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
108900         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
108901         are unsupported.
108903 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
108905         Sync from coreutils.
108906         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
108908 2006-01-07  Bruno Haible  <bruno@clisp.org>
108910         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
108911         gl_EARLY.
108913 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
108915         * lib/strftime.c (tzname): Don't declare if it is already #defined.
108916         Problem reported for Mingw by Mark Junker.
108918 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
108920         * README: Gnulib normally doesn't generate a tarball.
108922 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
108924         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
108925         long int, not int, for nanosecond counts, so that people who are
108926         used to POSIX struct timespec won't be surprised.  Reported by Jim
108927         Meyering.
108929 2005-12-28  Bruno Haible  <bruno@clisp.org>
108931         * build-aux/config.rpath: Update from GNU gettext.
108933 2005-12-16  Jim Meyering  <jim@meyering.net>
108935         * modules/fprintftime: New module.
108936         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
108938 2005-12-16  Jim Meyering  <jim@meyering.net>
108940         * m4/fprintftime.m4: New file.
108942 2005-12-16  Jim Meyering  <jim@meyering.net>
108944         * lib/fprintftime.c, lib/fprintftime.h: New files.
108946 2005-12-15  Simon Josefsson  <jas@extundo.com>
108948         * modules/socklen (configure.ac): Fix M4 macro name, to align with
108949         new m4/socklen.m4.
108951 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
108953         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
108954         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
108956 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
108958         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
108959         * lib/argp-help.c (fill_in_uparams): Check if the constructed
108960         struct uparams is valid. Fall back to the default values if it is
108961         not.
108963 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
108965         * modules/argp (Files): Add argp-pin.c
108966         (Depends-on): dirname
108967         (lib_SOURCES): Add argp-pin.c
108969 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
108971         * m4/argp.m4:  Check if program_invocation_name and
108972         program_invocation_short_name are declared and define appropriate
108973         macros if they are not.
108975 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
108977         * lib/argp-help.c (__argp_base_name): New function
108978         (__argp_short_program_name): Rewrite using __argp_base_name
108979         * lib/argp-namefrob.h: Define program_invocation_name and
108980         program_invocation_short_name if requested
108981         (__argp_base_name): Add prototype
108982         * lib/argp-parse.c (argp_def): Use gettext wrappers
108983         (argp_default_parser): Use __argp_base_name
108984         * lib/argp-pin.c: New file. Defines program_invocation_name and
108985         program_invocation_short_name on systems that lack them.
108987 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
108989         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
108990         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
108991         porting problem reported by Georg Schwarz in
108992         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
108994 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
108996         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
108997         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
108998         porting problem reported by Georg Schwarz in
108999         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
109001 2005-12-05  Bruno Haible  <bruno@clisp.org>
109003         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
109004         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
109005         Reported by Mark Junker <mjscod@gmx.de>.
109007 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
109009         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
109010         Use implementation from Albert Chin, with some
109011         comments/corrections by Stepan Kasal and myself.
109013 2005-12-02  Bruno Haible  <bruno@clisp.org>
109015         * gnulib-tool (func_import): Accept GPLed build tool modules when
109016         --lgpl is given.
109017         * modules/csharpcomp-script: New file.
109018         * modules/csharpcomp: Depend on it.
109019         * modules/javacomp-script: New file.
109020         * modules/javacomp: Depend on it.
109021         Suggested by Simon Josefsson.
109023 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
109025         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
109026         statement, to work around an HP-UX 10.20 compiler bug reported by
109027         Peter O'Gorman.
109029 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
109031         * modules/savedir (Depends-on): Add openat.
109033 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
109035         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
109036         (uintmax_t) [defined uintmax_t]: Do not declare.
109037         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
109038         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
109039         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
109040         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
109041         sake of portability to weird hosts that C allows (though we don't
109042         know of any practical examples).
109044         * lib/savedir.h (fdsavedir): New decl.
109045         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
109046         contains most of the former guts of savedir.
109047         (savedir): Use savedirstream.
109048         Include "openat.h".
109050 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
109052         * modules/obstack (Files): Add m4/ulonglong.m4.
109053         Problem reported by Davide Angelocola.
109055 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
109057         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
109058         coreutils no longer futzes with rounding modes.
109060 2005-11-14  Jim Meyering  <jim@meyering.net>
109062         * lib/mkstemp-safer.c: Include <config.h>, required for possible
109063         replacement of mkstemp.
109065 2005-11-10  Simon Josefsson  <jas@extundo.com>
109067         * lib/readline.c: Remove EOL.
109069 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
109071         * modules/gethrxtime (Depends-on): Add gettime.
109073 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
109075         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
109076         or gettimeofday; no longer needed.
109078 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
109080         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
109081         time business.
109082         (gethrxtime) [! (HAVE_NANOUPTIME
109083         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
109084         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
109085         our own approximation.
109087 2005-11-08  Eric Blake  <ebb9@byu.net>
109089         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
109091 2005-11-08  Eric Blake  <ebb9@byu.net>
109093         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
109095 2005-11-04  Bruno Haible  <bruno@clisp.org>
109097         * gnulib-tool: Implement --update mode.
109099 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
109101         Fix porting problem reported by Theodoros V. Kalamatianos.
109102         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
109103         Don't assume that futimes failing means we must fail.
109105 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
109107         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
109108         variables to suggest the intended function of the PATH_MAX check.
109110 2005-10-30  Kean Johnston  <jkj@sco.com>
109112         Trivial changes to support SCO systems.
109113         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
109114         as PATH_MAX.
109115         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
109116         where __ptr is null when no I/O is pending.
109118 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
109120         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
109121         leave errno alone.  Problem reported by Dmitry V. Levin.
109123 2005-10-28  Simon Josefsson  <jas@extundo.com>
109125         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
109126         Test more.
109128         * tests/test-gc-md2.c, tests/test-md2.c: New files.
109130         * modules/md2, modules/md2-tests: New files.
109132 2005-10-28  Simon Josefsson  <jas@extundo.com>
109134         * m4/inet_ntop.m4: More tests.
109136         * m4/gc-md2.m4, md2.m4: New file.
109138 2005-10-28  Simon Josefsson  <jas@extundo.com>
109140         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
109141         "restrict" keywords, as per POSIX.  Protect the function
109142         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
109143         Don't use K&R prototypes.  Check the sprintf return values.
109144         Re-define EAFNOSUPPORT if not present.  Indent.
109146         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
109147         suggested by Bruno Haible <bruno@clisp.org>.
109149         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
109151         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
109153         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
109154         libgcrypt).
109156         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
109158         * lib/md2.h, lib/md2.c: New files.
109160 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
109162         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
109163         errno alone.  Problem reported by Frederic Jolliton.
109165 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
109167         * modules/verify (License): Change from GPL to LGPL.  This is a
109168         tiny module and there are apparently near-equivalents that are
109169         under the BSD license.
109171 2005-10-24  Simon Josefsson  <jas@extundo.com>
109173         * modules/sha1: Relicense to LGPL.
109175 2005-10-24  Simon Josefsson  <jas@extundo.com>
109177         * lib/md4.h: Shrink buffer size, now that we changed the type.
109179 2005-10-23  Simon Josefsson  <jas@extundo.com>
109181         * gnulib-tool (func_import): Fix --tests-base.
109183 2005-10-22  Simon Josefsson  <jas@extundo.com>
109185         * modules/arcfour (Depends-on): Need stdint.
109187 2005-10-22  Simon Josefsson  <jas@extundo.com>
109189         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
109190         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
109192 2005-10-22  Simon Josefsson  <jas@extundo.com>
109194         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
109195         suggested by Bruno Haible <bruno@clisp.org>.
109197 2005-10-22  Simon Josefsson  <jas@extundo.com>
109199         * lib/crc.h: Include stddef.h, for size_t.
109201 2005-10-22  Simon Josefsson  <jas@extundo.com>
109203         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
109204         arcfour_context struct (simplify test vector testing in GNU
109205         Shishi).
109207 2005-10-21  Simon Josefsson  <jas@extundo.com>
109209         * modules/des, modules/des-tests: New files.
109211         * modules/gc-des, modules/gc-des-tests: New files.
109213         * tests/test-des.c, tests/test-gc-des.c: New file.
109215 2005-10-21  Simon Josefsson  <jas@extundo.com>
109217         * modules/arctwo, modules/arctwo-tests: New files.
109219         * tests/test-arctwo.c: New file.
109221         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
109223         * tests/test-gc-arctwo.c: New file.
109225 2005-10-21  Simon Josefsson  <jas@extundo.com>
109227         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
109228         Bruno Haible <bruno@clisp.org>.
109230         * m4/gc-des.m4: New file.
109232 2005-10-21  Simon Josefsson  <jas@extundo.com>
109234         * m4/arctwo.m4: New file.
109236         * m4/gc-arctwo.m4: New file.
109238 2005-10-21  Simon Josefsson  <jas@extundo.com>
109240         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
109241         block.
109243 2005-10-21  Simon Josefsson  <jas@extundo.com>
109245         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
109246         <bruno@clisp.org>.
109248         * lib/hmac-sha1.c (hmac_sha1): Likewise.
109250         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
109251         Bruno Haible <bruno@clisp.org>.
109253         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
109254         <bruno@clisp.org>.
109256 2005-10-21  Simon Josefsson  <jas@extundo.com>
109258         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
109260 2005-10-21  Simon Josefsson  <jas@extundo.com>
109262         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
109264 2005-10-21  Simon Josefsson  <jas@extundo.com>
109266         * lib/des.h, lib/des.c: New files.
109268         * lib/gc-gnulib.c: Support DES.c
109270 2005-10-21  Simon Josefsson  <jas@extundo.com>
109272         * lib/arctwo.h, lib/arctwo.c: New files.
109274         * lib/gc-gnulib.c: Support ARCTWO.
109276 2005-10-21  Simon Josefsson  <jas@extundo.com>
109278         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
109279         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
109281 2005-10-21  Simon Josefsson  <jas@extundo.com>
109283         * gnulib-tool (func_import, func_create_testdir): Define automake
109284         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
109285         Makefile.am snippet),
109286         suggested by Bruno Haible <bruno@clisp.org>.
109288         * modules/gc (Makefile.am): Use it.
109290 2005-10-21  Bruno Haible  <bruno@clisp.org>
109292         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
109293         patch.
109295 2005-10-19  Simon Josefsson  <jas@extundo.com>
109297         * tests/test-gc-rijndael.c: New file.
109299         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
109301 2005-10-19  Simon Josefsson  <jas@extundo.com>
109303         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
109304         interface too.
109306 2005-10-19  Simon Josefsson  <jas@extundo.com>
109308         * tests/test-gc-arcfour.c: New file.
109310         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
109312 2005-10-19  Simon Josefsson  <jas@extundo.com>
109314         * modules/gc-md4, modules/gc-md4-tests: New file.
109316         * tests/test-gc-md4.c: New file.
109318 2005-10-19  Simon Josefsson  <jas@extundo.com>
109320         * m4/gc-md4.m4: New file.
109322 2005-10-19  Simon Josefsson  <jas@extundo.com>
109324         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
109325         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
109326         <kasal@ucw.cz>.
109328 2005-10-19  Simon Josefsson  <jas@extundo.com>
109330         * m4/gc-arcfour.m4: New file.
109332         * m4/gc-rijndael.m4: New file.
109334 2005-10-19  Simon Josefsson  <jas@extundo.com>
109336         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
109338 2005-10-19  Simon Josefsson  <jas@extundo.com>
109340         * lib/gc-gnulib.c: Support ARCFOUR.
109342 2005-10-19  Simon Josefsson  <jas@extundo.com>
109344         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
109345         support.
109347         * lib/gc.h: Add ECB enum type.
109349         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
109351 2005-10-18  Simon Josefsson  <jas@extundo.com>
109353         * tests/test-md5.c: New file.
109355         * modules/md5-tests: New file.
109357 2005-10-18  Simon Josefsson  <jas@extundo.com>
109359         * tests/test-md4.c: New file.
109361         * modules/md4, modules/md4-tests: New files.
109363 2005-10-18  Simon Josefsson  <jas@extundo.com>
109365         * m4/md4.m4: New file.
109367 2005-10-18  Simon Josefsson  <jas@extundo.com>
109369         * lib/md4.h, lib/md4.c: New files, based on md5.?.
109371 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
109373         * gnulib-tool (func_create_testdir): Omit the second check whether
109374         BUILT_SOURCES in nonempty.
109376 2005-10-17  Simon Josefsson  <jas@extundo.com>
109378         * tests/test-rijndael.c: New file.
109380 2005-10-17  Simon Josefsson  <jas@extundo.com>
109382         * modules/sha1: Depend on stdint instead of md5.
109384         * modules/md5: Depend on stdint, remove uint32_t.
109386 2005-10-17  Simon Josefsson  <jas@extundo.com>
109388         * modules/gc-sha1-tests: New file.
109390         * tests/test-gc-sha1.c: New file.
109392 2005-10-17  Simon Josefsson  <jas@extundo.com>
109394         * m4/md5.m4: Remove call to uint32_t.m4.
109396 2005-10-17  Simon Josefsson  <jas@extundo.com>
109398         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
109400         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
109401         md5.h.
109403         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
109405         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
109407 2005-10-17  Simon Josefsson  <jas@extundo.com>
109409         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
109411 2005-10-17  Simon Josefsson  <jas@extundo.com>
109413         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
109415 2005-10-17  Simon Josefsson  <jas@extundo.com>
109417         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
109419         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
109421 2005-10-17  Bruno Haible  <bruno@clisp.org>
109423         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
109424         that it can also be used in a test.
109426 2005-10-16  Bruno Haible  <bruno@clisp.org>
109428         * gnulib-tool (func_emit_tests_Makefile_am): Also define
109429         TESTS_ENVIRONMENT, so that individual tests can augment it.
109431         * gnulib-tool (func_create_testdir): Use an intermediate target for
109432         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
109433         macros, like $(ALLOCA_H), which cannot be passed through the command
109434         line.
109436 2005-10-15  Simon Josefsson  <jas@extundo.com>
109438         * modules/rijndael-tests: New file.
109440         * modules/rijndael: New file.
109442 2005-10-15  Simon Josefsson  <jas@extundo.com>
109444         * m4/rijndael.m4: New file.
109446 2005-10-15  Simon Josefsson  <jas@extundo.com>
109448         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
109450         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
109452 2005-10-14  Simon Josefsson  <jas@extundo.com>
109454         * tests/test-arcfour.c: New file.
109456         * modules/arcfour, modules/arcfour-tests: New files.
109458 2005-10-14  Simon Josefsson  <jas@extundo.com>
109460         * m4/arcfour.m4: New file.
109462 2005-10-14  Simon Josefsson  <jas@extundo.com>
109464         * lib/arcfour.h, lib/arcfour.c: New files.
109466 2005-10-14  Roland McGrath  <roland@redhat.com>
109468         Import from libc.  [BZ #1331]
109469         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
109470         macro argument.
109471         Reported by Matej Vela <vela@debian.org>.
109473 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
109475         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
109476         include <wchar.h>; no longer needed.
109478 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
109480         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
109482 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
109483         and  Ulrich Drepper  <drepper@redhat.com>
109485         Import from libc.
109486         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
109487         instead of inline stream orientation test and two separate
109488         function calls.  Pay no attention to USE_IN_LIBIO.
109490 2005-10-13  Simon Josefsson  <jas@extundo.com>
109492         * modules/gc-hmac-md5-tests: New file.
109494         * tests/test-gc-hmac-sha1.c: New file.
109496         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
109498         * modules/gc-hmac-md5-tests: New file.
109500         * tests/test-gc-md5.c: New file.
109502         * modules/gc-md5-tests: New file.
109504 2005-10-13  Simon Josefsson  <jas@extundo.com>
109506         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
109507         Move memory allocation outside of loop.
109509 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
109511         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
109512         intermediate directory is in a read-only file system.  Problem
109513         reported by Eric Blake.
109515 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
109517         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
109519 2005-10-12  Simon Josefsson  <jas@extundo.com>
109521         * tests/test-hmac-sha1.c: New file.
109523         * modules/hmac-sha1-tests: New file.
109525         * modules/hmac-sha1: New file.
109527 2005-10-12  Simon Josefsson  <jas@extundo.com>
109529         * modules/gc-sha1: New file.
109531 2005-10-12  Simon Josefsson  <jas@extundo.com>
109533         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
109535         * tests/test-gc-pbkdf2-sha1.c: New file.
109537 2005-10-12  Simon Josefsson  <jas@extundo.com>
109539         * modules/gc-md5, modules/gc-hmac-md5: New files.
109541         * modules/gc (Files): Remove md5, memxor and hmac files.
109543 2005-10-12  Simon Josefsson  <jas@extundo.com>
109545         * m4/gc-pbkdf2-sha1.m4: New file.
109547         * m4/gc-hmac-sha1.m4: New file.
109549         * m4/gc-sha1: New file.
109551         * m4/hmac-sha1.m4: New file.
109553 2005-10-12  Simon Josefsson  <jas@extundo.com>
109555         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
109557         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
109559 2005-10-12  Simon Josefsson  <jas@extundo.com>
109561         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
109562         suggested by Bruno Haible <bruno@clisp.org>.
109564 2005-10-12  Simon Josefsson  <jas@extundo.com>
109566         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
109568 2005-10-12  Simon Josefsson  <jas@extundo.com>
109570         * lib/gc-pbkdf2-sha1.c: New file.
109572         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
109574 2005-10-12  Simon Josefsson  <jas@extundo.com>
109576         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
109578         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
109580 2005-10-12  Simon Josefsson  <jas@extundo.com>
109582         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
109583         GC_USE_HMAC_MD5, respectively.
109585         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
109586         (gc_md5): Fix typo.
109588         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
109590         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
109592         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
109594 2005-10-12  Bruno Haible  <bruno@clisp.org>
109596         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
109597         Reported by Stepan Kasal <kasal@ucw.cz>.
109599 2005-10-11  Simon Josefsson  <jas@extundo.com>
109601         * tests/test-crc.c: New file.
109603         * modules/crc, modules/crc-tests: New files.
109605 2005-10-11  Simon Josefsson  <jas@extundo.com>
109607         * m4/crc.m4: New file.
109609 2005-10-11  Simon Josefsson  <jas@extundo.com>
109611         * lib/gc.h: Add gc_hash and gc_hash_buffer.
109613         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
109615         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
109617 2005-10-11  Simon Josefsson  <jas@extundo.com>
109619         * lib/crc.h, lib/crc.c: New files.
109621         * lib/gc.h (gc_hash_buffer): Add doc.
109623 2005-10-11  Bruno Haible  <bruno@clisp.org>
109625         * modules/c-strcasestr: New file.
109626         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
109628 2005-10-11  Bruno Haible  <bruno@clisp.org>
109630         * modules/c-strcase: New file.
109631         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
109633 2005-10-11  Bruno Haible  <bruno@clisp.org>
109635         * lib/strcasecmp.c: Include limits.h.
109636         (strcasecmp): Avoid integer overflow on exotic platforms.
109637         * lib/strncasecmp.c: Include limits.h.
109638         (strncasecmp): Avoid integer overflow on exotic platforms.
109639         Reported by Paul Eggert.
109641 2005-10-11  Bruno Haible  <bruno@clisp.org>
109643         * lib/c-strcasestr.h: New file, from GNU gettext.
109644         * lib/c-strcasestr.c: New file, from GNU gettext.
109646 2005-10-11  Bruno Haible  <bruno@clisp.org>
109648         * lib/c-strcase.h: New file, from GNU gettext.
109649         * lib/c-strcasecmp.c: New file, from GNU gettext.
109650         * lib/c-strncasecmp.c: New file, from GNU gettext.
109652 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
109654         * modules/mempcpy (License): GPL -> LGPL.
109655         * modules/strchrnul (License): Likewise.
109656         * modules/sysexits (License): Likewise.
109658 2005-10-08  Simon Josefsson  <jas@extundo.com>
109660         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
109662 2005-10-07  Simon Josefsson  <jas@extundo.com>
109664         * m4/memxor.m4: Remove gl_C_RESTRICT call.
109666 2005-10-06  Simon Josefsson  <jas@extundo.com>
109668         * tests/test-hmac-md5.c: New file.
109670         * modules/hmac-md5-tests: New file.
109672         * modules/hmac-md5: New file.
109674 2005-10-06  Simon Josefsson  <jas@extundo.com>
109676         * m4/hmac-md5.m4: New file.
109678         * m4/memxor.m4: Require gl_C_RESTRICT.
109680 2005-10-06  Simon Josefsson  <jas@extundo.com>
109682         * lib/memxor.c (memxor): Avoid casts and warnings.
109684 2005-10-06  Simon Josefsson  <jas@extundo.com>
109686         * lib/hmac-md5.c: New file.
109688         * lib/hmac.h: New file.
109690 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
109692         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
109693         promotes to int, not unsigned int, to catch the AIX 5.3
109694         compiler bug.
109696 2005-10-05  Simon Josefsson  <jas@extundo.com>
109698         * modules/memxor: New file.
109700         * modules/iconv (Files): Move config.rpath to havelib, it is used
109701         there.
109703         * modules/havelib (Files): Add config.rpath.
109705 2005-10-05  Simon Josefsson  <jas@extundo.com>
109707         * m4/memxor.m4: New file.
109709 2005-10-05  Simon Josefsson  <jas@extundo.com>
109711         * lib/memxor.c (memxor): Fix compiler error.
109713         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
109714         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
109716         * lib/memxor.h, lib/memxor.c: New files.
109718         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
109719         we assume all systems have it, suggested by Jim Meyering
109720         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
109721         any systems lack sys/socket.h; mingw32 is known to lack it, but we
109722         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
109723         same reasons.
109725 2005-10-05  Simon Josefsson  <jas@extundo.com>
109727         * config/srclist.txt: Add glibc bug 1423 for md5.h.
109729 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
109731         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
109732         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
109733         needed, since the source code now assumes these .h files.
109735 2005-10-05  Derek Price  <derek@ximbiot.com>
109737         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
109739 2005-10-05  Bruno Haible  <bruno@clisp.org>
109741         * modules/stdint (License): Change to LGPL.
109743 2005-10-04  Simon Josefsson  <jas@extundo.com>
109745         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
109746         D. Baushke" <mdb@gnu.org>.
109748 2005-10-04  Bruno Haible  <bruno@clisp.org>
109750         * lib/verify.h (verify_true): Provide alternative definition for C++.
109752 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
109754         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
109755         (SSIZE_MAX): New macro, if not already defined.
109756         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
109757         than 2 GiB.
109759 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
109761         Sync from coreutils.
109762         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
109763         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
109764         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
109765         ULLONG_MAX doesn't work with 2.7.2.1.
109767 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
109769         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
109770         From Ben Pfaff.
109772         * modules/exclude (Depends-on): Depend on verify.
109773         * modules/strtoimax (Depends-on): Likewise.
109774         * modules/utimecmp (Depends-on): Likewise.
109776 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
109778         * lib/exclude.c: Include verify.h.
109779         (verify): Remove.  All callers changed to use verify.h's version.
109780         * lib/strtoimax.c: Likewise.
109781         * lib/utimecmp.c: Likewis.e
109783         Sync from coreutils.
109784         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
109785         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
109786         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
109787         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
109788         bother returning ENOSYS if settimeofday or stime fails; just let
109789         them return whatever errno they want to return.
109790         * lib/utimens.c: Include unistd.h, for dup2.
109791         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
109792         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
109794 2005-10-02  Jim Meyering  <jim@meyering.net>
109796         Sync from coreutils.
109797         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
109798         from glibc-2.2.5 that fails for read-only files.
109800 2005-10-02  Jim Meyering  <jim@meyering.net>
109802         Sync from coreutils.
109803         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
109804         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
109805         `#if HAVE_CONFIG_H'.
109806         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
109807         Remove AT_FDCWD test.
109808         Do not consume the fd unless successful.
109809         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
109810         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
109811         block, so that we don't even try to compile it if settimeofday is
109812         available.  This works around a compilation failure on OSF1 V5.1,
109813         due to stime requiring a `long int*' while tv_sec is `int'.
109815 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
109817         Sync from coreutils.
109818         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
109819         against `yes', rather than just testing for nonempty.
109821 2005-10-01  Simon Josefsson  <jas@extundo.com>
109823         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
109824         and Darwin.
109826         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
109827         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
109828         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
109829         freeaddrinfo and gai_strerror are declared by the POSIX headers.
109830         Check if struct addrinfo is declared.
109832 2005-10-01  Simon Josefsson  <jas@extundo.com>
109834         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
109835         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
109836         AI_* and EAI_* definitions.  Protect function declarations.
109838 2005-10-01  Jim Meyering  <jim@meyering.net>
109840         Sync from coreutils.
109842         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
109843         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
109844         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
109845         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
109846         in the inet and nsl libraries.  Required on Solaris 5.7.
109848 2005-10-01  Jim Meyering  <jim@meyering.net>
109850         Sync from coreutils.
109851         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
109852         in the inet and nsl libraries.  Required on Solaris 5.7.
109854 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
109856         * lib/getdelim.c (getdelim): Remove unused variables.
109858 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
109860         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
109861         so that the code works even with ancient cpp.  Portability problem
109862         with GCC 2.7.2.1 reported by Thomas M.Ott.
109864 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
109866         * modules/regex (Depends-on): Add strcase.
109868         * modules/gethostname (Licence): Change from GPL to LGPL, since
109869         gethostname.c is a trivial implementation of a standard library
109870         function.
109871         * modules/poll (License): Change from GPL to LGPL, since it's
109872         derived from LGPL code.
109874 2005-09-27  Jim Meyering  <jim@meyering.net>
109876         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
109877         HAVE_CONFIG_H.
109879         * lib/intprops.h (signed_type_or_expr__): Define.
109880         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
109881         for unsigned types.
109883 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
109885         * lib/verify.h (verify_expr): Remove, replacing with:
109886         (verify_true): New macro that returns true instead of void.
109887         (verify_type__): Remove.
109888         (verify): Use verify_true rather than verify_type__.
109890 2005-09-26  Bruno Haible  <bruno@clisp.org>
109892         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
109893         is necessary.
109894         (lib_SOURCES): Remove mbchar.c.
109895         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
109896         (Files): Add m4/mbrtowc.m4.
109897         * modules/mbiter: Likewise.
109898         * modules/mbuiter: Likewise.
109900 2005-09-26  Bruno Haible  <bruno@clisp.org>
109902         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
109903         compile mbchar.c if they are not both present.
109904         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
109905         * m4/mbiter.m4 (gl_MBITER): Likewise.
109906         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
109907         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
109908         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
109910 2005-09-25  Jim Meyering  <jim@meyering.net>
109912         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
109913         also uses socklen_t.
109915 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
109917         * lib/utimens.c (ENOSYS): Define if not already defined.
109918         (futimens): Support having a null PATH if the file descriptor
109919         is nonnegative.
109921         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
109922         Remove.
109923         (__attribute): Define to empty unless GCC 3.1 or later.
109924         This works around a core dump on OpenBSD 3.4, which has GCC
109925         2.95.3, which dumps core when given __attribute__(()).  It also
109926         simplifies other tests, since we really don't want to bother with
109927         worrying about which ancient version of GCC supported what.
109928         Original problem reported by Yoann Vandoorselaere, with part of
109929         the fix suggested by Derek Price.
109931 2005-09-24  Jim Meyering  <jim@meyering.net>
109933         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
109934         so we can once again use a positive bitfield width of 1 -- now we
109935         don't have to explain why we were using a bitfield width of 2.
109937 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
109939         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
109940         and similarly for the other external symbols.  Problem reported
109941         by James Gallager.
109943         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
109944         bug reported by Jim Meyering.
109946         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
109947         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
109948         not needed, since socklen is a prerequisite module.
109950 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
109952         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
109953         Problem reported by Eric Blake.
109954         (getaddrinfo): Initialize se so that it's not garbage.
109955         Redo internal storage allocation so that it doesn't make unportable
109956         assumptions about alignment.
109957         Fix a memory leak.
109959         * lib/utimens.c (futimens): Use futimesat if available.
109960         Prefer it to futimes since it doesn't have the futimes bug.
109962         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
109963         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
109964         Instead, declare a function that returns a pointer to an array,
109965         and use verify_type__ to declare the size of the array.
109966         Problem and germ of a solution reported by Bruno Haible.
109967         (verify_type__): Use 2, not 1, for bitfield size, to avoid
109968         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
109970 2005-09-23  Jim Meyering  <jim@meyering.net>
109972         Sync from coreutils.
109973         Correct build failure (socklen_t not defined) on at least
109974         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
109975         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
109977 2005-09-23  Jim Meyering  <jim@meyering.net>
109979         * modules/getaddrinfo (Depends-on): Add socklen.
109981 2005-09-23  Bruno Haible  <bruno@clisp.org>
109983         * tests/test-verify.c: New file.
109985 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
109987         Sync from coreutils.
109989         * modules/argmatch (Depends-on): Add verify.
109990         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
109991         unistd-safer.
109992         * modules/save-cwd (Depends-on): Likewise.
109994         * modules/openat (Files): Add lib/openat-die.c.
109995         (Depends-on): Remove error, exitfail.
109996         Add dirname.
109998         * modules/verify: New file.
109999         * MODULES.html.sh (Diagnostics <assert.h>): New section,
110000         with "verify" module.
110002 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
110004         Sync from coreutils.
110006         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
110007         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
110008         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
110009         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
110010         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
110011         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
110012         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
110013         Don't bother checking for string.h, stdlib.h, unistd.h.
110014         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
110015         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
110016         module's job.
110017         * m4/jm-macros.m4 (gl_MACROS): Likewise.
110018         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
110020         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
110021         (gl_GETDATE): Use it.
110023         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
110025 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
110027         Sync from coreutils.
110029         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
110030         stat-time.h.
110031         * lib/argmatch.h: Include verify.h
110032         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
110033         (ARGMATCH_ASSERT): Remove; unused.
110034         * lib/canonicalize.c: Assume STDC_HEADERS.
110035         * lib/exclude.c: Include "strcase.h".
110036         * lib/regex_internal.h [!defined _LIBC]: Likewise.
110037         * lib/getusershell.c: Include stdio--.h rather than stdio.h
110038         and stdio-safer.h.
110039         (getusershell): Call fopen, not fopen_safer.
110040         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
110041         Do not include unistd-safer.h.
110042         (save_cwd): Don't call fd_safer; no longer needed
110043         now that we include fcntl--.h.
110045         * lib/getdate.y (relative_time): New type.
110046         (RELATIVE_TIME_0): New constant.
110047         (parser_control): Use relative_time instead of doing it ourselves.
110048         (%union): Add new relative_time rel member.
110049         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
110050         Now typeless.
110051         (relunit, relunit_snumber): Now of type rel.
110052         (zone, rel, relunit, get_date): Adjust to above changes.
110054         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
110055         Do not include unistd-safer.h.
110056         (getloadavg): Don't call fd_safer; no longer needed
110057         now that we include fcntl--.h.
110059         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
110060         (make_dir_parents): Treat ENOSYS like EEXIST.
110062         Improve quality of diagnostics on restore_cwd failure.
110063         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
110064         (make_dir_parents): Last arg is now int * (for errno), not bool *.
110065         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
110066         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
110067         each time through the loop.  Do not diagnose restore_cwd failure;
110068         that is the caller's job (and perhaps the caller does not care).
110070         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
110071         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
110072         If the file already exists but is not a directory, don't bother
110073         to try to make its parents.
110074         Close potential file descriptor leak if we can't chdir("/") (!).
110075         Don't always return true if chdir($PWD) fails; return true only
110076         if the requested action was done successfully (except for the
110077         chdir($PWD)).
110078         Don't log final directory unless we actually made it.
110079         Refactor to avoid duplicate code to fix up permissions.
110080         Don't attempt to fix up parent permissions if chdir($PWD) fails.
110082         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
110083         to make it a bit faster and (I hope) clearer.
110084         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
110085         Fix bug in formats like %2N.
110087         * lib/verify.h: New file.
110089 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
110091         Sync from coreutils.
110092         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
110094 2005-09-22  Jim Meyering  <jim@meyering.net>
110096         Sync from coreutils.
110098         * m4/lstat.m4 (gl_FUNC_LSTAT):
110099         Use AC_LIBSOURCES to require lstat.c and lstat.h.
110100         Remove obsolete comment.
110101         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
110102         * m4/xstrtod.m4: Likewise.
110104         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
110106 2005-09-22  Jim Meyering  <jim@meyering.net>
110108         Sync from coreutils.
110110         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
110112         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
110113         the .tm_year member, since otherwise gcc-4.0 would now warn about
110114         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
110116         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
110117         order to avoid an unsuppressible warning from gcc on 64-bit systems.
110119         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
110120         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
110121         when run in a time zone for which daylight savings time is in effect
110122         for the starting date.
110124         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
110125         stop us from restricting permissions of just-created absolute-named
110126         directories.
110127         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
110128         to restore initial working directory.
110129         * lib/mkdir-p.c (make_dir_parents): New parameter:
110130         different_working_dir, to tell caller if/when we change the working
110131         directory and are unable to return to the initial one.
110132         * lib/mkdir-p.h (make_dir_parents): Update prototype.
110133         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
110134         `return false'.  This fixes a bug introduced on 2004-07-30.
110136         * lib/openat.c (fdopendir): Be sure to close the supplied
110137         file descriptor before returning.  This makes our replacement
110138         implementation a little closer to Solaris's, where fdopendir
110139         ties the file descriptor to the returned DIR* pointer.
110140         * lib/openat.c (unlinkat): New function.
110141         * lib/openat.h (unlinkat): Add prototype.
110142         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
110143         (openat_restore_fail): Rename from openat_restore_die.
110144         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
110146         Provide an alternative to exiting immediately upon save_cwd or
110147         restore_cwd failure.  Now, an application can arrange e.g.,
110148         to perform a longjump in that case.
110149         * lib/openat.c: Include dirname.h.
110150         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
110151         (rpl_openat, fdopendir, fstatat): Call openat_save_die
110152         and openat_restore_die rather than calling error directly.
110153         Don't include "error.h" or "exitfail.h"; they're no longer needed.
110155         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
110156         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
110157         define.
110159         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
110160         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
110161                             int utc, int nanoseconds);
110162         Background:
110163         date should not have to allocate a megabyte of virtual memory to
110164         handle a format argument like +%1048575T.  When implemented with
110165         strftime, it must allocate such a buffer, use strftime to fill it
110166         in, print it, then free it.
110167         With fprintftime, it simply prints everything and exits.
110168         With no need for memory allocation, that's one fewer way to fail.
110169         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
110170         optional field width, not before, so we accept %9:z, not %:9z.
110171         (my_strftime): Be sure to use L_('x') for literals.
110173         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
110174         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
110175         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
110176         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
110177         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
110178         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
110179         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
110180         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
110181         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
110182         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
110183         * lib/xgethostname.c, lib/xreadlink.c:
110184         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
110186         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
110187         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
110188         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
110189         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
110190         and don't include <sys/file.h>).
110192 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
110194         Sync from coreutils.
110196         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
110197         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
110198         [!LDAV_DONE]: Avoid unused variable warning.
110200 2005-09-21  Bruno Haible  <bruno@clisp.org>
110202         * lib/unicodeio.h (unicode_to_mb): New declaration.
110204 2005-09-20  Derek Price  <derek@ximbiot.com>
110206         * lib/getaddrinfo.c: Don't include <netdb.h> included from
110207         getaddrinfo.h.
110209 2005-09-20  Bruno Haible  <bruno@clisp.org>
110211         * gnulib-tool: Remove trailing slashes from the values specified for
110212         --source-base, --m4-base, --tests-base, --aux-dir.
110213         Suggested by Simon Josefsson <jas@extundo.com>.
110215 2005-09-20  Bruno Haible  <bruno@clisp.org>
110217         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
110218         func_modules_to_filelist, func_import, func_create_testdir): Make all
110219         sorting results locale-independent, so that gnulib-cache.m4 doesn't
110220         change when gnulib-tool is invoked in a different locale.
110222 2005-09-19  Simon Josefsson  <jas@extundo.com>
110224         * m4/socklen.m4: Fix typo.
110226 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110228         Use a consistent style for including <config.h>.
110229         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
110230         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
110231         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
110232         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
110233         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
110234         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
110235         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
110236         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
110237         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
110238         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
110239         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
110240         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
110241         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
110242         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
110243         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
110244         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
110245         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
110246         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
110247         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
110248         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
110249         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
110250         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
110251         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
110252         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
110253         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
110254         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
110255         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
110256         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
110257         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
110258         lib/xstrtoumax.c, lib/yesno.c:
110259         Standardize inclusion of config.h.
110260         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
110261         lib/inttostr.h:  Removed inclusion of config.h from header files.
110262         * lib/inttostr.c:  Adjusted in-tree users.
110263         * lib/timespec.h: Remove superfluous warning to include config.h.
110264         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
110265         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
110266         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
110267         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
110268         config.h with HAVE_CONFIG_H.
110270 2005-09-19  Jim Meyering  <jim@meyering.net>
110272         * modules/pathmax (License): Change to LGPL.
110274 2005-09-19  Derek Price  <derek@ximbiot.com>
110276         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
110278 2005-09-19  Bruno Haible  <bruno@clisp.org>
110280         * gnulib-tool (import): Provide default for --tests-base.
110282 2005-09-19  Bruno Haible  <bruno@clisp.org>
110284         * doc/quote.texi: New file, extracted from gnulib.texi.
110285         * doc/ctime.texi: New file, extracted from gnulib.texi.
110286         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
110287         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
110288         * doc/gnulib.texi: Include them.
110290 2005-09-18  Bruno Haible  <bruno@clisp.org>
110292         Portability fix.
110293         * gnulib-tool (func_readlink): New function.
110294         (func_ln_if_changed): Use it.
110296 2005-09-18  Bruno Haible  <bruno@clisp.org>
110298         * gnulib-tool: Support --with-tests also with --import.
110299         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
110300         (func_import): Use variables $testsbase and $inctests. Emit a
110301         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
110302         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
110303         SUBDIRS += $testsdir.
110304         (func_create_testdir): Update.
110306 2005-09-18  Bruno Haible  <bruno@clisp.org>
110308         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
110309         instead of $dry_run.
110310         (func_cp_if_changed, func_mv_if_changed): Remove functions.
110311         (func_ln_if_changed): Don't handle dry-run here.
110312         (func_import): In dry-run mode, detect more precisely which actions
110313         would be performed, and don't use "...ing" verbs.
110315 2005-09-18  Bruno Haible  <bruno@clisp.org>
110317         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
110318         (func_import): Use join on two temporary files instead of three nested
110319         loops, in order to determine which files are new or old.
110321 2005-09-18  Bruno Haible  <bruno@clisp.org>
110323         * gnulib-tool (func_import): Comment out code that spits out the
110324         new files with --dry-run.
110326 2005-09-18  Bruno Haible  <bruno@clisp.org>
110328         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
110330 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
110332         * lib/stat-time.h: New file.
110333         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
110334         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
110335         in a different way.
110336         (timespec_cmp): New function.
110337         * lib/utimecmp.c: Include stat-time.h.
110338         (SYSCALL_RESOLUTION): Depend on whether various struct stat
110339         members exist, not on the obsolescent ST_MTIM_NSEC.
110340         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
110342 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
110344         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
110346 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
110348         * MODULES.html.sh (File system functions): Add stat-time.
110349         * modules/stat-time: New file.
110350         * modules/timespec (Files): Remove m4/st_mtim.m4; this
110351         is now done in a different way, by the stat-time module.
110352         * modules/utimecmp (Depends-on): Add stat-time.
110354 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
110356         * m4/st_mtim.m4: Remove.  Superseded by...
110357         * m4/stat-time.m4: New file.
110358         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
110359         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
110361 2005-09-15  Derek Price  <derek@ximbiot.com>
110363         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
110365 2005-09-15  Derek Price  <derek@ximbiot.com>
110367         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
110368         * lib/regex_internal.c: Ditto, using this...
110369         (__GNUC_PREREQ): ...new macro.
110370         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
110371         using...
110372         (__GNUC_PREREQ): ...this new macro.
110374         * lib/strstr.h: Include string.h. Define strstr as a macro here.
110376 2005-09-15  Derek Price  <derek@ximbiot.com>
110377             Paul Eggert  <eggert@cs.ucla.edu>
110379         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
110380         changes, consolidating in...
110381         * lib/regex_internal.h: ...this file.
110383 2005-09-13  Jim Meyering  <jim@meyering.net>
110385         * lib/canon-host.c: Filter through gnu indent and reword comments
110386         slightly.
110387         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
110389 2005-09-13  Derek Price  <derek@ximbiot.com>
110391         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
110392         failure.
110393         Reported by Jim Meyering  <jim@meyering.net>.
110395 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
110397         * lib/base64.c: Typo.
110398         (base64_encode): Put b64str in initialized data section.
110400 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
110402         Merge glibc and coreutils changes into gnulib, plus a few
110403         extra fixes.
110404         * lib/md5.c: Use #error rather than a string.
110405         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
110406         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
110407         (__attribute__): Define to empty for non recent-GCC.
110408         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
110409         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
110410         Renamed from their non-__ counterparts, with new macros replacing
110411         them if not _LIBC.  Add __THROW attribute.
110412         (rol): Remove.
110413         (struct md5_ctx): Align buffer if using GCC.
110414         * lib/sha1.h (struct sha1_ctx): Likewise.
110415         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
110416         The old name was backwards.
110417         (NOTSWAP): Remove; not used.
110418         (rol): New macro, moved here from md5.h.
110419         (sha1_process_block): Remove a FIXME that doesn't make sense.
110421 2005-09-12  Derek Price  <derek@ximbiot.com>
110423         Return usable errors from canon-host.
110424         * lib/canon-host.h: New file.
110425         * lib/canon-host.c (canon_host): Wrap...
110426         (canon_host_r): ...this new function, which now relies exclusively on
110427         getaddrinfo.
110428         (ch_strerror): New function.
110429         (last_cherror): New global.
110430         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
110431         interface.
110432         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
110433         void *.
110434         (freeaddrinfo): Free ai->ai_canonname when set.
110436 2005-09-12  Derek Price  <derek@ximbiot.com>
110438         Make canon-host require getaddrinfo.
110439         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
110440         AC_LIBSOURCE canon-host.h.  Call...
110441         (gl_PREREQ_CANON_HOST): ...this new function, which requires
110442         gl_GETADDRINFO.
110443         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
110445 2005-09-12  Derek Price  <derek@ximbiot.com>
110447         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
110448         LGPL.
110449         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
110451 2005-09-12  Derek Price  <derek@ximbiot.com>
110453         * lib/gai_strerror.c: Include config.h when available.  Include
110454         getaddrinfo.h before other headers to test interface.
110455         Reported by Larry Jones <lawrence.jones@ugs.com>.
110457 2005-09-12  Derek Price  <derek@ximbiot.com>
110458             Paul Eggert  <eggert@cs.ucla.edu>
110460         * modules/glob (Files): Add glob-libc.h.
110462 2005-09-12  Derek Price  <derek@ximbiot.com>
110463             Paul Eggert  <eggert@cs.ucla.edu>
110465         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
110466         glob_.h, glob-libc.h.
110467         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
110469 2005-09-12  Derek Price  <derek@ximbiot.com>
110470             Paul Eggert  <eggert@cs.ucla.edu>
110472         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
110473         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
110474         protecting things that should be done only in gnulib contexts.
110475         * lib/glob_.h: New file, containing only the glob things needed for
110476         gnulib.
110477         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
110478         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
110479         (glob, globfree, glob_pattern_p): Now defined simply in terms of
110480         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
110481         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
110482         and to respect the namespace rules better.
110484 2005-09-08  Simon Josefsson  <jas@extundo.com>
110486         * modules/socklen: New file.
110488 2005-09-08  Simon Josefsson  <jas@extundo.com>
110490         * m4/socklen.m4: New file.
110492 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
110494         * modules/utimens (Files): Add m4/utimbuf.m4, since
110495         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
110496         Reported by Sergey Poznyakoff.
110498 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
110500         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
110501         definitions, since that's the preferred style in glibc.
110502         Fix a minor spacing issue, and update copyright notice to match
110503         glibc's.
110505 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
110507         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
110509 2005-09-06  Simon Josefsson  <jas@extundo.com>
110511         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
110512         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
110514 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
110516         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
110517         warning.
110519 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
110521         * config/srclist.txt: Add glibc bug 1302.
110523 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
110525         Change bitset word type from unsigned int to unsigned long int,
110526         as this has better performance on typical 64-bit hosts.
110527         Port bitset code to hosts with unusual word sizes.
110528         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
110529         (build_collating_symbol):
110530         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
110531         argument is a bitset.  This is merely a style issue, but it makes
110532         it clearer that an entire array is expected.
110533         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
110534         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
110535         Port to the case where bitset_word is not the same as unsigned int.
110536         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
110537         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
110538         Likewise.
110539         * lib/regexec.c (check_dst_limits_calc_pos_1,
110540         check_subexp_matching_top):
110541         (build_trtable, group_nodes_into_DFAstates):
110542         Likewise.
110543         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
110544         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
110545         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
110546         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
110547         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
110548         * lib/regcomp.c (optimize_subexps, lower_subexp):
110549         Work even if bitset_word has holes in its bitwise representation.
110550         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
110551         * lib/regexec.c (check_dst_limits_calc_pos_1,
110552         check_subexp_matching_top):
110553         Likewise.
110554         * lib/regex_internal.c (re_string_reconstruct):
110555         Don't assume UCHAR_MAX == 255.
110556         * lib/regex_internal.h (bitset_set_all): Likewise.
110557         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
110558         All uses changed.
110559         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
110560         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
110561         All uses changed.
110562         (BITSET_WORD_MAX): New macro.
110563         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
110564         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
110565         (bitset_empty, bitset_copy):
110566         Prefer sizeof (bitset) to multiplying it out ourselves.
110567         (bitset_not_merge): Remove; unused.
110568         (bitset_contain): Return bool, not unsigned int with one bit on.
110569         All callers changed.
110570         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
110571         alignment than re_node_set; do this by defining a new internal
110572         type struct dests_alloc and using it to allocate memory.
110574 2005-09-05  Bruno Haible  <bruno@clisp.org>
110576         * gnulib-tool (func_import): Fix comparison in handling of symbolic
110577         links.
110579 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
110581         * modules/size_max (Makefile.am): Add size_max.h
110583 2005-09-04  Derek Price  <derek@ximbiot.com>
110585         * gnulib-tool (func_import): Fix reversed $symbolic logic.
110587 2005-09-03  Simon Josefsson  <jas@extundo.com>
110589         * gnulib-tool: Fix typo.
110591 2005-09-03  Simon Josefsson  <jas@extundo.com>
110593         * config/srclist.txt: Add glibc bug 1293.
110595 2005-09-03  Derek Price  <derek@ximbiot.com>
110597         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
110598         From Larry Jones <lawrence.jones@ugs.com>.
110600 2005-09-02  Simon Josefsson  <jas@extundo.com>
110602         * modules/socklen: New file.
110604 2005-09-02  Simon Josefsson  <jas@extundo.com>
110606         * modules/havelib: New module.
110608         * modules/gettext, modules/iconv, modules/lock, modules/readline:
110609         Use havelib.
110611 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
110613         Check for arithmetic overflow when calculating sizes, to prevent
110614         some buffer-overflow issues.  These patches are conservative, in the
110615         sense that when I couldn't determine whether an overflow was possible,
110616         I inserted a run-time check.
110617         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
110618         macros.
110619         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
110620         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
110621         (re_xnrealloc, re_x2nrealloc): New inline functions.
110622         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
110623         parse_bracket_exp):
110624         (build_equiv_class, build_charclass): Check for arithmetic overflow
110625         in size expression calculations.
110626         * lib/regex_internal.c (re_string_realloc_buffers):
110627         (build_wcs_upper_buffer, re_node_set_add_intersect):
110628         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
110629         (re_dfa_add_node, register_state): Likewise.
110630         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
110631         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
110632         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
110633         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
110635 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
110637         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
110638         m4/ulonglong.m4.  Problem reported by Martin Lambers.
110640 2005-09-02  Bruno Haible  <bruno@clisp.org>
110642         Support for lib vs. lib64 distinction on biarch platforms.
110643         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
110644         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
110645         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
110647 2005-09-02  Bruno Haible  <bruno@clisp.org>
110649         * gnulib-tool (import): In the other first-use case, provide defaults
110650         as well.
110652 2005-09-02  Bruno Haible  <bruno@clisp.org>
110654         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
110655         patches not yet found in the latest gettext release.
110657 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
110659         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
110660         to avoid a collision with bits/local_lim.h in glibc.
110661         All uses changed.  Problem reported by Dmitry V. Levin in
110662         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
110664         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
110665         bugs in int versus size_t comparisons.
110666         (re_string_context_at): Fix bug where the code assumed that
110667         Idx is signed.
110669         Use bool where appropriate.
110670         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
110671         All callers changed.
110672         (calc_eclosure_iter): Likewise, for ROOT arg.
110673         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
110674         (build_charclass_op): Likewise, for NON_MATCH arg.
110675         * lib/regex_internal.c (re_string_allocate, re_string_construct):
110676         (re_string_construct_common): Likewise, for ICASE arg.
110677         * lib/regexec.c (re_search_2_stub, re_search_stub):
110678         Likewise, for RET_LEN arg.
110679         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
110680         (set_regs): Likewise, for FL_BACKTRACK arg.
110681         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
110682         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
110683         (calc_eclosure_iter, parse_bracket_exp):
110684         Use bool for internal variables that are booleans.
110685         * lib/regexec.c (re_search_internal, check_matching,
110686         proceed_next_node):
110687         (set_regs, build_sifted_states, sift_states_bkref):
110688         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
110689         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
110690         (find_collation_sequence_value):
110691         Likewise.
110692         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
110693         (re_node_set_compare):
110694         Return bool, not int. All callers changed.
110695         * lib/regexec.c (check_halt_node_context, check_dst_limits):
110696         (build_trtable, check_node_accept): Likewise.
110697         * lib/regex_internal.h: Include stdbool.h.
110699         Fix bugs uncovered when converting to bool.
110700         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
110701         failure instead of charging ahead blindly.
110702         * lib/regex_internal.c (register_state): Likewise.
110703         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
110704         for freeing internal storage.
110705         (group_nodes_into_DFA_states): Use unsigned int, not int, for
110706         bitset pieces used as boolean, to avoid undefined behavior
110707         on hosts that do int overflow checking.
110709 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
110711         * config/srclist.txt: Add glibc bugs 1285-1287.
110713 2005-09-01  Jim Meyering  <jim@meyering.net>
110715         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
110716         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
110717         Require gl_STAT_MACROS, too.
110719 2005-09-01  Bruno Haible  <bruno@clisp.org>
110721         * gnulib-tool (import): In the first-use case, provide defaults.
110723 2005-09-01  Bruno Haible  <bruno@clisp.org>
110725         * gnulib-tool (func_import): Remove the .tmp files.
110727 2005-09-01  Bruno Haible  <bruno@clisp.org>
110729         * gnulib-tool (func_import): Fix handling of symbolic links.
110731 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
110733         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
110734         old glibc regex code mishandles strings longer than 2**31 bytes.
110735         This patch fixes this when the regex code is used in gnulib
110736         (i.e., outside glibc).
110738         This patch should not affect the use of the regex code inside
110739         glibc.  No doubt this problem also needs to be handled for glibc
110740         as well, but the result will be an incompatible change to the
110741         glibc ABI, and the old ABI will have to be supported too.  That
110742         can be the subject for another patch.
110744         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
110745         governing whether the rest of this patch is active.  By default,
110746         the macro is disabled and the patch has no effect.
110747         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
110748         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
110749         (struct re_pattern_buffer, re_search, re_search_2, re_match):
110750         (re_match_2, re_set_registers): Use the new types.
110751         * lib/regex_internal.h (Idx, re_hashval_t): New types.
110752         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
110753         New macros.
110754         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
110755         (re_string_context_at, bin_tree_t, re_dfastate_t):
110756         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
110757         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
110758         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
110759         (re_string_char_size_at, re_string_wchar_at):
110760         (re_string_elem_size_at):
110761         Use the new types and macros to port to 64-bit hosts.
110762         Use unsigned types for internal values, so that the code
110763         mostly works even for arrays larger than SSIZE_MAX.
110764         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
110765         (search_duplicated_node, calc_eclosure_iter, fetch_number):
110766         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
110767         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
110768         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
110769         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
110770         (calc_inveclosure, parse_dup_op, build_range_exp):
110771         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
110772         (fetch_number, create_token_tree, mark_opt_subexp):
110773         Likewise.
110774         * lib/regex_internal.c (re_string_construct_common,
110775         create_ci_newstate):
110776         (create_cd_newstate, re_string_allocate, re_string_construct):
110777         (re_string_realloc_buffers, build_wcs_upper_buffer):
110778         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
110779         (re_string_reconstruct, re_string_peek_byte_case):
110780         (re_string_fetch_byte_case, re_string_context_at):
110781         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
110782         (re_node_set_init_copy, re_node_set_add_intersect):
110783         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
110784         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
110785         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
110786         (re_acquire_state, re_acquire_state_context, register_state):
110787         Likewise.
110788         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
110789         search_cur_bkref_entry):
110790         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
110791         (re_search_internal, re_search_2_stub, re_search_stub)
110792         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
110793         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
110794         (update_cur_sifted_state, check_dst_limits):
110795         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
110796         (check_subexp_limits, sift_states_bkref, merge_state_array):
110797         (check_subexp_matching_top, get_subexp, get_subexp_sub):
110798         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
110799         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
110800         (expand_bkref_cache, check_node_accept_bytes):
110801         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
110802         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
110803         (acquire_init_state_context, check_halt_node_context):
110804         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
110805         (sift_states_backward, clean_state_log_if_needed):
110806         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
110807         (find_recover_state, transit_state_sb, transit_state_mb):
110808         (transit_state_bkref, build_trtable, match_ctx_clean):
110809         Likewise.
110810         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
110811         to work around an assumption that REG_MISSING is negative.
110813         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
110814         (seek_collating_symbol_entry) [defined _LIBC]:
110815         (lookup_collation_sequence_value) [defined _LIBC]:
110816         (build_range_exp, build_collating_symbol) [defined _LIBC]:
110817         Use prototypes rather than old-style function definitions.
110818         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
110819         (transit_state_sb) [0]:
110820         (find_collation_sequence_value) [defined _LIBC]: Likewise.
110822         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
110823         rm_eo.
110825         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
110826         (optimize_subexps, lower_subexp):
110827         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
110828         since the signed shift might overflow.  Use 1u<<31 instead.
110829         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
110830         Likewise.
110831         * lib/regexec.c (check_dst_limits_calc_pos_1,
110832         check_subexp_matching_top): Likewise.
110834         * lib/regcomp.c (optimize_subexps, lower_subexp):
110835         Use CHAR_BIT rather than 8, for clarity.
110836         * lib/regexec.c (check_dst_limits_calc_pos_1):
110837         (check_subexp_matching_top): Likewise.
110838         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
110839         have to worry about portability issues when shifting it left.
110840         Remove no-longer-needed test for table_size > 0.
110841         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
110842         in a word, as the resulting behavior is undefined.
110843         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
110844         in one case, a <= should have been an <, and in another case the
110845         whole test was missing.
110846         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
110847         the standard name CHAR_BIT.
110848         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
110849         this is not true on one's complement and signed-magnitude hosts.
110851         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
110852         next_last_offset.
110853         (struct re_dfa_t): Remove unused member states_alloc.
110854         * lib/regcomp.c (init_dfa): Don't initialize unused members.
110856 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
110858         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
110859         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
110860         and large-file glibc and in 32-bit large-file Solaris.
110862 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
110864         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
110865         lengths fit in regoff_t; this isn't true if regoff_t is the same
110866         width as size_t.
110867         * lib/regex.c (re_search_internal): 5th arg is LAST_START
110868         (= START + RANGE) instead of RANGE.  This avoids overflow
110869         problems when regoff_t is the same width as size_t.
110870         All callers changed.
110871         (re_search_2_stub): Check for overflow when adding the
110872         sizes of the two strings.
110873         (re_search_stub): Check for overflow when adding START
110874         to RANGE; if it occurs, substitute the extreme value.
110876 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
110878         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
110880 2005-08-31  Jim Meyering  <jim@meyering.net>
110882         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
110883         a pointer-to-const.
110884         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
110885         (register_state): Likewise.
110886         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
110887         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
110888         (group_nodes_into_DFAstates): Likewise.
110890 2005-08-31  Jim Meyering  <jim@meyering.net>
110892         * check-module: Add a FIXME comment.
110894 2005-08-31  Eric Blake  <ebb9@byu.net>
110896         * modules/unistd-safer (Files): Add unistd--.h.
110897         * modules/stdio-safer (Files): Add stdio--.h.
110899 2005-08-31  Derek Price  <derek@ximbiot.com>
110901         * lib/getdelim.c (getdelim): Return EOF on EOF.
110902         Reported by Larry Jones <lawrence.jones@ugs.com>.
110904 2005-08-31  Bruno Haible  <bruno@clisp.org>
110906         Avoid unnecessary diffs in the generated lib/Makefile.am.
110907         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
110908         the generated files.
110909         (func_import): Don't set cmd.
110911 2005-08-31  Bruno Haible  <bruno@clisp.org>
110913         * lib/strstr.c: Include <stddef.h>, for NULL.
110914         * lib/strcasestr.c: Likewise.
110915         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
110917 2005-08-31  Bruno Haible  <bruno@clisp.org>
110919         * gnulib-tool: New option --macro-prefix.
110920         (func_import): Use macro_prefix.
110921         (import): Handle option --macro-prefix.
110923 2005-08-31  Bruno Haible  <bruno@clisp.org>
110925         * gnulib-tool (import): Rename most ac_* variables to cached_*.
110926         Also use new variables cached_lgpl, cached_libtool.
110928 2005-08-31  Bruno Haible  <bruno@clisp.org>
110930         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
110931         always instantiating them.
110933 2005-08-31  Bruno Haible  <bruno@clisp.org>
110935         * gnulib-tool (func_import): Read the previous cached settings
110936         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
110937         earlier added by gnulib but are now dropped. Warn when a gnulib file
110938         overwrites a non-gnulib file.
110940 2005-08-31  Bruno Haible  <bruno@clisp.org>
110942         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
110943         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
110944         projects that don't keep autogenerated files in CVS. Put into
110945         actioncmd only the specified modules, not the transitive closure.
110947 2005-08-31  Bruno Haible  <bruno@clisp.org>
110949         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
110950         Create directories that shall be filled.
110951         (import): Don't look for gl_* macros in configure.ac. Recurse across
110952         all directories containing a gnulib-cache.m4 files, if meaningful.
110954 2005-08-31  Bruno Haible  <bruno@clisp.org>
110956         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
110957         (import): Set seen_libtool when we see gl_LIBTOOL.
110959 2005-08-31  Bruno Haible  <bruno@clisp.org>
110961         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
110962         declaration macro definitions from generated gnulib.m4.
110964 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
110966         * lib/iconvme.h: Add prototype for iconv_alloc.
110968 2005-08-29  Simon Josefsson  <jas@extundo.com>
110970         * lib/iconvme.c: Fix errno.
110972 2005-08-29  Bruno Haible  <bruno@clisp.org>
110974         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
110975         that it works when the directory contains spaces.
110977 2005-08-29  Bruno Haible  <bruno@clisp.org>
110979         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
110981 2005-08-29  Bruno Haible  <bruno@clisp.org>
110983         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
110984         Emit more advice.
110986 2005-08-29  Bruno Haible  <bruno@clisp.org>
110987         and Stepan Kasal  <kasal@ucw.cz>
110989         * check-module: If more parameters are given, check each of them
110990         separately; add more exceptions, as noted by Jim Meyering.
110991         (check_module): New procedure.
110992         (%exempt_header): Now contains all exceptions.
110994 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
110996         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
110998 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
111000         * lib/iconvme.c: Split iconv_string into iconv_alloc.
111002 2005-08-28  Bruno Haible  <bruno@clisp.org>
111004         * m4/gnulib-tool.m4: New file.
111006 2005-08-27  Jim Meyering  <jim@meyering.net>
111008         * modules/unistd-safer (Files): Add pipe-safer.c.
111009         * modules/fcntl-safer (Files): Add creat-safer.c.
111011 2005-08-27  Jim Meyering  <jim@meyering.net>
111013         * m4/stdlib-safer.m4: New file.  From coreutils.
111014         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
111015         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
111016         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
111017         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
111018         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
111020 2005-08-27  Jim Meyering  <jim@meyering.net>
111022         * lib/fopen-safer.c: Merge minor changes from coreutils.
111023         * lib/dup-safer.c: Likewise.
111024         * lib/fd-safer.c: Likewise.
111026         Merge from coreutils.
111027         * lib/stdio--.h: New file.
111028         * lib/stdlib--.h: New file.
111029         * lib/mkstemp-safer.c: New file.
111031         GNU tar needs these.
111032         * lib/pipe-safer.c: New file.
111033         * lib/creat-safer.c: New file.
111034         * lib/fcntl--.h (creat): Define to creat_safer.
111035         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
111036         * lib/unistd--.h (pipe): Define to pipe_safer.
111037         * lib/unistd-safer.h: Declare pipe_safer.
111039 2005-08-26  Simon Josefsson  <jas@extundo.com>
111041         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
111042         Haible <bruno@clisp.org>.
111044 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
111046         * lib/regex_internal.h: Remove all references to
111047         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
111048         or better.
111049         (bitset_not, bitset_merge, bitset_not_merge):
111050         (bitset_mask, re_string_allocate, re_string_construct):
111051         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
111052         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
111053         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
111054         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
111055         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
111056         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
111057         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
111058         (re_acquire_state_context):
111059         Remove unnecessary forward decls.
111060         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
111061         Put __attribute at function definition,
111062         now that the function decl has been removed.
111063         * lib/regex_internal.c (re_string_peek_byte_case):
111064         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
111065         Likewise.
111067 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
111069         * m4/regex.m4: Add AC_PREREQ(2.50).
111070         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
111072 2005-08-25  Simon Josefsson  <jas@extundo.com>
111074         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
111075         __fsetlocking.
111077 2005-08-25  Simon Josefsson  <jas@extundo.com>
111079         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
111080         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
111081         GLIBC specific code.
111083 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
111085         Make regex safe for g++.  This fixes one real bug (an "err"
111086         that should have been "*err").  g++ problem reported by
111087         Sam Steingold.
111088         * lib/regex_internal.h (re_calloc): New macro, consistent with
111089         re_malloc etc.  All callers of calloc changed to use re_calloc.
111090         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
111091         not int.  All callers changed.
111092         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
111093         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
111094         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
111095         (find_recover_state): Change "err" to "*err"; this fixes what
111096         appears to be a real bug.
111097         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
111098         versus int.
111100 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
111102         * modules/regex (Depends-on): Add malloc, since the code
111103         assumes that !malloc(0) means failure.
111105 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
111107         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
111109         alloca modernization/simplification for regex.
111110         * lib/regex.c: Remove portability cruft for alloca.  This no longer
111111         needs to be at the start of the file, and can be moved into
111112         regex_internal.h and simplified.
111113         * lib/regex_internal.h: Include <alloca.h>.
111114         (__libc_use_alloca) [!defined _LIBC]: New macro.
111115         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
111116         now works outside glibc.
111118 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
111120         * config/srclist.txt: Add glibc bugs 1241, 1245.
111122 2005-08-25  Jim Meyering  <jim@meyering.net>
111124         * lib/open-safer.c: Include <config.h>.
111125         Otherwise, we'd lose LARGEFILE support in any file using
111126         e.g. "fcntl--.h"
111128 2005-08-25  Bruno Haible  <bruno@clisp.org>
111130         * m4/minmax.m4: Require autoconf 2.52.
111131         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
111132         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
111133         alternatives of translit over the alphabet.
111134         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
111136 2005-08-24  Simon Josefsson  <jas@extundo.com>
111138         * tests/test-getpass.c: New file.
111140 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
111142         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
111143         for GNU regex features.
111145 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
111147         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
111148         * lib/regex.h (regerror): Likewise.
111150         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
111151         requires this.  (The code never needed it.)
111153         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
111154         All uses of recently-renamed identifiers changed to use the new,
111155         POSIX-compliant names.  The code will build and run just fine
111156         without these changes, but it's better to eat our own dog food
111157         and use the standard-conforming names.
111159         * lib/regex.h: Fix a multitude of POSIX name space violations.
111160         These changes have an effect only for programs that define
111161         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
111162         do not change anything for programs compiled in the normal way.
111163         Also, there is no effect on the ABI.
111165         (_REGEX_SOURCE): New macro.
111166         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
111167         defined and _GNU_SOURCE is not; this fixes a name space violation.
111169         Rename the following macros to obey POSIX requirements.
111170         The old names are still visible as macros if _REGEX_SOURCE is defined.
111171         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
111172         RE_BACKSLASH_ESCAPE_IN_LISTS.
111173         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
111174         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
111175         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
111176         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
111177         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
111178         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
111179         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
111180         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
111181         (REG_INTERVALS): renamed from RE_INTERVALS.
111182         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
111183         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
111184         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
111185         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
111186         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
111187         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
111188         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
111189         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
111190         RE_UNMATCHED_RIGHT_PAREN_ORD.
111191         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
111192         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
111193         (REG_DEBUG): renamed from RE_DEBUG.
111194         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
111195         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
111196         unusual, since we can't clash with the POSIX REG_ICASE.
111197         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
111198         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
111199         (REG_NO_SUB): renamed from RE_NO_SUB.
111200         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
111201         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
111202         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
111203         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
111204         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
111205         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
111206         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
111207         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
111208         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
111209         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
111210         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
111211         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
111212         RE_SYNTAX_POSIX_MINIMAL_BASIC.
111213         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
111214         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
111215         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
111216         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
111217         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
111218         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
111219         (REG_FIXED): Renamed from REGS_FIXED.
111220         (REG_NREGS): Renamed from RE_NREGS.
111222         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
111223         of other REG_* macros, since POSIX says the user is allowed to
111224         #undef these macros selectively.
111226         (reg_errcode_t): Update comment stating what other tables need
111227         to be consistent.
111229         Rename the following enum values to obey POSIX requirements.
111230         The old names are still visible as macros.
111231         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
111232         is not defined, since GNU is supposed to be a superset of POSIX as
111233         much as possible, and since we want reg_errcode_t to be a signed
111234         type for implementation consistency.
111235         (_REG_NOERROR): Renamed from REG_NOERROR.
111236         (_REG_NOMATCH): Renamed from REG_NOMATCH.
111237         (_REG_BADPAT): Renamed from REG_BADPAT.
111238         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
111239         (_REG_ECTYPE): Renamed from REG_ECTYPE.
111240         (_REG_EESCAPE): Renamed from REG_EESCAPE.
111241         (_REG_ESUBREG): Renamed from REG_ESUBREG.
111242         (_REG_EBRACK): Renamed from REG_EBRACK.
111243         (_REG_EPAREN): Renamed from REG_EPAREN.
111244         (_REG_EBRACE): Renamed from REG_EBRACE.
111245         (_REG_BADBR): Renamed from REG_BADBR.
111246         (_REG_ERANGE): Renamed from REG_ERANGE.
111247         (_REG_ESPACE): Renamed from REG_ESPACE.
111248         (_REG_BADRPT): Renamed from REG_BADRPT.
111249         (_REG_EEND): Renamed from REG_EEND.
111250         (_REG_ESIZE): Renamed from REG_ESIZE.
111251         (_REG_ERPAREN): Renamed from REG_ERPAREN.
111252         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
111253         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
111254         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
111255         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
111257         (_REG_RE_NAME, _REG_RM_NAME): New macros.
111258         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
111259         changed.  But support the old name if the new one is not defined
111260         and if _REGEX_SOURCE.
111262         Change the following member names in struct re_pattern_buffer.
111263         The old names are still supported if !_REGEX_SOURCE.
111264         The new names are always supported, regardless of _REGEX_SOURCE.
111265         (re_buffer): Renamed from buffer.
111266         (re_allocated): Renamed from allocated.
111267         (re_used): Renamed from used.
111268         (re_syntax): Renamed from syntax.
111269         (re_fastmap): Renamed from fastmap.
111270         (re_translate): Renamed from translate.
111271         (re_can_be_null): Renamed from can_be_null.
111272         (re_regs_allocated): Renamed from regs_allocated.
111273         (re_fastmap_accurate): Renamed from fastmap_accurate.
111274         (re_no_sub): Renamed from no_sub.
111275         (re_not_bol): Renamed from not_bol.
111276         (re_not_eol): Renamed from not_eol.
111277         (re_newline_anchor): Renamed from newline_anchor.
111279         Change the following member names in struct re_registers.
111280         The old names are still supported if !_REGEX_SOURCE.
111281         The new names are always supported, regardless of _REGEX_SOURCE.
111282         (rm_num_regs): Renamed from num_regs.
111283         (rm_start): Renamed from start.
111284         (rm_end): Renamed from end.
111286         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
111287         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
111288         Prepend __ to parameter names.
111290         Undo yesterday's changes.
111292 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
111294         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
111295         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
111296         lib/regex.c.
111298 2005-08-24  Jim Meyering  <jim@meyering.net>
111300         Sync from coreutils.
111301         * m4/fcntl-safer.m4: New file.
111303         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
111304         and object files for this module.
111306 2005-08-24  Jim Meyering  <jim@meyering.net>
111308         Sync from coreutils.
111309         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
111311 2005-08-24  Jim Meyering  <jim@meyering.net>
111313         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
111314         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
111316 2005-08-24  Jim Meyering  <jim@meyering.net>
111318         * modules/fcntl-safer: New module.
111319         * modules/fts (Depends-on): Add fcntl-safer.
111320         * MODULES.html.sh (File descriptor based Input/Output):
111321         Add fcntl-safer.
111323 2005-08-24  Bruno Haible  <bruno@clisp.org>
111325         Support for unit test modules.
111326         * modules/README: Mention tests modules.
111327         * modules/TEMPLATE-TESTS: New file.
111328         * gnulib-tool: New options --extract-tests-module, --with-tests and
111329         --tests-base (unused for the moment).
111330         (testsbase, inctests): New variables.
111331         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
111332         (func_verify_module): Exclude TEMPLATE-TESTS.
111333         (func_verify_nontests_module, func_verify_tests_module): New functions.
111334         (func_get_dependencies): Add implicit dependency for tests modules.
111335         (func_get_tests_module): New function.
111336         (func_modules_transitive_closure): When --with-tests was specified,
111337         include the unit tests as well, unless explicitly avoided.
111338         (func_emit_lib_Makefile_am): Ignore the tests modules here.
111339         (func_emit_tests_Makefile_am): New function.
111340         (func_create_testdir): When --with-tests was specified, emit a
111341         tests/ directory.
111342         * MODULES.html.sh (Future developments): Update.
111344 2005-08-24  Bruno Haible  <bruno@clisp.org>
111346         * modules/tls-tests: New file.
111347         * tests/test-tls.c: New file, from GNU gettext.
111349 2005-08-24  Bruno Haible  <bruno@clisp.org>
111351         * modules/lock-tests: New file.
111352         * tests/test-lock.c: New file, from GNU gettext.
111354 2005-08-24  Bruno Haible  <bruno@clisp.org>
111356         * lib/lock.h: Add multiple inclusion guard.
111357         * lib/tls.h: Add multiple inclusion guard.
111359 2005-08-24  Bruno Haible  <bruno@clisp.org>
111361         * gnulib-tool: Add support for the --aux-dir option to
111362         --create-testdir, --create-megatestdir, --test, --megatest.
111363         (func_create_testdir, func_create_megatestdir): Optionally emit a
111364         AC_CONFIG_AUX_DIR directive.
111365         (create-testdir, create-megatestdir, test, megatest): Provide a
111366         default value for $auxdir.
111368 2005-08-24  Bruno Haible  <bruno@clisp.org>
111370         * gnulib-tool (import): Use compound statement instead of subshell
111371         where possible.
111373 2005-08-24  Bruno Haible  <bruno@clisp.org>
111375         * gnulib-tool (import): Change --aux-dir default to "build-aux".
111377 2005-08-24  Bruno Haible  <bruno@clisp.org>
111379         * gnulib-tool (func_version): Update.
111381 2005-08-24  Bruno Haible  <bruno@clisp.org>
111383         * gnulib-tool (func_import, func_create_testdir,
111384         func_create_megatestdir): Quote all autoconf macro arguments.
111386 2005-08-24  Bruno Haible  <bruno@clisp.org>
111388         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
111389         option --force, because --force causes the aclocal.m4 of each
111390         subdirectory to be newer than the corresponding config.h.in.
111392 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
111394         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
111395         All contents moved to gl_REGEX.
111396         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
111397         assume that it does.
111399 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
111401         * lib/regex.h (REG_NOSYS)
111402         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
111403         Define, since POSIX requires it as of 2001.
111404         (_REG_ENOSYS)
111405         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
111406         New private symbol, used to keep the enum signed in all cases.
111407         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
111408         Youngman in
111409         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
111411         * lib/regex_internal.c (re_string_skip_chars, register_state):
111412         (calc_state_hash):
111413         Remove forward decls; no longer needed now that we use prototypes.
111414         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
111415         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
111416         (clean_state_log_if_needed): Likewise.
111418 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
111420         * config/srclist.txt: Add glibc bugs 1231-1233.
111422 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
111424         Fix problems reported by Sam Steingold in
111425         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
111426         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
111427         assumed that reg_errcode_t is a signed type, which is not
111428         necessarily true if _XOPEN_SOURCE is not defined.
111429         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
111430         since some compilers warn about it otherwise.
111432 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
111434         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
111435         (init_word_char, create_initial_state, duplicate_node_closure):
111436         (fetch_token, peek_token_bracket, build_range_exp):
111437         (build_collating_symbol): Remove forward decls; no longer needed
111438         now that we use prototypes.
111440         * lib/regcomp.c:
111441         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
111442         (re_compile_fastmap_iter, regcomp, regerror, regfree):
111443         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
111444         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
111445         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
111446         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
111447         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
111448         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
111449         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
111450         (build_range_exp, build_collating_symbol, parse_bracket_exp):
111451         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
111452         (build_charclass, build_charclass_op, fetch_number, create_tree):
111453         (create_token_tree, mark_opt_subexp, duplicate_tree):
111454         Use prototypes rather than old-style definitions.
111456         * lib/regex_internal.c:
111457         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
111458         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
111459         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
111460         (re_string_reconstruct, re_string_peek_byte_case):
111461         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
111462         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
111463         (re_node_set_init_copy, re_node_set_add_intersect):
111464         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
111465         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
111466         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
111467         (re_acquire_state, re_acquire_state_context, register_state):
111468         (create_ci_newstate, create_cd_newstate, free_state):
111469         Likewise.
111470         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
111471         re_search_2):
111472         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
111473         (re_search_internal, prune_impossible_nodes):
111474         (acquire_init_state_context, check_matching, static):
111475         (check_halt_node_context, check_halt_state_context, proceed_next_node):
111476         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
111477         (update_regs, sift_states_backward, build_sifted_states):
111478         (clean_state_log_if_needed, merge_state_array):
111479         (update_cur_sifted_state, add_epsilon_src_nodes):
111480         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
111481         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
111482         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
111483         (find_recover_state, check_subexp_matching_top, transit_state_mb):
111484         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
111485         (check_arrival, check_arrival_add_next_nodes):
111486         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
111487         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
111488         (check_node_accept_bytes, check_node_accept, extend_buffers):
111489         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
111490         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
111491         (sift_ctx_init):
111492         Likewise.
111494         * lib/regex_internal.h:
111495         (re_string_allocate, re_string_construct, re_string_reconstruct):
111496         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
111497         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
111498         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
111499         (re_string_context_at, re_string_peek_byte_case):
111500         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
111501         is defined, since we now use prototypes always.
111503         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
111504         C89 or better.  All uses removed.
111506 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
111508         * config/srclist.txt: Add glibc bugs 1220-1227.
111510 2005-08-20  Jim Meyering  <jim@meyering.net>
111512         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
111513         of unused local, dfa.
111515 2005-08-20  Bruno Haible  <bruno@clisp.org>
111517         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
111519 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
111521         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
111522         (re_node_set_insert_last, re_dfa_add_node):
111523         Rename local variables to avoid GCC shadowing warnings.
111525 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
111527         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
111528         [defined lint]: Suppress bogus uninitialized-variable warnings.
111530         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
111531         and let the caller return REG_ESPACE if out of space.  This
111532         removes an uninitialied-variable warning with GCC 4.0.1, and also
111533         avoids taking the address of a local variable.  All callers
111534         changed.
111536 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
111538         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
111539         $LIBCSRC/posix/regexec.c.
111540         Add glibc bug 1217 for regcomp.c.
111542 2005-08-19  Jim Meyering  <jim@meyering.net>
111544         * lib/regexec.c (proceed_next_node): Redo local variables to
111545         avoid GCC shadowing warnings.
111547 2005-08-18  Bruno Haible  <bruno@clisp.org>
111549         * lib/strstr.c (strstr): Fix return value in multibyte case.
111550         * lib/strcasestr.c (strcasestr): Likewise.
111552 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
111554         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
111556 2005-08-17  Jim Meyering  <jim@meyering.net>
111558         Make the %s format (seconds since the epoch) work for a negative
111559         number and when used with a zero-padded field width, e.g. %015s.
111561         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
111562         label so that it precedes the code to set `digits'.  Otherwise,
111563         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
111564         print `00-22'.  Now, it prints `-0022', as it should.
111566 2005-08-17  Bruno Haible  <bruno@clisp.org>
111568         * modules/strstr (Files): Add m4/mbrtowc.m4.
111569         (Depends-on): Add mbuiter.
111571 2005-08-17  Bruno Haible  <bruno@clisp.org>
111573         * modules/strcasestr: New file.
111574         * MODULES.html.sh (String handling, based on ANSI C 89): Add
111575         strcasestr.
111577 2005-08-17  Bruno Haible  <bruno@clisp.org>
111579         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
111581 2005-08-17  Bruno Haible  <bruno@clisp.org>
111583         * modules/mbuiter: New file.
111584         * MODULES.html.sh (Extended multibyte and wide character utilities):
111585         Add mbuiter.
111587 2005-08-17  Bruno Haible  <bruno@clisp.org>
111589         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
111590         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
111592 2005-08-17  Bruno Haible  <bruno@clisp.org>
111594         * m4/strcasestr.m4: New file.
111596 2005-08-17  Bruno Haible  <bruno@clisp.org>
111598         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
111599         * lib/strstr.c: Completely rewritten, with multibyte locale support.
111601 2005-08-17  Bruno Haible  <bruno@clisp.org>
111603         * lib/strcasestr.h: New file.
111604         * lib/strcasestr.c: New file.
111606 2005-08-17  Bruno Haible  <bruno@clisp.org>
111608         * lib/strcasecmp.c: Use mbuiter.h.
111610 2005-08-17  Bruno Haible  <bruno@clisp.org>
111612         * lib/mbuiter.h: New file.
111614 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
111616         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
111617         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
111618         and gl_GETOPT are both invoked via different paths (as happens
111619         with GNU tar CVS because it uses both argp and getopt), the former
111620         wins.
111622 2005-08-16  Bruno Haible  <bruno@clisp.org>
111624         * modules/tls: New file.
111625         * MODULES.html.sh (Multithreading): Add tls.
111627 2005-08-16  Bruno Haible  <bruno@clisp.org>
111629         * modules/strnlen1: New file.
111630         * MODULES.html.sh (String handling): Add strnlen1.
111632 2005-08-16  Bruno Haible  <bruno@clisp.org>
111634         * modules/strcase (Files): Add m4/mbrtowc.m4.
111635         (Depends-on): Add strnlen1, mbchar.
111637 2005-08-16  Bruno Haible  <bruno@clisp.org>
111639         * modules/mbiter: New file.
111640         * MODULES.html.sh (Extended multibyte and wide character utilities):
111641         Add mbiter.
111643 2005-08-16  Bruno Haible  <bruno@clisp.org>
111645         * modules/mbfile: New file.
111646         * MODULES.html.sh (Extended multibyte and wide character utilities):
111647         Add mbfile.
111649 2005-08-16  Bruno Haible  <bruno@clisp.org>
111651         * modules/mbchar: New file.
111652         * MODULES.html.sh (Extended multibyte and wide character utilities):
111653         New section.
111655 2005-08-16  Bruno Haible  <bruno@clisp.org>
111657         * m4/tls.m4: New file, from GNU gettext.
111659 2005-08-16  Bruno Haible  <bruno@clisp.org>
111661         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
111662         always.
111663         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
111665 2005-08-16  Bruno Haible  <bruno@clisp.org>
111667         * m4/mbiter.m4: New file.
111669 2005-08-16  Bruno Haible  <bruno@clisp.org>
111671         * m4/mbfile.m4: New file.
111673 2005-08-16  Bruno Haible  <bruno@clisp.org>
111675         * m4/mbchar.m4: New file.
111677 2005-08-16  Bruno Haible  <bruno@clisp.org>
111679         * lib/tls.h: New file, from GNU gettext.
111680         * lib/tls.c: New file, from GNU gettext.
111682 2005-08-16  Bruno Haible  <bruno@clisp.org>
111684         * lib/strnlen1.h: New file.
111685         * lib/strnlen1.c: New file.
111687 2005-08-16  Bruno Haible  <bruno@clisp.org>
111689         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
111690         (mbi_init): Update.
111691         (mbi_avail, mbi_advance): Let the iteration end before the terminating
111692         NUL byte, not after it.
111694 2005-08-16  Bruno Haible  <bruno@clisp.org>
111696         * lib/strcase.h (strcasecmp): Add note in comments.
111697         * lib/strncasecmp.c: Use code from strcasecmp.c.
111698         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
111699         (strcasecmp): Work correctly in multibyte locales.
111701 2005-08-16  Bruno Haible  <bruno@clisp.org>
111703         * lib/mbiter.h: New file.
111705 2005-08-16  Bruno Haible  <bruno@clisp.org>
111707         * lib/mbfile.h: New file.
111709 2005-08-16  Bruno Haible  <bruno@clisp.org>
111711         * lib/mbchar.h: New file.
111712         * lib/mbchar.c: New file.
111714 2005-08-16  Bruno Haible  <bruno@clisp.org>
111716         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
111717         the valid ones. Makes the comparison operations transitive:
111718         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
111719         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
111721 2005-08-15  Simon Josefsson  <jas@extundo.com>
111723         * modules/ssize_t (License): Change to 'unlimited'.
111725         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
111727 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
111729         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
111730         Add comments for each pending glibc patch.
111732 2005-08-15  Bruno Haible  <bruno@clisp.org>
111734         * lib/regex.h (__restrict_arr): Don't define to __restrict if
111735         __cplusplus is defined.
111737 2005-08-14  Jim Meyering  <jim@meyering.net>
111739         Sync from coreutils.
111741         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
111742         Use the hash-table-based cycle-detection code not just when
111743         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
111744         Reported by James Youngman in
111745         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
111746         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
111747         FTS_TIGHT_CYCLE_CHECK.
111748         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
111749         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
111750         once again.
111751         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
111752         * lib/fts.c (fd_safer): Remove decl.
111753         Include fcntl--.h rather than unistd-safer.h
111754         (fts_safe_changedir): Don't call fd_safer; no longer needed
111755         now that we include fcntl--.h.
111757 2005-08-12  Simon Josefsson  <jas@extundo.com>
111759         * modules/getndelim2: Use ssize_t module.
111760         * modules/getnline: Likewise.
111761         * modules/safe-read: Likewise.
111762         * modules/xreadlink: Likewise.
111764         * modules/ssize_t: New file.
111766 2005-08-12  Simon Josefsson  <jas@extundo.com>
111768         * m4/readline.m4: Look for termcap, curses or ncurses if required.
111770 2005-08-12  Simon Josefsson  <jas@extundo.com>
111772         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
111773         ssize_t.
111775 2005-08-12  Simon Josefsson  <jas@extundo.com>
111777         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
111778         readline, getdelim and check_version.
111779         (Support for systems lacking ISO C 99: Sizes of integer types):
111780         Add size_max.
111782 2005-08-12  Bruno Haible  <bruno@clisp.org>
111784         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
111786 2005-08-11  Simon Josefsson  <jas@extundo.com>
111788         * modules/readline: New file.
111790         * modules/strnlen (Files): Add strnlen.h.
111792 2005-08-11  Simon Josefsson  <jas@extundo.com>
111794         * m4/readline.m4: New file.
111796 2005-08-11  Simon Josefsson  <jas@extundo.com>
111798         * lib/readline.h, readline.c: New file.
111800 2005-08-11  Simon Josefsson  <jas@extundo.com>
111802         * doc/gnulib.texi (Initial import, Finishing touches): Mention
111803         gl_AVOID.
111805 2005-08-11  Bruno Haible  <bruno@clisp.org>
111807         * lib/strnlen.h (strnlen): Change parameter name to match comment.
111809 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
111811         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
111813 2005-08-10  Simon Josefsson  <jas@extundo.com>
111815         * tests/test-iconvme.c: New file.
111817 2005-08-10  Simon Josefsson  <jas@extundo.com>
111819         * m4/strnlen.m4: New file.
111821         * m4/strndup.m4: Don't check for strnlen declaration, done in
111822         strnlen.m4.
111824 2005-08-10  Simon Josefsson  <jas@extundo.com>
111826         * lib/strndup.c: Use strnlen.h.
111828         * lib/strnlen.h: New file.
111830 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
111832         * README: Typos.
111834 2005-08-02  Simon Josefsson  <jas@extundo.com>
111836         * modules/readline: New file.
111838 2005-08-02  Simon Josefsson  <jas@extundo.com>
111840         * modules/getdelim: New file.
111842         * modules/getline: Rewrite, don't use getndelim2.
111844 2005-08-02  Simon Josefsson  <jas@extundo.com>
111846         * m4/getline.m4: Separate out getdelim stuff into separate module.
111848         * m4/getdelim.m4: New file.
111850 2005-08-02  Simon Josefsson  <jas@extundo.com>
111852         * lib/getline.h, getline.c: Rewrite.
111854         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
111856 2005-07-31  Bruno Haible  <bruno@clisp.org>
111858         * lib/lock.h (gl_lock_initializer): New macro.
111859         (gl_lock_define_initialized): Use it.
111860         (gl_rwlock_initializer): New macro.
111861         (gl_rwlock_define_initialized): Use it.
111862         (gl_recursive_lock_initializer): New macro.
111863         (gl_recursive_lock_define_initialized): Use it.
111865 2005-07-30  Karl Berry  <karl@gnu.org>
111867         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
111868         Report from Ben Pfaff, regarding getopt.
111870 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
111872         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
111873         normal way.
111874         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
111875         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
111876         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
111877         (gl_GETOPT): Use the new macros.  Most of the implementation
111878         is moved to the new macros.  This is for programs like Emacs
111879         that don't want all the functionality of gl_GETOPT.
111881 2005-07-26  Bruno Haible  <bruno@clisp.org>
111883         * m4/lock.m4: Update from GNU gettext.
111885 2005-07-26  Bruno Haible  <bruno@clisp.org>
111887         * lib/lock.h: Update from GNU gettext.
111888         * lib/lock.c: Update from GNU gettext.
111890 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
111892         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
111893         obsolescent AC_TRY_RUN.  Include the default includes files, for
111894         'exit'.
111896 2005-07-24  Bruno Haible  <bruno@clisp.org>
111898         * modules/visibility: New file.
111899         * MODULES.html.sh (Misc): Add visibility.
111901 2005-07-24  Bruno Haible  <bruno@clisp.org>
111903         * m4/visibility.m4: New file.
111905 2005-07-24  Bruno Haible  <bruno@clisp.org>
111907         * doc/visibility.texi: New file.
111909 2005-07-22  Bruno Haible  <bruno@clisp.org>
111911         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
111912         $(ALLOCA_H), redundant through BUILT_SOURCES.
111913         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
111914         redundant through BUILT_SOURCES.
111915         * modules/byteswap (Makefile.am): Remove explicit dependency on
111916         $(BYTESWAP_H), redundant through BUILT_SOURCES.
111917         * modules/fnmatch (Makefile.am): Remove explicit dependency on
111918         $(FNMATCH_H), redundant through BUILT_SOURCES.
111919         * modules/getopt (Makefile.am): Remove explicit dependency on
111920         $(GETOPT_H), redundant through BUILT_SOURCES.
111921         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
111922         redundant through BUILT_SOURCES.
111923         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
111924         redundant through BUILT_SOURCES.
111925         * modules/stdbool (Makefile.am): Remove explicit dependency on
111926         $(STDBOOL_H), redundant through BUILT_SOURCES.
111927         * modules/stdint (Makefile.am): Remove explicit dependency on
111928         $(STDINT_H), redundant through BUILT_SOURCES.
111929         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
111930         Remove explicit dependency on $(SYSEXITS_H).
111931         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
111933 2005-07-18  Simon Josefsson  <jas@extundo.com>
111935         * lib/check-version.c (check_version): Accept identical versions too.
111937 2005-07-18  Bruno Haible  <bruno@clisp.org>
111939         * modules/lock: New file.
111940         * MODULES.html.sh (Multithreading): New section.
111942 2005-07-18  Bruno Haible  <bruno@clisp.org>
111944         * m4/lock.m4: New file, from GNU gettext.
111946 2005-07-18  Bruno Haible  <bruno@clisp.org>
111948         * lib/lock.h: New file, from GNU gettext.
111949         * lib/lock.c: New file, from GNU gettext.
111951 2005-07-18  Bruno Haible  <bruno@clisp.org>
111953         * lib/lock.h (gl_once_t): New type.
111954         (gl_once_define, gl_once): New macros.
111955         * lib/lock.c (fresh_once): New variable.
111956         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
111957         functions.
111959 2005-07-16  Simon Josefsson  <jas@extundo.com>
111961         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
111962         workaround, suggested by Bruno.
111964 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
111966         * modules/xalloc (Depends-on): Add xalloc-die.
111967         * modules/xvasprintf (Depends-on): Add xalloc-die.
111969 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
111971         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
111972         with a minor change.
111974 2005-07-15  Bruno Haible  <bruno@clisp.org>
111976         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
111977         When using lib/poll.c, define poll as rpl_poll.
111979 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
111981         * modules/argp (Depends-on): Remove unlocked-io.
111983 2005-07-14  Derek Price  <derek@ximbiot.com>
111985         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
111986         for glob symlink bug.
111988 2005-07-14  Bruno Haible  <bruno@clisp.org>
111990         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
111991         Instead, test for *_unlocked function declarations directly.
111993 2005-07-11  Simon Josefsson  <jas@extundo.com>
111995         * modules/size_max: New file.
111997         * modules/xsize: Depend on size_max module for size_max.m4.
111999 2005-07-11  Simon Josefsson  <jas@extundo.com>
112001         * lib/size_max.h: New file.
112003 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
112005         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
112006         copyright symbol and the year.
112007         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
112008         (version_etc_va): Use parameterized copyright notice.
112009         Reword to conform to the current GNU coding standards.
112011 2005-07-11  Karl Berry  <karl@gnu.org>
112013         * doc/gnulib.texi (Quoting): new node.
112014         (Initial import): more info, from Patrice.
112016 2005-07-11  Bruno Haible  <bruno@clisp.org>
112018         * gnulib-tool (func_usage): Document option --avoid.
112019         (Command line options): Handle --avoid.
112020         (func_acceptable): New function.
112021         (func_modules_transitive_closure): Use it.
112023 2005-07-11  Bruno Haible  <bruno@clisp.org>
112025         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
112026         Reported by Jim Meyering.
112028 2005-07-10  Bruno Haible  <bruno@clisp.org>
112030         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
112031         Needed when size_t is smaller than 'unsigned int'.
112032         Reported by Paul Eggert.
112034 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
112036         * modules/argp (Depends-on): Add unlocked-io
112038 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
112040         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
112041         block of defines.
112043 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
112045         * config/srclist.txt: Comment out regcomp.c, since we have a porting
112046         fix now.
112048 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
112049         and Paul Eggert  <eggert@cs.ucla.edu>
112051         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
112052         in wint_t, not wchar_t.  Remove now-unnecessary cast.
112054 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
112056         * modules/regex (Files): Add lib/regex_internal.c,
112057         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
112058         (Depends-on): Add extensions.
112059         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
112061 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
112063         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
112064         pathconf.
112065         * m4/same.m4 (gl_SAME): Likewise.
112066         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
112068         * m4/regex.m4: Adjust to new libc regex implementation.
112069         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
112070         all the .c and .h parts of (the new) regex.
112071         Quote the m4 stuff better.
112072         Check for RE_ICASE bug of old gnulib.
112073         Check for REG_STARTEND of recent libc.
112074         Rename local variables from jm_* to gl_*.
112075         Quote operand of "test -f".
112076         Say "recent enough" version of libc, not "version 2".
112077         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
112078         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
112079         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
112080         Remove check for btowc, isascii.
112081         Require AM_LANGINFO_CODESET.
112083 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
112085         * lib/regex.c, regex.h: Sync from libc.
112086         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
112087         * lib/regexec.c:
112088         New files, synced from libc, except that regex_internal.h
112089         currently has a small porting fix.
112091 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
112093         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
112094         regex_internal.c, regexec.c.
112095         Add regex_internal.h too, but as a comment, since the libc version
112096         is currently broken in gnulib mode.
112098 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
112100         Support programs like Emacs that use gnulib but not gettext.
112101         * MODULES.html.sh (Internationalization functions): Add gettext-h.
112102         * modules/gettext-h: New file.
112103         * modules/gettext (Files): Remove lib/gettext.h.
112104         (Depends-on): Add gettext-h.
112105         (Makefile.am): Remove lib_SOURCES.
112106         * modules/argmatch, modules/c-stack, modules/closeout:
112107         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
112108         * modules/execute, modules/file-type, modules/getaddrinfo:
112109         * modules/getopt, modules/human, modules/javacomp:
112110         * modules/javaexec, modules/mkdir-p, modules/obstack:
112111         * modules/openat, modules/pagealign_alloc, modules/pipe:
112112         * modules/quotearg, modules/regex, modules/rpmatch:
112113         * modules/unicodeio, modules/userspec, modules/version-etc:
112114         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
112115         * modules/xsetenv:
112116         Depend on gettext-h, not gettext.
112118 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
112120         * gnulib-tool (func_import): Add support for 'public domain' license.
112121         * modules/alloca, modules/atexit, modules/memmove:
112122         Now public domain, not GPL.
112123         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
112124         * modules/realloc, modules/strerror, modules/strtod:
112125         Now LGPL, not GPL.
112127 2005-07-05  Bruno Haible  <bruno@clisp.org>
112129         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
112130         autoconf CVS. Needed for mingw.
112132 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
112134         Remove the dependency of the strftime module on the tzset module.
112135         * modules/strftime (Depends-on): Remove dependency on tzset.
112137 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
112139         Remove the dependency of the strftime module on the tzset module.
112140         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
112141         gl_FUNC_TZSET_CLOBBER.
112143 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
112145         Remove the dependency of the strftime module on the tzset module.
112146         * lib/strftime.c (my_strftime)
112147         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
112148         Copy the input structure, to work around some of the bug with
112149         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
112150         Solaris releases, you should also use the tzset module, but we won't
112151         require it as a dependency any more since we don't want LGPLed code
112152         to depend on GPLed code.
112154 2005-07-02  Jim Meyering  <jim@meyering.net>
112156         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
112157         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
112158         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
112159         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
112161 2005-07-02  Jim Meyering  <jim@meyering.net>
112163         * lib/backupfile.c (backup_args): Change a `0' to NULL.
112165 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
112167         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
112168         declares only 'struct timespec;' (!).
112170 2005-07-01  Jim Meyering  <jim@meyering.net>
112172         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
112173         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
112174         * lib/save-cwd.c, tempname.c:
112175         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
112176         and don't include <sys/file.h>).
112178 2005-06-29  Jim Meyering  <jim@meyering.net>
112180         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
112181         type name.  Use the variable name instead.
112182         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
112183         Likewise.
112185 2005-06-28  Simon Josefsson  <jas@extundo.com>
112187         * modules/check-version (Files): Add check-version.m4.
112189 2005-06-28  Simon Josefsson  <jas@extundo.com>
112191         * m4/check-version.m4: New file, suggested by Jim Meyering
112192         <jim@meyering.net>.
112194 2005-06-28  Simon Josefsson  <jas@extundo.com>
112196         * lib/check-version.h, lib/check-version.c: New files.
112198 2005-06-28  Simon Josefsson  <jas@extundo.com>
112200         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
112201         collision with global variable.  Better indentation.  Don't
112202         increment buffer pointer beyond buffer end.  Based on comments
112203         from Paul Eggert <eggert@cs.ucla.edu>.
112205         * lib/base64.h: Indent.
112207 2005-06-28  Simon Josefsson  <jas@extundo.com>
112209         * doc/gnulib.texi (Library version handling): New section.
112211 2005-06-28  Jim Meyering  <jim@meyering.net>
112213         * check-module (find_included_lib_files): Hard-code another
112214         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
112215         but modules/fts-lgpl (correctly) does not list those files.
112217         * modules/canonicalize (Files): Add lib/pathmax.h.
112219 2005-06-25  Simon Josefsson  <jas@extundo.com>
112221         * modules/check-version: New file.
112223 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
112225         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
112226         initializer of struct addrinfo, as an indication that we don't
112227         care how many members the structure has.
112229 2005-06-24  Derek Price  <derek@ximbiot.com>
112230         and Bruno Haible  <bruno@clisp.org>
112232         Remove stat module & update lstat.
112233         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
112234         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
112235         * m4/stat.m4: Remove this file.
112237 2005-06-24  Derek Price  <derek@ximbiot.com>
112238         and Bruno Haible  <bruno@clisp.org>
112240         Remove stat module & update lstat.
112241         * lib/stat.c: Remove this file...
112242         (slash_aware_lstat): ...moving this content and its support...
112243         * lib/lstat.c (rpl_lstat): ...into here.
112244         * lib/lstat.h: New file.
112246 2005-06-24  Derek Price  <derek@ximbiot.com>
112247         and Bruno Haible  <bruno@clisp.org>
112249         Remove stat module & update lstat.
112250         * config/srclist.txt (libc sources): Remove stat.
112252 2005-06-24  Derek Price  <derek@ximbiot.com>
112253         and Bruno Haible  <bruno@clisp.org>
112255         Remove stat module & update lstat.
112256         * MODULES.html.sh (stat): Remove.
112257         * MODULES.html: Regenerated.
112258         * modules/lstat (Description): Correct function name.
112259         (Files): Add "lstat.h".
112260         (Depends-on): Remove stat, add xalloc, stat-macros.
112261         * modules/stat: Remove this file.
112262         (Include): Add "lstat.h", remove <sys/stat.h>.
112264 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
112266         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
112267         (ranged_convert): Don't save conversion in a temporary struct.
112268         This causes a warning with GCC 4.0.0, and anyway in the typical
112269         case it's not worth the extra 100 bytes or so of code.
112270         (ranged_convert, __mktime_internal): When calling a function via a
112271         pointer P, use P () rather than (*P) (), as we now assume C89 or
112272         better.
112274 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
112276         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
112277         "who -r" failed to give output.  Problem reported by Tim Waugh.
112279         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
112280         (xcalloc): Use it to avoid needless tests.
112281         Problem reported by Jim Meyering.
112283 2005-06-20  Derek Price  <derek@ximbiot.com>
112285         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
112286         unnecessary for Autoconfs > 2.59c.
112288 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
112290         * lib/argp.h (__option_is_short): Check upper limit of
112291         __key. Isprint() requires its argument to have the value
112292         of an unsigned char or EOF.
112294 2005-06-16  Jim Meyering  <jim@meyering.net>
112296         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
112297         when either N or S is zero.
112299 2005-06-16  Derek Price  <derek@ximbiot.com>
112301         * m4/bison.m4: Declare YACC & YFLAGS precious.
112303 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
112305         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
112306         multibyte string or pattern, fall back on unibyte matching.
112307         Problem reported by James Youngman.
112309 2005-06-08  Bruno Haible  <bruno@clisp.org>
112311         * modules/csharpcomp: New file.
112312         * MODULES.html.sh (C#): Add csharpcomp.
112314 2005-06-08  Bruno Haible  <bruno@clisp.org>
112316         * m4/csharpcomp.m4: New file, from GNU gettext.
112318 2005-06-08  Bruno Haible  <bruno@clisp.org>
112320         * lib/csharpcomp.h: New file, from GNU gettext.
112321         * lib/csharpcomp.c: New file, from GNU gettext.
112322         * lib/csharpcomp.sh.in: New file, from GNU gettext.
112324 2005-06-08  Bruno Haible  <bruno@clisp.org>
112326         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
112327         warning on mingw.
112329 2005-06-07  Derek Price  <derek@ximbiot.com>
112331         Sync from CVS.
112332         * lib/glob_.h: Indent nested #ifdef.
112334 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
112336         Sync from coreutils.
112337         Use "file name" when talking about file names, instead of "filename"
112338         or "path", as per the GNU coding standards.
112339         * lib/mkdir-p.c: Renamed from makepath.c.
112340         (make_dir_parents): Renamed from make_path.  All callers changed.
112341         * lib/mkdir-p.h: Likewise.  All includers changed.
112342         * lib/filenamecat.c: Renamed from path-concat.c.
112343         (file_name_concat): Renamed from path_concat.  All callers changed.
112344         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
112345         * lib/filenamecat.h: Likewise.  All includers changed.
112346         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
112347         in comments or local variable names.
112348         * lib/basename.c: Likewise.
112349         * lib/canonicalize.c, canonicalize.h: Likewise.
112350         * lib/dirname.c, dirname.h: Likewise.
112351         * lib/euidaccess.c: Likewise.
112352         * lib/exclude.c: Likewise
112353         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
112354         * lib/fsusage.c, fsuage.h: Likewise.
112355         * lib/fts.c, fts_.h: Likewise.
112356         * lib/getcwd.c: Likewise.
112357         * lib/getloadavg.c: Likewise.
112358         * lib/mkstemp.c: Likewise.
112359         * lib/mountlist.c, mountlist.h: Likewise.
112360         * lib/openat.c, openat.h: Likewise.
112361         * lib/readlink-stub.c: Likewise.
112362         * lib/readutmp.c, readutmp.h: Likewise.
112363         * lib/rename.c: Likewise.
112364         * lib/rmdir.c: Likewise.
112365         * lib/same.c: Likewise.
112366         * lib/savedir.c: Likewise.
112367         * lib/stripslash.c: Likewise.
112368         * lib/tempname.c: Likewise.
112369         * lib/xreadlink.c: Likewise.
112370         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
112371         All uses changed.
112372         * lib/exclude.h: Likewise.
112374         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
112375         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
112376         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
112377         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
112378         * lib/pathmax.h: Include <limits.h> unconditionally, since other
112379         files have been getting away with it for years (MORE/BSD 4.3
112380         is extinct now).
112381         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
112382         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
112384         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
112385         Define to 256, not 255, as per modern POSIX.
112387 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
112389         Sync from coreutils.
112390         Use "file name" when talking about file names, instead of "filename"
112391         or "path", as per the GNU coding standards.
112392         * MODULES.html.sh: mkdir-p renamed from makepath.
112393         filenamecat renamed from path-concat.
112394         * modules/filenamecat: Renamed from modules/path-concat.
112395         (Files): filenamecat.h and filenamecat.c renamed from
112396         path-concat.h and path-concat.c.
112397         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
112398         (Include): filenamecat.h, not path-concat.h.
112399         * modules/mkdir-p: Renamed from modules/makepath.
112400         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
112401         makepath.c.
112402         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
112403         (Include): mkdir-p.h, not makepath.h.
112405 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
112407         Sync from coreutils.
112408         * m4/mkdir-p.m4: Renamed from makepath.m4.
112409         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
112410         Rename files from makepath.c to mkdir-p.c, and from
112411         makepath.h to mkdir-p.h.
112412         * m4/filenamecat.m4: Renamed from path-concat.m4.
112413         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
112414         Rename files from path-concat.c to filenamecat.c,
112415         and from path-concat.h to filenamecat.h.
112416         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
112417         "file name" in local variables or comments.
112418         * m4/rename.m4: Likewise.
112420 2005-06-01  Bruno Haible  <bruno@clisp.org>
112422         * modules/csharpexec: New file.
112423         * MODULES.html.sh (C#): New section.
112425 2005-06-01  Bruno Haible  <bruno@clisp.org>
112427         * m4/csharp.m4: New file, from GNU gettext.
112428         * m4/csharpexec.m4: New file, from GNU gettext.
112430 2005-06-01  Bruno Haible  <bruno@clisp.org>
112432         * lib/csharpexec.h: New file, from GNU gettext.
112433         * lib/csharpexec.c: New file, from GNU gettext.
112434         * lib/csharpexec.sh.in: New file, from GNU gettext.
112436 2005-05-31  Derek Price  <derek@ximbiot.com>
112437             Paul Eggert  <eggert@cs.ucla.edu>
112439         Sync from cvs.
112440         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
112442 2005-05-31  Derek Price  <derek@ximbiot.com>
112443             Paul Eggert  <eggert@cs.ucla.edu>
112445         Sync from cvs.
112446         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
112448 2005-05-29  Derek Price  <derek@ximbiot.com>
112450         * config/srclist.txt (glob_.h, glob.c): Add these files.
112452 2005-05-29  Derek Price  <derek@ximbiot.com>
112454         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
112455         * modules/glob: New file.
112456         * modules/getlogin_r: Add link to POSIX spec in description.
112458 2005-05-29  Derek Price  <derek@ximbiot.com>
112459             Paul Eggert  <eggert@cs.ucla.edu>
112461         * m4/glob.m4: New file.
112463 2005-05-29  Derek Price  <derek@ximbiot.com>
112464             Paul Eggert  <eggert@cs.ucla.edu>
112466         * lib/glob_.h, lib/glob.c: New files.
112468 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
112470         * modules/fts (Files): Remove m4/inttypes-pri.m4.
112471         * modules/fts-lgpl (Depends-on): Remove gettext.
112473 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
112475         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
112476         and don't require gt_INTTYPES_PRI.
112478 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
112480         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
112482         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
112483         the configuration hassle isn't worth it.
112484         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
112485         (LONGEST_MODIFIER, PRIuMAX): Remove.
112487 2005-05-27  Bruno Haible  <bruno@clisp.org>
112489         * lib/getlogin_r.h: Remove second include of <stddef.h>.
112491 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
112493         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
112494         _POSIX_PTHREAD_SEMANTICS for Solaris.
112496 2005-05-25  Derek Price  <derek@ximbiot.com>
112498         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
112500 2005-05-25  Derek Price  <derek@ximbiot.com>
112501             Paul Eggert  <eggert@cs.ucla.edu>
112503         * modules/getlogin_r, m4/getlogin_r.m4: New files.
112504         * lib/getlogin_r.c, getlogin_r.h: New files.
112506 2005-05-25  Bruno Haible  <bruno@clisp.org>
112507             Derek Price  <derek@ximbiot.com>
112509         * lib/getlogin_r.h: Simplify API documentation.
112511 2005-05-23  Derek Price  <derek@ximbiot.com>
112513         * modules/minmax (Files): Add m4/minmax.m4.
112514         (configure.ac): Add gl_MINMAX.
112516 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
112518         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
112519         so that unistd-safer.h (GPL'ed code) need not be included.
112521 2005-05-22  Bruno Haible  <bruno@clisp.org>
112523         * m4/minmax.m4: New file.
112524         Based on a patch by Derek Price <derek@ximbiot.com>.
112526 2005-05-22  Bruno Haible  <bruno@clisp.org>
112528         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
112529         (INT64_MIN): Fix definition.
112530         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
112532         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
112533         NEED_SIGNED_INT_TYPES.
112535         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
112536         HAVE_SYSTEM_INTTYPES.
112538 2005-05-22  Bruno Haible  <bruno@clisp.org>
112540         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
112541         Also include <sys/param.h> if it defines MIN, MAX.
112542         Based on a patch by Derek Price <derek@ximbiot.com>.
112544 2005-05-21  Jim Meyering  <jim@meyering.net>
112546         * modules/fts (Files): Add m4/inttypes-pri.m4.
112547         (Depends-on): Add lstat and remove gettext.  Alphabetize.
112549 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
112551         New fts module.
112552         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
112553         (setup_dir, free_dir): New functions.
112554         (enter_dir, leave_dir): Define trivial
112555         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
112556         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
112557         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
112558         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
112559         Move to fts-cycle.c.
112560         (fts_open): Use setup_dir.
112561         (fts_close): Use free_dir.
112562         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
112563         This adds a label and some gotos, but the alternatives were messier.
112564         Check for memory allocation failure when entering a dir.
112565         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
112566         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
112567         (FTS): New member fts_cycle, that is a union that contains the
112568         old active_dir_ht and cycle_state.  All uses changed to mention
112569         fts_cycle.ht and fts_cycle.state.
112570         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
112571         fts.c, with the following changes:
112572         (setup_dir, free_dir): New functions.
112573         (enter_dir): Now returns bool.  Return true if successful, false
112574         if memory exhausted.  All callers changed.
112575         Do not bother partly cleaning up on
112576         memory allocation failure; that is free_dir's job.
112577         However, free ad if hash_insert fails, to avoid memory leak.
112578         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
112579         fts->fts_options to see which union member to use.
112581 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
112583         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
112584         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
112586 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
112588         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
112590 2005-05-20  Jim Meyering  <jim@meyering.net>
112592         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
112593         Now a macro, to pacify GCC.
112595 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
112597         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
112598         of -1.
112600 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
112602         * lib/chown.c (rpl_chown): Return -1 on failure.
112604 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
112606         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
112607         Don't check for stddef.h.
112608         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
112609         don't use its results.
112610         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
112611         since we include them unconditionally.  Don't require
112612         AM_STDBOOL_H, since stdbool is a prerequisite.
112613         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
112614         since we assume C89 or better.
112615         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
112616         as we don't use their results.
112617         Don't check for fchdir, memmove, memset, strrchr, as we use
112618         them unconditionally.
112619         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
112620         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
112622 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
112624         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
112625         Include <stddef.h> unconditionally, since we assume C89 now.
112626         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
112627         * lib/fts.c: Include fts_.h first, to check interface.
112628         Do not include intprops.h; no longer needed.
112629         Include cycle-check.h and hash.h, since fts_.h no longer does.
112630         Remove unnecessary casts of closedir to void.
112631         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
112632         decide whether to decrement nlinks.
112633         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
112634         (FTS): Use struct hash_table * instead of Hash_table, so that
112635         we no longer need to include hash.h here.
112637 2005-05-18  Jim Meyering  <jim@meyering.net>
112639         * modules/dirfd (License): Change to LGPL.  Most of the code
112640         is already in the public domain.
112642 2005-05-18  Jim Meyering  <jim@meyering.net>
112644         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
112645         Reported by Yoann Vandoorselaere.
112647 2005-05-17  Jim Meyering  <jim@meyering.net>
112649         * m4/fts.m4: New file, from coreutils.
112651 2005-05-17  Jim Meyering  <jim@meyering.net>
112653         * lib/fts.c, lib/fts_.h: New files, from coreutils.
112655 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
112657         Sync from coreutils.
112658         * m4/unlinkdir.m4: New file.
112660 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
112662         Sync from coreutils.
112663         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
112664         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
112665         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
112666         White space changes only.
112667         * lib/makepath.c (make_path): Port to hosts where leading "//" is
112668         special.
112669         * lib/yesno.c: Include getline.h, not ctype.h.
112670         (yesno): Don't remove leading white space; POSIX doesn't allow it.
112671         Use getline to remove arbitrary restriction on response length.
112673 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
112675         * config/srclist-update: Spell out "Street" in FSF postal
112676         mail address; this is the style the FSF seems to prefer.
112678         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
112679         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
112680         this updates FSF postal mail address.
112682         Sync from coreutils.
112683         * modules/unlinkdir: New file.
112684         * modules/yesno (Depends-on): Add getline.
112685         * MODULES.html.sh (File system functions): Add unlinkdir.
112687 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
112689         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
112690         lib/strsep.h:
112691         Change the initial comment to refer to GPL, not LGPL.
112692         gnulib-tool will change it to LGPL as needed.
112694         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
112695         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
112696         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
112697         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
112698         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
112699         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
112700         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
112701         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
112702         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
112703         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
112704         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
112705         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
112706         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
112707         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
112708         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
112709         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
112710         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
112711         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
112712         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
112713         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
112714         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
112715         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
112716         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
112717         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
112718         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
112719         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
112720         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
112721         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
112722         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
112723         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
112724         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
112725         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
112726         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
112727         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
112728         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
112729         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
112730         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
112731         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
112732         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
112733         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
112734         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
112735         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
112736         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
112737         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
112738         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
112739         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
112740         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
112741         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
112742         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
112743         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
112744         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
112745         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
112746         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
112747         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
112748         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
112749         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
112750         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
112751         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
112752         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
112753         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
112754         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
112755         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
112756         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
112757         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
112758         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
112759         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
112760         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
112761         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
112762         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
112763         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
112764         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
112765         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
112766         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
112767         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
112768         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
112769         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
112770         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
112771         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
112772         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
112773         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
112774         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
112775         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
112776         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
112777         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
112778         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
112779         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
112780         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
112781         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
112782         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
112783         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
112784         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
112785         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
112786         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
112787         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
112788         lib/yesno.c, lib/yesno.h:
112789         Update FSF postal mail address.
112791 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
112793         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
112794         tests/test-memmem.c, tests/test-stpncpy.c:
112795         Update FSF postal mail address.
112797 2005-05-13  Bruno Haible  <bruno@clisp.org>
112799         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
112800         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
112801         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
112802         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
112803         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
112804         Add support for 64-bit integers in the MSVC compiler.
112806 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
112808         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
112810 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
112812         * gnulib-tool (func_import): Sort and uniquify recommended includes.
112814 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
112816         * doc/getdate.texi (General date syntax): Don't say that date
112817         date --iso-8601=ns generates acceptable dates; it doesn't yet.
112818         Problem reported by Nic Ferrier.
112820 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
112822         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
112823         specified in ai_socktype. Fix invalid ai_protocol
112824         check. ai_protocol is usually set to 0 or depending on
112825         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
112826         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
112827         ai_socktype / ai_protocol in the returned addrinfo structure.
112829 2005-05-10  Simon Josefsson  <jas@extundo.com>
112831         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
112832         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
112834 2005-05-10  Karl Berry  <karl@gnu.org>
112836         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
112837         (from http://www.gnu.org/licenses).
112838         * doc/COPYING.LIB: also rename to COPYING.LESSER.
112839         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
112840         fdl.texi suffices.
112842 2005-05-10  Karl Berry  <karl@gnu.org>
112844         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
112845         (COPYING.DOC): remove.
112847         * config/srclist-update: new FSF address.
112849 2005-05-10  Derek Price  <derek@ximbiot.com>
112851         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
112852         possible.
112854 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
112855             Bruno Haible  <bruno@clisp.org>
112857         * modules/inet_ntop: New file.
112858         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
112859         inet_ntop.
112861 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
112862             Bruno Haible  <bruno@clisp.org>
112864         * m4/inet_ntop.m4: New file.
112866 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
112867             Bruno Haible  <bruno@clisp.org>
112869         * lib/inet_ntop.h: New file.
112870         * lib/inet_ntop.c: New file, from glibc with modifications.
112872 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
112874         * modules/time_r (License): Change to LGPL.
112875         * modules/extensions (License): Change to LGPL.  Actually,
112876         the license is more permissive than that, but currently gnulib-tool
112877         doesn't know how to handle more-permissive licenses.
112879         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
112880         Problem reported by Dave Love.
112882 2005-05-08  Jim Meyering  <jim@meyering.net>
112884         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
112885         blank.
112887 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
112889         * modules/argmatch (Depends-on): Add stdbool.
112890         * modules/backupfile (Depends-on): Likewise.
112891         * modules/chdir-long (Depends-on): Likewise.
112892         * modules/closeout (Depends-on): Likewise.
112893         * modules/cycle-check (Depends-on): Likewise.
112894         * modules/dirname (Depends-on): Likewise.
112895         * modules/fnmatch (Depends-on): Likewise.
112896         * modules/fsusage (Depends-on): Likewise.
112897         * modules/fwriteerror (Depends-on): Likewise.
112898         * modules/getcwd (Depends-on): Likewise.
112899         * modules/getloadavg (Depends-on): Likewise.
112900         * modules/hard-locale (Depends-on): Likewise.
112901         * modules/makepath (Depends-on): Likewise.
112902         * modules/mountlist (Depends-on): Likewise.
112903         * modules/nanosleep (Depends-on): Likewise.
112904         * modules/posixtm (Depends-on): Likewise.
112905         * modules/quotearg (Depends-on): Likewise.
112906         * modules/readtokens (Depends-on): Likewise.
112907         * modules/readtokens0 (Depends-on): Likewise.
112908         * modules/readutmp (Depends-on): Likewise.
112909         * modules/save-cwd (Depends-on): Likewise.
112910         * modules/strftime (Depends-on): Likewise.
112911         * modules/userspec (Depends-on): Likewise.
112912         * modules/utimecmp (Depends-on): Likewise.
112913         * modules/xgetcwd (Depends-on): Likewise.
112914         * modules/xnanosleep (Depends-on): Likewise.
112915         * modules/xstrtod (Depends-on): Likewise.
112916         * modules/yesno (Depends-on): Likewise.
112918 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
112920         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
112921         needless checks.
112923 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
112925         Merge from coreutils.  Among other things,
112926         add bulletproofing for cases where stdin, stdout, or stderr are closed.
112927         * lib/fd-safer.c: New file.
112928         * lib/fcntl-safer.h, open-safer.c: Remove.
112929         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
112930         * lib/dup-safer.c: Include unistd-safer.h first.
112931         Don't include errno.h.
112932         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
112933         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
112934         * lib/file-type.c: Rely on file-type.h change.
112935         * lib/getloadavg.c: Include unistd-safer.h.
112936         (getloadavg): Use safer open.
112937         * lib/getusershell.c: Include "stdio-safer.h".
112938         (getusershell): Use safer fopen.
112939         * lib/long-options.c (long_options): Use NULL rather than 0.
112940         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
112941         'free'.
112942         * lib/modechange.c: Likewise.
112943         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
112944         (MODE_DONE): New constant.
112945         (struct mode_change): Remove 'next' member.
112946         (make_node_op_equals): New function; like the old one of the
112947         same name, except it allocates an array.
112948         (mode_compile, mode_create_from_ref): Use it.
112949         (mode_compile): Allocate result as an array, not a linked list.
112950         Parse octal string ourself, so that we catch mistakes like "+0".
112951         (mode_adjust): Arg is an array, not a linked list.
112952         * lib/modechange.c: Include stat-macros.h, xalloc.h.
112953         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
112954         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
112955         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
112956         Remove.  This is now stat-macros.h's job.
112957         (talloc): Remove.  All callers replaced by xalloc, so that
112958         our invokers don't have to worry about reporting memory failures.
112959         (make_node_op_equals): Remove.
112960         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
112961         New constants.
112962         (struct mode_change): Moved here from modechange.h.
112963         (mode_append_entry): Remove.
112964         (mode_compile): Remove MASKED_OPS arg, since it encouraged
112965         apps to have incorrect behavior.  Use simpler algorithm for head
112966         and tail.  Don't futz with umask; that's now the job of mode_adjust.
112967         Detect more invalid usages rather than having somewhat-random behavior.
112968         Don't insert an "a=" action, as that leads to incorrect behavior.
112969         (mode_compile, mode_create_from_ref): Return NULL on error instead
112970         of an enum, since now there's only one way to have an error.  All
112971         callers changed.
112972         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
112973         at the correct time.  Simplify calculation of "+u" and its ilk.
112974         Don't mishandle "+X".
112975         (mode_free): Remove "register" and localize decls.
112976         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
112977         (struct mode_change): Move to modechange.c; callers don't
112978         need to see this stuff.
112979         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
112980         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
112981         (mode_change, mode_adjust): Reflect the new signatures noted above.
112982         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
112983         that might redefine system include files.
112984         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
112985         (my_usleep): Use NULL rather than (void *) 0.
112986         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
112987         Use siginterrupt to specify that system calls should be interrupted.
112988         (rpl_nanosleep): Move initialization of suspended closer to call of
112989         my_usleep.
112990         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
112991         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
112992         (desirable_utmp_entry): New function.
112993         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
112994         using x2nrealloc, to simplify logic.
112995         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
112996         size calculation.  Do not assume utmp file is a regular file.
112997         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
112998         (READ_UTMP_CHECK_PIDS): New constant.
112999         * lib/save-cwd.c: Include unistd-safer.h.
113000         (save_cwd): Use fd_safer.
113001         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
113002         [!_LIBC] Include "stat-macros.h" instead.
113003         * lib/unistd-safer.h (fd_safer): New decl.
113005 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
113007         * modules/getloadavg (Depends-on): Add unistd-safer.
113008         * modules/getusershell (Depends-on): Add stdio-safer.
113009         * modules/lstat (Depends-on): Remove xalloc.
113010         * modules/mkstemp (Depends-on): Add stat-macros.
113011         * modules/modechange (Depends-on): Remove xstrtol.
113012         Add stat-macros, xalloc.
113013         * modules/save-cwd (Depends-on): Add unistd-safer.
113014         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
113015         * modules/unistd-safer (Files): Add lib/fd-safer.c
113016         (Makefile.am): Remove lib_SOURCES.
113018         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
113019         Remove fcntl-safer; unistd-safer supersedes it.
113021 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
113023         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
113024         AC_HEADER_STAT.
113025         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
113026         (gl_PREREQ_CHOWN): Remove.
113027         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
113028         it.  Don't require AC_HEADER_STAT.
113029         (gl_PREREQ_LSTAT): Remove.
113030         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
113031         Don't require AC_HEADER_STAT.
113032         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
113033         (gl_PREREQ_RMDIR): Remove.
113034         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
113035         mention stat-macros.h or AC_HEADER_STAT, since we'll make
113036         the stat-macros module a prerequisite.
113037         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
113038         * m4/filemode.m4 (gl_FILEMODE): Likewise.
113039         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
113040         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
113041         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
113042         variable names.
113043         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
113044         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
113045         variable prefixes.
113046         * m4/fcntl-safer.m4: Remove.
113047         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
113048         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
113049         Invoke gl_PREREQ_FD_SAFER.
113050         (gl_PREREQ_FD_SAFER): New macro.
113051         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
113052         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
113053         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
113054         Remove duplicate call to AC_LIBOBJ(readutmp).
113055         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
113057         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
113058         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
113060 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
113062         * MODULES.html.sh (Misc): Add byteswap.
113064 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
113066         * modules/getcwd (Depends-on): Add extensions.
113067         * modules/openat (Depends-on): Likewise.
113069 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
113071         * modules/byteswap: New file.
113073 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
113075         * m4/byteswap.m4: New file.
113077 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
113079         * lib/byteswap_.h: New file.
113081 2005-04-25  Karl Berry  <karl@gnu.org>
113083         * m4/gettext.m4: Update from GNU gettext 0.14.4.
113085 2005-04-25  Albert Chin  <china@thewrittenword.com>
113087         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
113088         Toolkit C bug.
113090 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
113092         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
113093         (func_ln_if_changed): Remove forcibly for no error message
113094         in case file does not exist.
113096 2005-04-19  Simon Josefsson  <jas@extundo.com>
113098         * gnulib-tool (Options): Make --symlink mean --symbolic.
113100 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
113102         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
113104 2005-04-16  Simon Josefsson  <jas@extundo.com>
113106         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
113108 2005-04-15  Simon Josefsson  <jas@extundo.com>
113110         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
113112 2005-04-15  Simon Josefsson  <jas@extundo.com>
113114         * gnulib-tool: Rename --symlink to --symbolic.
113116 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
113118         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
113119         symbolic links to files instead of copying/moving.  Add --aux-dir,
113120         specifying directory relative --dir where auxiliary build tools
113121         are placed.
113123 2005-04-14  Bruno Haible  <bruno@clisp.org>
113125         * modules/allocsa (License): Change to LGPL.
113126         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
113128 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
113130         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
113131         that "UTC +1 second" continues to work.  Problem reported
113132         by Dmitry V. Levin.
113133         (relunit_snumber): New rule.
113134         (relunit): Use it.
113136 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
113138         * lib/getdate.y (universal_time_zone_table): New constant.
113139         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
113140         universal_time_zone_table.
113141         (lookup_zone): Prefer universal_time_zone_table to
113142         local_time_zone_table, so that "GMT" time stamps are allowed in
113143         London during the summer.  Problem reported by Ian Abbott.
113145 2005-04-12  Jim Meyering  <jim@meyering.net>
113147         * lib/human.c (humblock): Set *options even when returning due to
113148         xstrtoumax conversion failure.  Thanks to a used-uninitialized
113149         warning from gcc-4.
113151 2005-04-09  Jim Meyering  <jim@meyering.net>
113153         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
113154         -Wuninitialized: initialize tm0.tm_year.
113156 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
113158         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
113159         count, since there's no maximum.  All uses changed.
113160         Add member dsts_seen.
113161         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
113162         not being INT_MAX.
113163         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
113164         Use pc_rels_seen to decide whether a date is absolute.
113166         * lib/getdate.y (number): Don't overwrite year.
113167         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
113168         check.
113170 2005-04-02  Simon Josefsson  <jas@extundo.com>
113172         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
113173         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
113175 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
113177         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
113178         where no absolute path name can be longer than PATH_MAX.
113180 2005-03-27  Jim Meyering  <jim@meyering.net>
113182         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
113184 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
113186         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
113187         "one's complement" -> "ones' complement" in comment, as per Knuth.
113188         "value of type" -> "type or expression" in comment.
113189         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
113191 2005-03-26  Jim Meyering  <jim@meyering.net>
113193         Comment nits.
113194         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
113195         Correct typos: s/or/of/.
113197 2005-03-26  Jim Meyering  <jim@meyering.net>
113199         * modules/check-include-files: Move to ../ and rename to...
113200         * check-module: ...this.
113202 2005-03-25  Jim Meyering  <jim@meyering.net>
113204         * modules/xvasprintf (Files): Add xalloc.h.
113206 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
113208         * modules/gettext (Files): config/config.rpath ->
113209         build-aux/config.rpath
113210         * modules/iconv (Files): Likewise.
113211         Problem reported by Oskar Liljeblad.
113213 2005-03-23  Jim Meyering  <jim@meyering.net>
113215         * modules/check-include-files: New script to check for
113216         missing dependencies, multiple includes, etc.
113218         * modules/c-strtold (Depends-on): Add xalloc.
113219         * modules/c-strtod (Depends-on): Add xalloc.
113220         * modules/hash (Depends-on): Add xalloc.
113221         (Files): Remove lib/xalloc.h.
113223         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
113224         * modules/userspec (Files): Add lib/inttostr.h.
113226 2005-03-23  Jim Meyering  <jim@meyering.net>
113228         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
113230 2005-03-22  Jim Meyering  <jim@meyering.net>
113232         * modules/stat-macros: New module.
113233         * modules/canonicalize, modules/euidaccess, modules/file-type,
113234         * modules/filemode, modules/lchown, modules/makepath,
113235         * modules/rmdir, modules/stat: Depend on new stat-macros module
113236         rather than listing lib/stat-macros.h manually.
113237         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
113239 2005-03-22  Jim Meyering  <jim@meyering.net>
113241         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
113243 2005-03-22  Bruno Haible  <bruno@clisp.org>
113245         * config/srclist.txt: Replace target directory 'config' with
113246         'build-aux'.
113247         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
113248         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
113249         ../build-aux/.
113251 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
113253         * modules/chdir-long (Depends-on): Add mempcpy.
113255         * modules/acl, modules/backupfile, modules/c-strtod,
113256         modules/c-strtold, modules/canon-host, modules/canonicalize,
113257         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
113258         modules/exclude, modules/exitfail, modules/file-type,
113259         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
113260         modules/getdate, modules/getline, modules/getpagesize,
113261         modules/getpass, modules/getugroups, modules/group-member,
113262         modules/hard-locale, modules/hash, modules/human, modules/idcache,
113263         modules/inttostr, modules/long-options, modules/makepath,
113264         modules/md5, modules/memcasecmp, modules/memcoll,
113265         modules/modechange, modules/mountlist, modules/path-concat,
113266         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
113267         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
113268         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
113269         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
113270         modules/strftime, modules/strndup, modules/strverscmp,
113271         modules/timespec, modules/unlocked-io, modules/userspec,
113272         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
113273         modules/yesno:
113274         Remove lib_SOURCES line from Makefile.am section, as this is now
113275         done automatically by the corresponding Autoconf macro.
113277 2005-03-21  Jim Meyering  <jim@meyering.net>
113279         Changes imported from coreutils.
113281         * lib/cycle-check.c: Don't include xalloc.h.
113283         * lib/path-concat.c: Don't include assert.h.
113284         (path_concat): Remove assertion that would have triggered
113285         for ABASE starting with more than one slash.
113286         Reported by Andreas Schwab.
113288         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
113289         properly when ABASE is an absolute file name.
113290         Correct the description of this function.
113291         Include <assert.h>.
113292         Add an assertion and a test driver.
113293         This fixes a bug introduced on 2004-07-02.
113294         Andreas Schwab reported the resulting failure of cp --parents:
113295         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
113297 2005-03-21  Jim Meyering  <jim@meyering.net>
113299         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
113300         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
113302 2005-03-21  Jim Meyering  <jim@meyering.net>
113303         and  Paul Eggert  <eggert@cs.ucla.edu>
113305         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
113306         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
113307         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
113308         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
113309         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
113310         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
113311         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
113312         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
113313         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
113314         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
113315         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
113316         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
113317         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
113318         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
113319         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
113320         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
113321         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
113322         for these modules.
113324 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
113326         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
113327         (which shouldn't happen), generate nothing instead of returning 0
113328         immediately, so that nstrftime (NULL, ...) doesn't return 0.
113330 2005-03-16  Bruno Haible  <bruno@clisp.org>
113332         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
113333         HAVE_LONGLONG_64BIT.
113335 2005-03-16  Bruno Haible  <bruno@clisp.org>
113337         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
113338         HAVE_LONGLONG_64BIT.
113340 2005-03-16  Bruno Haible  <bruno@clisp.org>
113342         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
113343         HAVE_LONGLONG_64BIT.
113345 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
113347         * lib/strftime.c (my_strftime): Prepend space to format so that we can
113348         reliably distinguish strftime failure from empty output on POSIX
113349         hosts.
113351 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
113353         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
113354         (iconv_string): Don't guess a size-zero buffer, as that might cause
113355         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
113356         result would be 'too large', where 'too large' is (heuristically)
113357         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
113358         overflow concerns.  This will prevent some unwanted malloc failures
113359         when the inputs are very large.
113361 2005-03-15  Karl Berry  <karl@gnu.org>
113363         * config/srclist.txt (config.rpath): from gettext.
113364         * config/config.rpath: update.
113366 2005-03-15  Bruno Haible  <bruno@clisp.org>
113368         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
113369         to 'negate'.
113371         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
113372         variable.
113374         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
113375         results.
113377 2005-03-14  Simon Josefsson  <jas@extundo.com>
113379         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
113380         <fx@gnu.org>.
113382 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
113384         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
113385         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
113386         intprops.h.
113387         * lib/strtol.c: Likewise.
113389 2005-03-14  Jim Meyering  <jim@meyering.net>
113391         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
113392         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
113393         to be nonzero so that we (and caller) can detect the difference
113394         between a valid zero-length expansion and an error return, even
113395         when the underlying strftime fails before writing anything into
113396         that location.
113398 2005-03-14  Bruno Haible  <bruno@clisp.org>
113400         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
113401         Update from GNU gettext 0.14.3.
113403 2005-03-10  Jim Meyering  <jim@meyering.net>
113405         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
113407 2005-03-10  Jim Meyering  <jim@meyering.net>
113409         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
113410         so that this module works on systems without fchdir.
113412 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
113414         Factor int-properties macros into a single file, except for
113415         glibc-related files.
113416         * lib/intprops.h: New file.
113417         * lib/getloadavg.c: Include it instead of limits.h.
113418         (INT_STRLEN_BOUND): Remove.
113419         * lib/human.c: Include intprops.h.
113420         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
113421         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
113422         302/1000.
113423         * lib/inttostr.h: Include intprops.h instead of limits.h.
113424         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
113425         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
113426         for consistency with intprops.h.
113427         (time_t_is_integer, twos_complement_arithmetic): Use them.
113428         * lib/sig2str.h: Include <signal.h>, intprops.h.
113429         (INT_STRLEN_BOUND): Remove.
113430         * lib/strftime.c (TYPE_SIGNED): Remove.
113431         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
113432         * lib/strtol.c: Adjust comments to match intprops.h.
113433         * lib/userspec.c: Include intprops.h.
113434         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
113435         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
113436         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
113437         instead of rolling our own expressions.
113438         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
113440         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
113441         instead of int.
113442         (my_strftime): Do not mishandle years close to INT_MAX, by doing
113443         the right thing even if adding 1900 would overflow.  Similarly
113444         for tm_mon + 1 and tm_yday + 1.
113445         Make %Y always equivalent to %C%y, and similarly for %G and %g.
113446         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
113447         (DO_SIGNED_NUMBER): New macro.
113448         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
113450 2005-03-07  Bruno Haible  <bruno@clisp.org>
113452         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
113454 2005-03-07  Bruno Haible  <bruno@clisp.org>
113456         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
113458 2005-03-04  Derek R. Price  <derek@ximbiot.com>
113460         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
113461         (func_import): Only replace files via --import when they have actually
113462         changed.
113464 2005-03-03  Derek R. Price  <derek@ximbiot.com>
113466         * m4/mmap-anon.m4: New file.
113467         * m4/pagealign_alloc.m4: New file.
113469 2005-03-03  Derek R. Price  <derek@ximbiot.com>
113470             Bruno Haible  <bruno@clisp.org>
113472         * modules/pagealign_alloc: New file.
113473         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
113475 2005-03-03  Derek R. Price  <derek@ximbiot.com>
113476             Bruno Haible  <bruno@clisp.org>
113478         * lib/pagealign_alloc.h: New file.
113479         * lib/pagealign_alloc.c: New file.
113481 2005-03-03  Bruno Haible  <bruno@clisp.org>
113483         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
113484         Use an all-permissive copyright notice, recommended by RMS.
113486 2005-03-02  Bruno Haible  <bruno@clisp.org>
113488         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
113489         of AIX, the replacement has to be done only after <string.h> is
113490         included, therefore not in config.h. stpncpy.h does the replacement,
113491         and stpncpy.c uses it.
113493 2005-03-02  Bruno Haible  <bruno@clisp.org>
113495         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
113496         stpncpy.c uses it.
113498 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
113500         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
113501         The workaround isn't strictly needed for POSIX conformance, and
113502         it's too much of a pain to configure and maintain.  We'll ask
113503         people to fix their kernels instead.
113504         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
113505         (NANOSLEEP_BUG_WORKAROUND): Remove.
113506         (xnanosleep): Remove the workaround.
113508 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
113510         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
113511         Reported by Derek Price.
113512         (Include): Add "timespec.h".
113514         * modules/xnanosleep (Depends-on): Remove gethrxtime.
113516 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
113518         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
113519         to detect nanosleep bug.
113521 2005-03-01  Bruno Haible  <bruno@clisp.org>
113523         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
113525 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
113527         * modules/gethrxtime: New file.
113528         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
113529         (Depends-on): Add gethrxtime.
113530         (configure.ac): Add gl_XNANOSLEEP.
113531         (Makefile.am): Remove lib_SOURCES line.
113533 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
113535         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
113536         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
113538 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
113540         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
113541         * lib/timespec.h (gettime): Return void, since it always
113542         succeeds now.  All uses changed.
113543         * lib/gettime.c (gettime): Likewise.
113544         [HAVE_NANOTIME]: Prefer nanotime.
113545         Assume gettimeofday succeeds, as POSIX requires.
113546         Assime time () succeeds, since other code already does.
113547         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
113548         (timespec_subtract): Remove.
113549         (NANOSLEEP_BUG_WORKAROUND): New constant.
113550         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
113551         things considerably.  Use it only on GNU/Linux hosts, since the
113552         workaround shouldn't be needed elsewhere.
113554 2005-02-24  Bruno Haible  <bruno@clisp.org>
113556         * modules/gettext (Files): Add m4/glibc2.m4.
113558 2005-02-24  Bruno Haible  <bruno@clisp.org>
113560         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
113561         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
113562         * m4/progtest.m4:
113563         Update from GNU gettext 0.14.2.
113564         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
113566 2005-02-24  Bruno Haible  <bruno@clisp.org>
113568         * lib/localcharset.c: Update from GNU gettext 0.14.2.
113569         * lib/config.charset: Update from GNU gettext 0.14.2.
113571 2005-02-24  Bruno Haible  <bruno@clisp.org>
113573         * lib/gettext.h: Update from GNU gettext 0.14.2.
113575 2005-02-23  Simon Josefsson  <jas@extundo.com>
113577         * m4/iconvme.m4: New file.
113579 2005-02-23  Jim Meyering  <jim@meyering.net>
113581         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
113582         change.
113583         Thanks to Bruno Haible for catching it.
113585 2005-02-22  Simon Josefsson  <jas@extundo.com>
113587         * modules/iconvme: New file.
113589         * MODULES.html.sh: Add iconvme.
113591 2005-02-22  Simon Josefsson  <jas@extundo.com>
113593         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
113595 2005-02-22  Simon Josefsson  <jas@extundo.com>
113597         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
113599 2005-02-22  Jim Meyering  <jim@meyering.net>
113601         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
113602         s/ifndef/ifdef/.
113604 2005-02-20  Neil Conway  <neilc@samurai.com>
113606         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
113607         returned by OSX/Darwin if the specified buffer is not large
113608         enough for the hostname.
113610 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
113612         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
113613         pass it to _help, otherwise the latter coredumps trying to
113614         dereference state.root_argp.
113616 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
113618         * modules/chdir-long (Depends-on): Add memrchr.
113619         * modules/memrchr (Files): Add lib/memrchr.h.
113620         (Include): "memrchr.h".
113622 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
113624         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
113626 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
113628         * lib/memrchr.h: New file.
113629         * lib/chdir-long.c: Include it.
113630         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
113631         Don't bother including stddef.h.
113633 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
113635         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
113636         inclusion.
113637         Include <sys/types.h>, for dev_t.
113638         (ME_DUMMY, ME_REMOTE): Move from here....
113639         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
113640         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
113641         Dmitry V. Levin.
113642         Include mountlist.h first, to test the interface.
113644 2005-01-29  Bruno Haible  <bruno@clisp.org>
113646         * lib/progname.c (program_name): Initialize.
113647         Needed when linking statically on MacOS X.
113649 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
113651         Sync from coreutils.
113652         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
113653         (Depends-on): Add c-strtod.
113654         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
113656 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
113658         Sync from coreutils.
113659         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
113661         Remove files that are specific to coreutils.
113662         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
113664 2005-01-28  Bruno Haible  <bruno@clisp.org>
113666         * modules/javacomp: New file.
113667         * MODULES.html.sh (Java): Add javacomp.
113669 2005-01-28  Bruno Haible  <bruno@clisp.org>
113671         * m4/javacomp.m4: New file, from GNU gettext.
113673 2005-01-28  Bruno Haible  <bruno@clisp.org>
113675         * lib/javacomp.sh.in: New file, from GNU gettext.
113676         * lib/javacomp.h: New file, from GNU gettext.
113677         * lib/javacomp.c: New file, from GNU gettext.
113679 2005-01-26  Simon Josefsson  <jas@extundo.com>
113681         * lib/gai_strerror.c: Use GPL in header.
113683 2005-01-26  Bruno Haible  <bruno@clisp.org>
113685         * modules/javaexec: New file.
113686         * MODULES.html.sh (Java): Add javaexec.
113688 2005-01-26  Bruno Haible  <bruno@clisp.org>
113690         * m4/javaexec.m4: New file, from GNU gettext.
113692 2005-01-26  Bruno Haible  <bruno@clisp.org>
113694         * lib/javaexec.sh.in: New file, from GNU gettext.
113695         * lib/javaexec.h: New file, from GNU gettext.
113696         * lib/javaexec.c: New file, from GNU gettext.
113698 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
113700         * modules/lchown (Depends-on): Remove lchown.h
113702 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
113704         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
113705         must be defined if the header file was not found, in order
113706         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
113708 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
113710         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
113711         initializers for struct pentry_state.
113712         (__argp_error): Check return value of __asprintf
113713         (__argp_failure): Translate error message
113715         * lib/argp-parse.c: Removed braces around the expansion of N_()
113717 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
113719         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
113720         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
113721         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
113722         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
113723         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
113724         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
113725         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
113726         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
113727         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
113728         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
113729         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
113730         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
113731         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
113732         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
113733         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
113734         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
113735         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
113736         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
113737         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
113738         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
113739         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
113740         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
113741         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
113742         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
113743         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
113744         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
113745         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
113746         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
113747         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
113748         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
113749         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
113750         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
113751         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
113752         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
113753         xstrtol.m4, xstrtoumax.m4, yesno.m4:
113754         Use an all-permissive copyright notice, recommended by RMS.
113756 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
113758         * modules/chdir-long (Depends-on): Remove mempcpy.
113760 2005-01-21  Jim Meyering  <jim@meyering.net>
113762         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
113763         same value as for Solaris 9.
113765         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
113766         component length.  This included changing the parameter to be
113767         of type `char *' rather than `char const *'.
113768         * lib/chdir-long.h (chdir_long): Update prototype.
113770         * lib/openat.c (fdopendir, fstatat): New functions.
113771         * lib/openat.h: Include headers required for use of DIR and struct
113772         stat.
113773         [AT_SYMLINK_NOFOLLOW]: Define.
113774         (fdopendir, fstatat): Add prototypes.
113776 2005-01-21  Bruno Haible  <bruno@clisp.org>
113778         * modules/classpath: New file.
113779         * MODULES.html.sh (Java): Add classpath.
113781 2005-01-21  Bruno Haible  <bruno@clisp.org>
113783         * lib/classpath.h: New file, from GNU gettext.
113784         * lib/classpath.c: New file, from GNU gettext.
113786 2005-01-20  Simon Josefsson  <jas@extundo.com>
113788         * modules/version-etc-fsf: New file.
113790 2005-01-20  Simon Josefsson  <jas@extundo.com>
113792         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
113793         * lib/version-etc.c: Remove version_etc_copyright.
113794         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
113795         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
113797 2005-01-20  Simon Josefsson  <jas@extundo.com>
113799         * lib/base64.h (isbase64): Add.
113801         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
113802         using a unsigned prototype, don't inline.
113803         (base64_decode): Use it.
113805 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
113807         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
113808         it.
113810 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
113812         * lib/save-cwd.c (save_cwd): Remove code to support the case
113813         where fchdir is missing or flaky.
113815 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
113817         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
113819 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
113821         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
113822         AC_LIBSOURCES now does this.
113823         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
113824         with new ullong_max module.
113826 2005-01-19  Bruno Haible  <bruno@clisp.org>
113828         * modules/sh-quote: New file.
113829         * MODULES.html.sh (Executing programs): Add sh-quote.
113831 2005-01-19  Bruno Haible  <bruno@clisp.org>
113833         * lib/sh-quote.h: New file, from GNU gettext.
113834         * lib/sh-quote.c: New file, from GNU gettext.
113836 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
113838         Merge from coreutils.
113839         * m4/ullong_max.m4: New file.
113840         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
113841         (gl_MACROS): Assume localeconv exists.
113843 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
113845         Merge changes from coreutils, as described below in several
113846         changelogs dated today.
113848         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
113849         (O_DIRECTORY): Remove; not needed here, since "." must be
113850         a directory.  All uses removed.
113851         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
113852         universal on Suns, and we also need to test for IRIX.
113853         Revamp code to use 'if' rather than '#if'.
113854         Avoid unnecessary comparison of cwd->desc to 0.
113856         * lib/utimens.c (futimens): Robustify the previous patch, by checking
113857         for known valid error numbers rather than observed invalid ones.
113859 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
113861         * modules/ullong_max: New file.
113863         * modules/chdir-long, modules/openat: New files.
113864         * modules/save-cwd (Depends-on): Depend on chdir-long.
113865         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
113867 2005-01-18  Jim Meyering  <jim@meyering.net>
113869         Merge from coreutils.
113870         * m4/chdir-long.m4, m4/openat.m4: New files.
113871         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
113872         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
113873         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
113874         is sane and DOES follow symlinks.  Besides, testing 20 different
113875         systems found no broken chown implementations.
113876         Prompted by a change in rsync's copy of this macro.
113877         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
113879         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
113881         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
113882         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
113883         NULL-means-set-to-current-time semantics.
113884         Remove temporary file immediately, rather than waiting
113885         for configure's at-exit trap code to do it.
113887 2005-01-18  Jim Meyering  <jim@meyering.net>
113889         * lib/version-etc.c (version_etc_copyright): Update copyright date.
113891         * lib/utimens.c (futimens): Account for the fact that futimes
113892         can also fail with errno == ENOSYS or errno == ENOENT.
113893         Patch from Dmitry V. Levin.
113895         Change the name of the robust chdir function from chdir to chdir_long.
113896         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
113897         (restore_cwd): Use chdir_long, not chdir.
113898         * lib/chdir-long.c: Renamed from chdir.c.
113899         * lib/chdir-long.h: Renamed from chdir.h.
113900         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
113901         Hurd.
113903 2005-01-18  Bruno Haible  <bruno@clisp.org>
113905         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
113906         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
113907         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
113908         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
113909         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
113910         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
113911         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
113912         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
113913         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
113914         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
113915         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
113916         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
113917         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
113918         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
113919         Use an all-permissive copyright notice, recommended by RMS.
113921 2005-01-18  Bob Proulx  <bob@proulx.com>
113923         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
113924         simplify offsetof() macro construct to avoid compile failure with
113925         native HP-UX 11.0 ANSI C compiler.
113927 2005-01-17  Bruno Haible  <bruno@clisp.org>
113929         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
113930         redundant because stpncpy.m4 takes care of it.
113932 2005-01-17  Bruno Haible  <bruno@clisp.org>
113934         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
113936 2005-01-17  Bruno Haible  <bruno@clisp.org>
113938         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
113939         used.
113941 2005-01-17  Bruno Haible  <bruno@clisp.org>
113943         * lib/fwriteerror.h (fwriteerror): Change specification to include
113944         fclose.
113945         * lib/fwriteerror.c: Include <stdbool.h>.
113946         (fwriteerror): At the end, close the file stream. Record whether
113947         stdout was already closed.
113949 2005-01-17  Bruno Haible  <bruno@clisp.org>
113951         * lib/execute.c (environ): Declare if needed.
113952         * lib/pipe.c (environ): Likewise.
113953         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
113955 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
113957         * modules/argp: Depend on vsnprintf
113959 2005-01-10  Jim Meyering  <jim@meyering.net>
113961         * modules/closeout (Depends-on): Add atexit.
113963 2005-01-06  Bruno Haible  <bruno@clisp.org>
113965         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
113967 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
113969         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
113970         definitions to be after all include files, to avoid collisions.
113971         Problem reported by Bob Proulx.
113973 2005-01-04  Jim Meyering  <jim@meyering.net>
113975         Changes imported from coreutils.
113976         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
113977         as the mkstemp template, use a temporary directory and an
113978         8.3-friendly template to avoid trouble on systems like DJGPP.
113979         Reported by Juan M. Guerrero via Stepan Kasal.
113980         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
113981         close. Remove the temporary directory right away, rather than waiting
113982         for configure's at-exit trap code to do it.
113983         Suggestion from Stepan Kasal.
113985 2005-01-01  Simon Josefsson  <jas@extundo.com>
113987         * gnulib-tool: Print #include directives when --import'ing.
113989 2004-12-28  Simon Josefsson  <jas@extundo.com>
113991         * tests/test-base64.c: Include required header files.  Remove
113992         unused variables.
113994 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
113996         * modules/error (Depends-on): Remove gettext.
113998 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
114000         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
114001         not needed.  This removes a dependency on the gettext module.
114002         [defined _LIBC]: Do not include <libintl.h>; not needed.
114004 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
114006         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
114007         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
114009 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
114011         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
114012         HAVE_DECL_STRTOLD.
114014 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
114016         * modules/getdate (Depends-on): Remove alloca-opt.
114018 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
114020         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
114022 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
114024         * lib/argp-parse.c: Include <stddef.h>.
114025         (alignof, alignto): New macros.
114026         (parser_init): Don't assume that void * is aligned sufficiently
114027         for struct option.
114029         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
114030         need to extend the stack.
114031         (YYINITDEPTH): New macro, so that the initial stack isn't overly
114032         large.
114034 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
114036         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
114038 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
114040         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
114041         (2004-10-24) change.  Apparently this was a false alarm.
114043         * modules/getdate: Depend on alloca-opt, not alloca.
114045 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
114047         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
114048         Remove now-obsolete comment about AIX.
114049         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
114050         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
114051         (YYMAXDEPTH): New macro.
114053 2004-12-18  Simon Josefsson  <jas@extundo.com>
114055         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
114057 2004-12-18  Bruno Haible  <bruno@clisp.org>
114059         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
114061 2004-12-18  Bruno Haible  <bruno@clisp.org>
114063         * lib/fatal-signal.c (fatal_signals): Make non-const.
114064         (init_fatal_signals): New function.
114065         (uninstall_handlers, install_handlers): Ignore signals that were set to
114066         SIG_IGN.
114067         (at_fatal_signal): Call init_fatal_signals.
114068         (init_fatal_signal_set): Likewise. Ignore signals that were set to
114069         SIG_IGN.
114070         Reported by Paul Eggert.
114072 2004-12-18  Bruno Haible  <bruno@clisp.org>
114074         * doc/alloca.texi: New file.
114075         * doc/alloca-opt.texi: New file.
114077 2004-12-17  Jim Meyering  <jim@meyering.net>
114079         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
114080         Otherwise, install-sh could exit with improper exit status when
114081         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
114083 2004-12-16  Simon Josefsson  <jas@extundo.com>
114085         * tests/test-base64.c: Add license.
114087 2004-12-15  Stepan Kasal  <address@hidden>
114089         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
114091 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
114093         * modules/getcwd (Files): Add m4/d-ino.m4.
114094         Suggested by Mark D. Baushke.
114096 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
114098         * lib/getdate.y (textint): New member "negative".
114099         (time_zone_hhmm): New function.
114100         Expect 14 shift-reduce conflicts, not 13.
114101         (o_colon_minutes): New rule.
114102         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
114103         (yylex): Set the "negative" member of signed numbers.
114105 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
114107         * doc/getdate.texi (Time of day items, Time zone items):
114108         Describe new formats +00:00, UTC+00:00.
114110 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
114112         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
114113         spurious "-l"s.  Problem reported by Stepan Kasal.
114115 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
114117         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
114118         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
114120 2004-12-04  Simon Josefsson  <jas@extundo.com>
114122         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
114123         Vandoorselaere <yoann@prelude-ids.org>.
114125 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
114127         Changes imported from coreutils.
114128         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
114129         exist.
114130         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
114132 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
114134         Changes imported from coreutils.
114135         * lib/hard-locale.c: Assume <locale.h> exists.
114136         Include "strdup.h".
114137         (GLIBC_VERSION): New macro.
114138         (hard_locale): Assume setlocale exists.
114139         Rewrite to avoid #ifdef.
114140         Use strdup rather than malloc + strcpy.
114141         * lib/human.c: Assume <locale.h> exists.
114142         (human_readable): Assume localeconv exists.
114144 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
114146         * modules/hard-locale (Depends-on): Add strdup.
114148 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
114150         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
114151         convert T2, not T.  (Imported from libc.)
114153 2004-11-30  Simon Josefsson  <jas@extundo.com>
114155         * modules/restrict (License): Change to LGPL.
114157 2004-11-30  Simon Josefsson  <jas@extundo.com>
114159         * m4/restrict.m4: Add copyright and copying conditions.
114161 2004-11-30  Simon Josefsson  <jas@extundo.com>
114163         * m4/base64.m4: New file.
114165 2004-11-30  Simon Josefsson  <jas@extundo.com>
114167         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
114168         base64.
114170         * tests/test-base64.c: New file.
114172         * modules/base64: New file.
114174 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
114176         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
114177         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
114179         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
114181 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
114183         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
114184         (__getcwd.c): Don't restore errno; glibc doesn't.
114185         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
114186         first, falling back to our code only if its results look suspicious.
114187         Ensure that the resulting buffer is only as large as necessary.
114189         * lib/readutmp.c: Include readutmp.h first.
114190         Include <errno.h>, since readutmp.h no longer does that.
114191         * lib/readutmp.h: Don't include <errno.h>,
114192         <sys/param.h>, <time.h>; not needed to establish interface.
114193         (errno): Remove decl.
114194         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
114195         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
114196         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
114198 2004-11-28  Simon Josefsson  <jas@extundo.com>
114200         * lib/base64.h, base64.c: New file.
114202 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
114204         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
114206 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
114208         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
114209         (Depends-on): Remove pathmax, same.  Add mempcpy.
114210         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
114211         (Makefile.am): Append getcwd.h to lib_SOURCES.
114212         (Include): Add getcwd.h.
114213         (Maintainer): Change from Jim Meyering to "all, glibc",
114214         since getdate now uses intended-for-glibc code.
114215         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
114216         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
114218 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
114220         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
114221         HP's ANSI C compiler.
114222         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
114223         Declaring int functions causes warnings on some modern systems and
114224         shouldn't be needed to compile on ancient ones.
114225         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
114226         defined.
114228         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
114229         with the following changes.
114230         (__set_errno): Parenthesize properly.
114231         Include <stdbool.h>.
114232         (MIN, MAX, MATCHING_INO): New macros.
114233         (__getcwd): Define with prototype, not K&R form.
114234         Use heuristics to allocate default buffer on stack if possible.
114235         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
114236         behavior, and to avoid the PATH_MAX limit when computing
114237         ../../../../...
114238         Use MATCHING_INO to compare inode number to file.
114239         Check for arithmetic overflow in size calculations.
114240         Fix bug in reallocation of dot array that caused getcwd to fail
114241         on directories nested deeper than 75.
114242         Be more careful about saving errno on error.
114243         Do not use realloc; use only free+malloc, as this is a bit
114244         more flexible and avoids a needless copy operation.
114245         Do not inspect st_dev and st_ino for symbolic links; POSIX
114246         doesn't specify the latter.
114247         Check for closedir errors.
114248         Avoid needless casts.
114249         Use "#ifdef weak_alias" around weak_alias, to be like other
114250         glibc code.
114251         The following changes to getcwd.c have effect only when used in
114252         gnulib; they have no effect inside glibc proper.
114253         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
114254         as alloca isn't used.
114255         (alloca, __alloca): Likewise.
114256         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
114257         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
114258         unconditionally, as gnulib assumes C89 or better.
114259         Do not include <sys/param.h>.
114260         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
114261         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
114262         better.
114263         (NULL) [!defined NULL]: Remove; we assume C89 or better.
114264         Include <dirent.h> in a way that is compatible with modern Autoconf.
114265         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
114266         New macros, if not already defined.
114267         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
114268         Use "_LIBC", not "defined _LIBC", for consistency.
114269         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
114270         a mempcpy module.
114271         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
114272         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
114273         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
114274         credit only to Jim Meyering and adjust the copyright dates.
114275         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
114276         <stdlib.h>, <unistd.h>, "pathmax.h".
114277         Instead, include "xgetcwd.h" (first) and "getcwd.h".
114278         (INITIAL_BUFFER_SIZE): Remove.
114279         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
114281 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
114283         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
114284         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
114285         Use the _ONCE methods, for efficiency.
114286         Check for fcntl.h.  In test program, include <errno.h>
114287         and <fcntl.h> if available.  Remove old K&R cruft from
114288         test program.  Check for common errors in GNU/Linux,
114289         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
114290         don't do AC_LIBOBJ, as that's getcwd.m4's job.
114291         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
114292         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
114293         name accordingly.
114294         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
114295         accommodate new getcwd.c.
114296         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
114297         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
114298         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
114299         that's all we need now.
114301 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
114303         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
114304         argp-parse.c depends on getopt internals, that means we should
114305         always use our getopt, to be on the safe side.
114306         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
114307         order not to spoil the result of an eventual previous invocation
114308         of gl_GETOPT_SUBSTITUTE.
114310 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
114312         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
114313         redefinition warnings. To avoid them, include the defines
114314         in `#if !defined __need_getopt ... #endif'. The only place
114315         where __getopt_argv_const is used is in definitions
114316         of getopt_long and getopt_long_only below, which are as well
114317         protected by `#ifndef __need_getopt'.
114318         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
114319         __need_getopt after including <stdio.h> and <unistd.h> These
114320         headers might have defined it.
114322 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
114324         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
114326 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
114328         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
114329         (futimens): New function, which uses futimes if available.
114330         (futimens, utimens): Support timespec==NULL, with same semantics
114331         as utime and utimens.
114332         * lib/utimens.h (futimens): New decl.
114334 2004-11-23  Jim Meyering  <jim@meyering.net>
114336         * lib/getopt_.h: Remove trailing blanks.
114338 2004-11-23  Jim Meyering  <jim@meyering.net>
114340         * lib/__fpending.c: Add comment.
114342 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
114344         * modules/canonicalize (Depends-on): Add xreadlink.
114345         Problem reported by James Youngman.
114347 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
114349         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
114350         New macros.
114351         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
114352         optopt): Use them instead of invoking ## directly; otherwise, the
114353         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
114355 2004-11-19  Bruno Haible  <bruno@clisp.org>
114357         * lib/strtok_r.c: Move comments from here...
114358         * lib/strtok_r.h: ... to here.
114360 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
114362         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
114363         implementations that mishandle size_t overflow.
114365 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
114367         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
114368         might fail.  Problem reported by Yoann Vandoorselaere.
114369         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
114370         implementations that mishandle size_t overflow.
114372 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
114374         * modules/canon-host (Depends-on): Add strdup.
114376 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
114378         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
114380 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
114382         * lib/canon-host.c: Include "strdup.h".
114383         (canon_host): Use getaddrinfo if available, so that IPv6 works.
114384         Use strdup instead of malloc/strcpy to duplicate strings.
114386         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
114387         (human_space_before_unit): New constant.
114388         * lib/human.c (human_readable): Support it.
114390         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
114391         (xgetcwd): Set errno correctly when failing.
114392         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
114393         the failure is actually due to a PATH_MAX problem.
114395         Further getopt changes to make it more likely that glibc will
114396         buy the changes back.
114397         * lib/getopt.c (POSIXLY_CORRECT): New constant.
114398         (getopt): Use it, so to preserve glibc semantic
114399         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
114400         when compiling for libc.
114401         * lib/getopt_.h (__getopt_argv_const): Bring it back.
114402         (getopt_long, getopt_long_only): Use it.
114404         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
114405         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
114406         (getopt): Argv is now char * const *, as per standard.
114407         (_getopt_internal_r, _getopt_internal): Argv is now char **,
114408         not char *__getopt_argv_const *.
114409         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
114410         _getopt_long_only_r): Likewise.
114411         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
114412         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
114413         _getopt_long_r, _getopt_long_only_r): Likewise.
114414         * lib/getopt_.h (__getopt_argv_const): Remove.
114415         (getopt): Argv is now char * const *, as per standard.
114417         * lib/getdate.y (tORDINAL): New token.
114418         (day, relunit): Allow it for relative times.
114419         (relative_time_table): Use tORDINAL for ordinals.
114421 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
114423         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
114424         Document that "second" isn't allowed as an ordinal number.
114426 2004-11-16  Jim Meyering  <jim@meyering.net>
114428         * modules/closeout (Depends-on): Add fpending.
114430 2004-11-15  Jim Meyering  <jim@meyering.net>
114432         * lib/closeout.c: Include "__fpending.h" once again.
114433         Include <stdbool.h>.
114434         (close_stdout): Don't fail just because stdout was closed initially,
114435         since some programs don't write to stdout in the normal course of
114436         operation (other than --version and --help), and we don't want this
114437         function to make e.g. `touch file >&-' fail.
114438         But do fail if it was closed and someone has tried to write to it.
114439         E.g., `printf foo >&-' must fail.
114441 2004-11-13  Jim Meyering  <jim@meyering.net>
114443         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
114445 2004-11-12  Simon Josefsson  <jas@extundo.com>
114447         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
114448         small doc fix is still pending.
114450 2004-11-11  Simon Josefsson  <jas@extundo.com>
114452         * modules/strtok_r: New file.
114454         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
114455         strtok_r.
114457 2004-11-11  Simon Josefsson  <jas@extundo.com>
114459         * m4/strtok_r.m4: New file.
114461         * m4/getopt.m4: Replace opterr.
114463 2004-11-11  Simon Josefsson  <jas@extundo.com>
114465         * lib/strtok_r.h, strtok_r.c: New file.
114467 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
114469         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
114470         of replacing opterr, getopt, etc.  This should handle the
114471         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
114473 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
114475         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
114476         we can stop lying to compilers about the constness of argv when we
114477         are compiled outside glibc.
114478         (getopt, getopt_long, getopt_long_only): Use it.
114479         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
114480         _getopt_internal, getopt): Likewise.
114481         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
114482         _getopt_long_only_r): Likewise.
114483         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
114484         _getopt_long_r, _getopt_long_only_r): Likewise.
114486         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
114487         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
114488         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
114489         the other external symbols.
114490         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
114491         declaration, since the above renaming now works around collisions.
114493 2004-11-11  Jim Meyering  <jim@meyering.net>
114495         * lib/linebreak.c: Remove trailing blanks.
114496         * lib/alloca_.h: Likewise.
114497         * lib/acosl.c: Likewise.
114498         * lib/euidaccess.c: Likewise.
114499         * lib/allocsa.h: Likewise.
114501 2004-11-10  Simon Josefsson  <jas@extundo.com>
114503         * m4/getaddrinfo.m4: New file.
114505 2004-11-10  Simon Josefsson  <jas@extundo.com>
114507         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
114509 2004-11-10  Simon Josefsson  <jas@extundo.com>
114511         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
114512         getaddrinfo.
114514         * modules/getaddrinfo: New file.
114516 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
114518         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
114520 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
114522         * lib/mktime.c (SHR): New macro, which is a portable
114523         substitute for >> that should work even on Crays.
114524         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
114525         Problem reported by Mark D. Baushke in
114526         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
114527         * lib/getdate.y (SHR): Likewise.
114528         (tm_diff): Use it.
114529         * lib/strftime.c (SHR): Likewise.
114530         (tm_diff): Use it.
114531         * lib/quotearg.c (struct quoting_options): Use unsigned int for
114532         quote_these_too, so that right shifts are well defined.  All uses
114533         changed.
114535 2004-11-10  Jim Meyering  <jim@meyering.net>
114537         Ensure that no close failure goes unreported.
114538         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
114539         return early when it seems there's nothing to flush.
114540         Don't include __fpending.h.
114542 2004-11-10  Jim Meyering  <jim@meyering.net>
114544         * modules/closeout (Depends-on): Remove fpending.
114546 2004-11-10  Jim Meyering  <jim@meyering.net>
114548         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
114550 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
114552         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
114553         gl_FUNC_STRFTIME.
114554         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
114555         and AC_REQUIRE when possible, to avoid duplicate checks.
114556         Check for <wchar.h>.
114558 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
114560         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
114562 2004-11-09  Bruno Haible  <bruno@clisp.org>
114564         * m4/sockpfaf.m4: New file.
114566 2004-11-05  Bruno Haible  <bruno@clisp.org>
114568         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
114569         Reported by Mark D. Baushke <mdb@cvshome.org>.
114571 2004-11-04  Bruno Haible  <bruno@clisp.org>
114573         2004-09-11  Bruno Haible  <bruno@clisp.org>
114574                 * allocsa.valgrind: New file.
114575         2004-02-06  Bruno Haible  <bruno@clisp.org>
114576                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
114577                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
114578                 Reported by Christopher Seip <chris.seip@hp.com>.
114580 2004-11-04  Bruno Haible  <bruno@clisp.org>
114582         * modules/allocsa (Files): Add lib/allocsa.valgrind.
114583         (Makefile.am): Distribute it.
114585 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
114587         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
114588         with errno == ERANGE if the buffer is too small.
114589         Problem reported by Mark D. Baushke.
114591 2004-11-03  Albert Chin  <china@thewrittenword.com>
114592             Paul Eggert  <eggert@cs.ucla.edu>
114594         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
114595         equivalent, substitute $ac_type for equivalent type rather than
114596         blindly using uint32_t *always* which won't work if uint32_t is not
114597         available.  Define _UINT32_T to work around typedef of uint32_t if
114598         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
114599         2.5.1.
114601 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
114603         * m4/jm-macros.m4: Sync from coreutils.
114604         (gl_MACROS): Check for mbrlen, for pathchk.
114605         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
114607 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
114609         * lib/xreadlink.c (MAXSIZE): New macro.
114610         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
114611         size does not exceed MAXSIZE.  Avoid cast.
114612         As suggested by Mark D. Baushke in
114613         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
114614         if readlink fails with buffer size just under MAXSIZE, try again
114615         with MAXSIZE.
114617 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
114619         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
114621 2004-11-02  Derek R. Price  <derek@ximbiot.com>
114622         and  Paul Eggert  <eggert@cs.ucla.edu>
114624         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
114625         (get_date): Overparenthesize to avoid GCC warning.
114627 2004-11-02  Bruno Haible  <bruno@clisp.org>
114629         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
114630         returns void.
114632 2004-11-02  Bruno Haible  <bruno@clisp.org>
114634         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
114635         function returns void.
114637 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
114639         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
114640         fflush_unlocked, flockfile, funlockfile, funlockfile,
114641         fputs_unlocked, putc_unlocked.
114643 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
114645         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
114646         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
114647         already declared.
114649 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
114651         * modules/getdate (Files): Add doc/getdate.texi.
114652         (Depends-on): Add setenv, xalloc.
114654 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
114656         * lib/getdate.y: Add support for TZ="foo" within a date string.
114657         Fix some bugs near time_t boundaries.  Reject dates with
114658         out-of-range components, e.g., "Sept 31".
114659         Include <stdlib.h>, "setenv.h", "xalloc.h".
114660         (ISDIGIT_LOCALE): Remove; unused.
114661         Note that the TZ and time functions used here are not reentrant.
114662         (mktime_ok, get_tz): New functions.
114663         (TZBUFSIZE): New constant.
114664         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
114665         This requires that we sometimes generate our own TZ="XXX..." setting.
114667 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
114669         * doc/getdate.texi: New file, from coreutils with modifications for
114670         the new TZ parsing.
114672 2004-10-27  Derek R. Price  <derek@ximbiot.com>
114674         * lib/mktime.c (not_equal_tm): Remove redundant check.
114676 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
114678         * modules/regex (lib_SOURCES): Add regex.c.
114679         Reported by James Youngman in
114680         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
114682 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
114684         * lib/getdate.y: Use Bison 1.875 features, and some minor
114685         code cleanups.  This change does not affect semantics.
114686         Don't include <stdlib.h>; no longer needed.
114687         Don't include unlocked-io.h; only the "#if TEST" code uses
114688         stdio, and performance isn't crucial there.
114689         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
114690         Bison 1.875 features as described below.
114691         All uses of "PC." replaced by "pc->".
114692         (YYSTYPE): Add a forward declaration.
114693         (yylex, yyerror): Use full prototypes in forward decls.
114694         Use "%pure-parser" rather than obsolescent "%pure_parser".
114695         Use %parse-param and %lex-param instead of obsolescent
114696         YYPARSE_PARAM and YYLEX_PARAM.
114697         (meridian_table, month_and_day_table, time_units_table,
114698         relative_time_table, time_zone_table, military_table,
114699         lookup_zone, lookup_word, get_date):
114700         Use NULL instead of 0 where appropriate.
114701         (to_hour): Avoid abort (), to avoid a dependency on
114702         stdlib.h.
114703         (yyerror, yylex): Now accepts parser_control * arg.
114704         (main) [TEST]: Use '\0' rather than 0 for char.
114706 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
114708         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
114710 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
114712         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
114713         It's now the caller's responsibility to handle the case where
114714         !HAVE_GETPAGESIZE && !defined getpagesize.
114716         * lib/mktime.c (leapyear): Arg is long int, not int.
114718 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
114720         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
114722 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
114724         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
114725         missing.  Problem reported by James Youngman.
114727 2004-10-16  Simon Josefsson  <jas@extundo.com>
114729         * gnulib-tool: Fix comments.  Fix parse problem.
114730         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
114732 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
114734         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
114735         implementation of getopt_long.  Problem reported by Alexander Taler in:
114736         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
114738 2004-10-15  Bruno Haible  <bruno@clisp.org>
114740         * gnulib-tool: Untabify. Initialize supplied_libname.
114741         (func_usage): More homogenous output.
114742         (func_modules_transitive_closure, func_modules_to_filelist,
114743         func_emit_lib_Makefile_am): New functions.
114744         (func_import): New function, extracted from big case statement. Use
114745         func_get_license, func_modules_transitive_closure,
114746         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
114747         opt_lgpl. Don't use test -a, as it's not portable.
114748         (func_create_testdir): Use func_modules_transitive_closure,
114749         func_modules_to_filelist, func_emit_lib_Makefile_am.
114751 2004-10-15  Bruno Haible  <bruno@clisp.org>
114753         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
114755 2004-10-15  Bruno Haible  <bruno@clisp.org>
114757         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
114758         the portions belonging to each module.
114759         Suggested by Derek Robert Price <derek@ximbiot.com>.
114761 2004-10-12  Simon Josefsson  <jas@extundo.com>
114763         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
114764         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
114765         to real functions.
114767 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
114769         * modules/vsnprintf: New file.
114771 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
114773         * m4/vsnprintf.m4: New file.
114775 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
114777         * lib/vsnprintf.h: New file.
114778         * lib/vsnprintf.c: New file.
114780 2004-10-11  Bruno Haible  <bruno@clisp.org>
114782         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
114783         vsnprintf.
114785 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
114787         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
114789 2004-10-07  Bruno Haible  <bruno@clisp.org>
114791         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
114792         fits into the provided buffer.
114794 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
114796         * lib/diacrit.c, diacrit.h: Add GPL notice.
114798         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
114799         notice.
114800         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
114801         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
114802         This avoids a potential constant-folding bug.
114804 2004-10-05  Bruno Haible  <bruno@clisp.org>
114806         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
114807         for the declaration of strsep.
114809 2004-10-05  Bruno Haible  <bruno@clisp.org>
114811         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
114813 2004-10-04  Simon Josefsson  <jas@extundo.com>
114815         * modules/memmem: New file.
114816         * tests/test-memmem.c: New file.
114817         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
114819 2004-10-04  Simon Josefsson  <jas@extundo.com>
114821         * m4/memmem.m4: New file.
114823 2004-10-04  Simon Josefsson  <jas@extundo.com>
114825         * lib/memmem.h: New file.
114826         * lib/memmem.c: New file, taken from glibc.
114828 2004-10-04  Simon Josefsson  <jas@extundo.com>
114830         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
114831         '#ifdef USE_UNLOCKED_IO'.
114833 2004-10-04  Simon Josefsson  <jas@extundo.com>
114835         * config/srclist.txt: Add memmem from glibc.
114837 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
114839         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
114841         * modules/argmatch, modules/argp, modules/closeout, modules/error,
114842         modules/exclude, modules/getdate, modules/getline,
114843         modules/getndelim2, modules/getpass, modules/getpass-gnu,
114844         modules/getusershell, modules/linebuffer, modules/md5,
114845         modules/mountlist, modules/posixtm, modules/readtokens,
114846         modules/readutmp, modules/regex, modules/sha1,
114847         modules/version-etc, modules/yesno:
114848         Remove dependency on unlocked-io.
114850 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
114852         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
114854         * m4/unlocked-io.m4: Add copyright notice.
114855         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
114857 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
114859         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
114860         * lib/xmalloc.c (xmemdup): Likewise.
114861         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
114862         XFREE): Remove these long-obsolescent macros.
114863         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
114864         * lib/xstrdup.c: Remove.
114866         * lib/regex.c (re_comp): Cast gettext return value to char *,
114867         Problem reported by Martin Neitzel via Mark D. Baushke.
114869 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
114871         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
114872         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
114873         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
114874         regex.c, sha1.c, version-etc.c, yesno.c:
114875         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
114876         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
114877         the includer's responsibility.
114879         Sync from coreutils.
114881         * lib/modechange.c (mode_compile): Don't decrement a pointer that
114882         points to the start of a string, as the C Standard says the
114883         resulting behavior is undefined.
114885         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
114886         simple -> simple_backups, numbered_existing ->
114887         numbered_existing_backups, numbered -> numbered_backups
114888         to avoid shadowing problems.  All uses changed.
114889         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
114890         * lib/backupfile.c (check_extension, numbered_backup):
114891         Rename locals to avoid shadowing 'basename'.
114892         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
114893         once.
114895         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
114896         * lib/.cvsignore: Add getopt.h.
114898 2004-10-04  Bruno Haible  <bruno@clisp.org>
114900         * modules/README: New file.
114901         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
114902         not a module.
114904 2004-10-02  Jim Meyering  <jim@meyering.net>
114906         * lib/dirfd.h, getpagesize.h: Add copyright notice.
114908 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
114910         * modules/strsep: New file.
114912 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
114914         * m4/strsep.m4: New file.
114916 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
114918         * lib/strsep.h: New file.
114919         * lib/strsep.c: New file.
114921 2004-10-01  Simon Josefsson  <jas@extundo.com>
114923         * lib/snprintf.c (snprintf): Handle size==0.
114925 2004-10-01  Simon Josefsson  <jas@extundo.com>
114926             Bruno Haible  <bruno@clisp.org>
114928         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
114929         (snprintf): Declare 'args'.
114931 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
114933         * lib/snprintf.c: Remove comments as to why each header is needed.
114935 2004-10-01  Bruno Haible  <bruno@clisp.org>
114937         * MODULES.html.sh: Add strsep.
114939 2004-09-30  Simon Josefsson  <jas@extundo.com>
114941         * modules/snprintf: New file.
114943 2004-09-30  Simon Josefsson  <jas@extundo.com>
114945         * m4/snprintf.m4: New file.
114947 2004-09-30  Simon Josefsson  <jas@extundo.com>
114949         * lib/snprintf.h, lib/snprintf.c: New files.
114951 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
114953         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
114954         (hol_entry_help): Never translate an empty string.
114955         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
114956         * lib/argp.h (OPTION_NO_TRANS): New option.
114958 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
114960         * modules/argp (Maintainer): Replace Simon Josefsson
114961         by Sergey Poznyakoff.
114963 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
114965         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
114966         changes merged back into glibc.
114968 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
114970         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
114972 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
114974         * lib/xvasprintf.c: Include xalloc.h.
114975         (xvasprintf): Use xalloc_die, not xmalloc_die.
114977 2004-09-29  Bruno Haible  <bruno@clisp.org>
114979         * modules/alloca-opt: New file, derived from modules/alloca.
114980         * modules/allocsa: Depend on alloca-opt instead of alloca.
114981         * modules/setenv: Likewise.
114982         * modules/vasnprintf: Likewise.
114983         * MODULES.html.sh: Add alloca-opt.
114985 2004-09-28  Simon Josefsson  <jas@extundo.com>
114987         * gnulib-tool: New parameter --lgpl, to asseert that modules are
114988         LGPL, and to replace license template from GPL to LGPL.
114990 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
114992         * modules/dummy: Change license to LGPL.
114994 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
114996         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
114998 2004-09-24  Simon Josefsson  <jas@extundo.com>
115000         * modules/minmax (License): Change from GPL to LGPL.
115002 2004-09-23  Simon Josefsson  <jas@extundo.com>
115004         * gnulib-tool (--import): Typo.
115006 2004-09-23  Simon Josefsson  <jas@extundo.com>
115008         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
115010 2004-09-22  Bruno Haible  <bruno@clisp.org>
115012         * modules/*: Add 'License' field.
115013         * gnulib-tool: Accept --extract-license option.
115014         (func_get_license): New function.
115016 2004-09-21  Bruno Haible  <bruno@clisp.org>
115018         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
115019         Reported by Simon Josefsson.
115021 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
115023         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
115024         gl_AC_TYPE_LONG_LONG.
115026 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
115028         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
115030 2004-09-18  Simon Josefsson  <jas@extundo.com>
115031         and  Paul Eggert  <eggert@cs.ucla.edu>
115033         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
115034         calls with autoreconf.  Define GL_LIB.
115036 2004-09-14  Karl Berry  <karl@gnu.org>
115038         * config/srclist.txt: unsync setenv.c, sigh.
115040 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
115042         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
115043         Problem reported by Bruno Haible in:
115044         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
115046 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
115048         * config/srclist.txt: Comment out argp-pvh.c.
115050 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
115052         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
115053         in case some system header has #define'd it.  Problem reported by
115054         Soeren D. Schulze in
115055         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
115057 2004-09-09  Karl Berry  <karl@gnu.org>
115059         * regex.[ch]: delete from the root.  These were supposed to be
115060                 synced with emacs cvs, but this has not happened for about
115061                 a year, and anyway nothing else uses emacs regex.[ch].
115062                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
115063                 lib/regex[.ch] is untouched.
115065 2004-09-09  Bruno Haible  <bruno@clisp.org>
115067         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
115069 2004-09-09  Bruno Haible  <bruno@clisp.org>
115071         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
115072         modifications.
115073         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
115075 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
115077         * modules/xvasprintf: New file.
115078         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
115080 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
115082         * lib/xvasprintf.h: New file.
115083         * lib/xvasprintf.c: New file.
115084         * lib/xasprintf.c: New file.
115086 2004-09-08  Bruno Haible  <bruno@clisp.org>
115088         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
115090 2004-09-08  Bruno Haible  <bruno@clisp.org>
115092         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
115093         length is > INT_MAX.
115094         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
115095         more.
115097 2004-09-08  Bruno Haible  <bruno@clisp.org>
115099         * lib/stdint_.h: New file, taken from GNU clisp.
115101 2004-09-08  Bruno Haible  <bruno@clisp.org>
115102             Oskar Liljeblad  <oskar@osk.mine.nu>
115104         * modules/stdint: New file.
115105         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
115107 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115109         Import from coreutils.
115110         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
115111         strings on unbounded length.  alloca's performance benefits aren't
115112         that important here.
115113         (V_STRDUP): Remove.
115114         (parse_with_separator): New function, with most of the internals
115115         of the old parse_user_spec.  Allow user to omit both user and group,
115116         for compatibility with FreeBSD.
115117         Clone only the user name, not the entire spec.
115118         Do not set *uid, *gid unless entirely successful.
115119         Avoid memory leak in some failing cases.
115120         Fix regression for USER.GROUP reported by Dmitry V. Levin in
115121         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
115122         (parse_user_spec): Rewrite to use parse_with_separator.
115124 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115126         * modules/userspec: Don't depend on alloca.
115128 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115130         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
115132 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115134         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
115135         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
115136         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
115138 2004-08-16  Simon Josefsson  <jas@extundo.com>
115140         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
115141         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
115142         Add --dry-run for --import.
115143         Let user provided command line parameters override configure.ac
115144         settings.
115146 2004-08-12  Simon Josefsson  <jas@extundo.com>
115148         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
115149         as discussed with Paul Eggert in threads rooted at
115150         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
115151         and
115152         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
115153         Before, the test was empty, and relied on ELIDE_CODE in source
115154         code.)
115155         (gl_PREREQ_GETOPT): New macro.
115156         (gl_GETOPT): Use them.
115158 2004-08-12  Simon Josefsson  <jas@extundo.com>
115160         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
115161         * lib/getopt_.h: Renamed from getopt.h.
115163 2004-08-12  Simon Josefsson  <jas@extundo.com>
115165         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
115166         Change default library name from libfoo to libgnu.
115167         Now, if you have a configure.ac that says:
115168                 gl_SOURCE_BASE(gl)
115169                 gl_M4_BASE(gl/m4)
115170                 gl_MODULES(error getopt etcetera)
115171                 gl_INIT
115172         you can import all you need by running:
115173                 ../gnulib/gnulib-tool --import
115175         * modules/getopt (Files): Rename getopt.h to getopt_.h.
115176         (Makefile.am): Rewrite, use logic from argz.
115177         (Include): Use <getopt.h> instead of "getopt.h".
115179 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
115181         * modules/argp (Files): Add m4/unlocked-io.m4.
115182         (Depends-on): Add extensions.
115184 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
115186         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
115187         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
115188         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
115189         Check for program_invocation_name, program_invocation_short_name,
115190         flockfile, funlockfile, features.h, _getopt_long_only_r.
115192 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
115194         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
115195         its complicated substitute.
115196         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
115197         and program_invocation_name.
115198         (__argp_basename) [!_LIBC]: Remove; the only use was
115199         replaced by its body.
115200         (__argp_short_program_name): Change condition from
115201         !defined __argp_short_program_name to
115202         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
115203         to match argp-namefrob.h.
115204         (__argp_failure): Don't assume strerror_r returns char *.
115205         * lib/argp-parse.c (N_): Define unconditionally.
115206         (argp_default_options): Fill out initializers with 0 to avoid
115207         gcc warnings.
115209 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
115211         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
115212         getopt1.c.
115214 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
115216         Merge from coreutils.
115218         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
115220         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
115221         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
115223 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
115225         Merge from coreutils.
115227         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
115228         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
115229         for Reliant Unix 5.43.
115231         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
115232         (union fooround): Use uintmax_t, not long int.
115233         The rest is a merge from libc:
115234         [defined _LIBC]: Include <shlib-compat.h>.
115235         (_obstack) [defined _LIBC]: Remove after 2.3.4.
115237         * lib/settime.c (settime): Recode to avoid warning with
115238         Sun Forte C 6U2.
115240         * lib/strverscmp.c: Convert to UTF-8.
115242 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
115244         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
115245         m4/uintmax_t.m4.
115247 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115249         * modules/xalloc-die: New file.
115250         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
115252         * modules/md5 (Files): Add m4/uint32_t.m4.
115253         * modules/sha1: Renamed from modules/sha.
115254         (Files):
115255         Rename lib/sha.h to lib/sha1.h.
115256         Rename lib/sha.c to lib/sha1.c.
115257         Rename m4/sha.m4 to m4/sha1.m4.
115258         (lib_SOURCES): Likewise.
115259         (configure.ac): Rename gl_SHA to gl_SHA1.
115260         (Include): sha.h -> sha1.h.
115262 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115264         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
115265         * m4/sha1.m4: Renamed from sha.m4.
115266         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
115268 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115270         * lib/obstack.h (obstack_empty_p):
115271         Don't assume that chunk->contents is suitably aligned.
115272         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
115273         Likewise. Problem reported by Benno in
115274         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
115276         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
115277         readable.  This could be improved further but it'd take some work.
115279 2004-08-08  Simon Josefsson  <jas@extundo.com>
115281         * modules/xgethostname (Depends-on): Remove exit and error (not
115282         used).
115284         * modules/getpass-gnu: Add getpass.h.
115285         (Depends-on): Add stdbool.
115286         * modules/getpass: Add getpass.h.
115288 2004-08-08  Simon Josefsson  <jas@extundo.com>
115290         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
115291         Check getpass declaration.
115293 2004-08-08  Simon Josefsson  <jas@extundo.com>
115295         * lib/xgethostname.c: Don't include error.h (not used).
115297         * lib/getpass.h: Add.
115298         * lib/getpass.c: Include getpass.h first.
115300 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
115302         * lib/xalloc-die.c: New file.
115303         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
115304         All uses removed.
115305         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
115306         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
115307         xalloc-die.c.
115308         (_, N_, xalloc_die): Move to xalloc-die.c.
115309         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
115310         so that we needn't mess with xalloc_msg_memory_exhausted.
115312         * lib/sha1.h: Renamed from sha.h.
115313         (SHA1_H): Renamed from _SHA_H.
115314         (sha1_ctx): Renamed from sha_ctx.
115315         (sha1_init_ctx): Renamed from sha_init_ctx.
115316         (sha1_process_block): Renamed from sha_process_block.
115317         (sha1_process_bytes): Renamed from sha_process_bytes.
115318         (sha1_finish_ctx): Renamed from sha_finish_ctx.
115319         (sha1_read_ctx): Renamed from sha_read_ctx.
115320         (sha1_stream): Renamed from sha_stream.
115321         (sha1_buffer): Renamed from sha_buffer.
115322         * lib/sha1.c: Likewise; renamed from sha.c.
115323         Do not include <sys/types.h>.
115324         Include <stddef.h> rather than <stdlib.h>.
115326 2004-08-08  Bruno Haible  <bruno@clisp.org>
115328         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
115329         FILESYSTEM_PREFIX_LEN.
115330         * lib/progreloc.c: Likewise.
115331         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
115333 2004-08-06  Simon Josefsson  <jas@extundo.com>
115335         * modules/progname (Depends-on): Don't depend on stdbool.
115337 2004-08-06  Simon Josefsson  <jas@extundo.com>
115339         * modules/getsubopt: New file.
115340         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
115341         getsubopt.
115343 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
115345         More merge from coreutils.
115347         * m4/utimens.m4, m4/utimecmp.m4: New files.
115348         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
115349         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
115350         prereq.m4, sha.m4: Import changes from coreutils.
115352 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
115354         More merge from coreutils.
115355         * modules/raise, modules/readtokens0, modules/utimens:
115356         * modules/utimecmp, module/xnanosleep: New files.
115357         * modules/strftime: Add lib/strftime.h.
115358         Change include from <time.h> to "strftime.h".
115359         * modules/yesno: Add lib/yesno.h.
115360         * modules/backupfile: Remove lib/addext.c.
115361         * modules/euidaccess: Add stat-macros.h.
115362         * modules/canonicalize, modules/euidaccess,
115363         modules/filemode, modules/lchown, modules/makepath,
115364         modules/rmdir, modules/stat: Likewise.
115366 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
115368         Merge from tar.
115369         * lib/argp-help.c (make_hol, hol_append): Don't assume that
115370         SIZE_MAX is a valid preprocessor constant.
115371         (__argp_basename): Change from "#ifndef _LIBC"
115372         to "#ifndef __argp_short_program_name", so that
115373         we don't compile these functions for tar.
115375         More merges from coreutils.
115376         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
115377         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
115378         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
115379         * lib/addext.c: Remove; no longer needed.
115380         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
115381         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
115382         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
115383         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
115384         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
115385         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
115386         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
115387         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
115388         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
115389         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
115390         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
115391         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
115392         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
115393         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
115394         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
115395         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
115396         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
115397         Import changes from coreutils.
115399 2004-08-05  Simon Josefsson  <jas@extundo.com>
115401         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
115403 2004-08-05  Simon Josefsson  <jas@extundo.com>
115405         * m4/getsubopt.m4: New file.
115407 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
115409         Merge from coreutils.
115411         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
115412         * m4/getcwd-path-max.m4: New files.
115414         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
115415         FILESYSTEM_PREFIX_LEN ->
115416         FILE_SYSTEM_PREFIX_LEN.
115417         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
115418         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
115419         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
115420         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
115422         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
115423         prerequisite modules now handle the DOS stuff.
115424         Don't check for unistd.h.
115426 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
115428         Merge from coreutils.
115430         * lib/.gdb-history: Remove; this doesn't belong here.
115432         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
115433         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
115434         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
115435         * lib/getcwd.c: New files.
115437         * lib/dirname.h: Include <stdbool.h>.
115438         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
115439         for consistency with POSIX terminology.  All uses changed.
115440         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
115441         (strip_trailing_slashes): Use bool for booleans.
115442         * lib/stripslash.c (strip_trailing_slashes): Likewise.
115444         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
115445         sometimes returns a positive errno value even when it succeeds.
115446         (print_errno_message) [!LIBC]: Fall back on strerror if
115447         __strerror_r fails.
115449         * lib/path-concat.c (mempcpy): Don't define if a system header defines
115450         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
115451         (longest_relative_suffix): New function.
115452         (path_concat): Use it.  Assume first argument is not NULL.
115453         Port to DOS.  Omit redundant separators.
115454         Report an error instead of returning NULL.
115455         Use mempcpy instead of memcpy.
115456         (xpath_concat): Remove: not declared or used.
115458         * lib/same.h: Include <stdbool.h>
115459         (same_name): Return bool, not int.
115460         * lib/same.c (same_name): Likewise.
115461         (errno): Don't declare; we assume C89 or better now.
115463         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
115464         if not already defined.
115466         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
115467         * lib/dup-safer.c (errno): Likewise.
115469 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
115471         Merge from coreutils.
115472         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
115473         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
115474         * modules/path-concat: Don't depend on strdup.
115476 2004-08-03  Simon Josefsson  <jas@extundo.com>
115478         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
115479         * lib/progname.h: Don't include stdbool.h.
115481 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
115483         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
115484         * MODULES.html.sh (func_all_modules): Remove fatal.
115486 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
115488         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
115490 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
115492         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
115493         working.
115495 2004-08-02  Simon Josefsson  <jas@extundo.com>
115497         * lib/getsubopt.h: New file, with comments from Bruno Haible.
115498         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
115499         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
115501 2004-08-01  Simon Josefsson  <jas@extundo.com>
115503         * lib/xgetdomainname.c: Include stdlib.h, for free().
115505 2004-07-19  Bruno Haible  <bruno@clisp.org>
115507         * MODULES.html.sh (func_all_modules): Add dummy.
115509 2004-07-16  Simon Josefsson  <jas@extundo.com>
115511         * modules/dummy: New file.
115513 2004-07-16  Simon Josefsson  <jas@extundo.com>
115515         * lib/dummy.c: New file.
115517 2004-07-16  Bruno Haible  <bruno@clisp.org>
115519         * lib/backupfile.h: Add extern "C" for C++.
115520         * lib/closeout.h: Likewise.
115521         * lib/copy-file.h: Likewise.
115522         * lib/findprog.h: Likewise.
115523         * lib/full-write.h: Likewise.
115524         * lib/pathname.h: Likewise.
115525         * lib/progname.h: Likewise.
115526         * lib/stpcpy.h: Likewise.
115527         * lib/stpncpy.h: Likewise.
115528         * lib/strcase.h: Likewise.
115529         * lib/strstr.h: Likewise.
115530         * lib/xalloc.h: Likewise.
115532         * lib/mbswidth.h: Add extern "C" for C++.
115533         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
115535 2004-07-13  Robert Millan  <robertmh@gnu.org>
115537         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
115539 2004-07-09  Simon Josefsson  <jas@extundo.com>
115541         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
115542         failed without this.)
115544 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115546         * modules/chown (Files): Add lib/fchown-stub.c, since
115547         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
115549 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115551         * lib/fchown-stub.c: New file.
115553 2004-06-24  Jim Meyering  <jim@meyering.net>
115555         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
115557 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
115559         * modules/argz: Omit "#include".
115561         * MODULES.html.sh (func_all_modules): Add calloc, to match
115562         2004-06-01 addition of calloc module.
115564 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
115566         * m4/argz.m4: New file, which is autoupdated from libtool.
115568 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
115570         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
115571         libtool.
115573 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
115575         * config/srclist-update: Don't insist on "USA." before the
115576         close-comment, as libtool omits the period and puts the */ on a
115577         separate line.
115578         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
115579         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
115581 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
115583         * modules/argz: New file.
115584         * MODULES.html.sh (func_all_modules): Add argz.
115586 2004-06-12  Jim Meyering  <jim@meyering.net>
115587         and  Paul Eggert  <eggert@cs.ucla.edu>
115589         * modules/hash (Files): Add lib/xalloc.h.
115590         * modules/pipe (Depends-on): Add wait-process.
115591         * modules/stat (Depends-on): Add xalloc.
115592         * modules/userspec (Files): Add lib/userspec.h.
115593         * modules/xstrto
115595         Upgrade from gettext-0.13.
115596         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
115597         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
115598         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
115600 2004-06-10  Jim Meyering  <jim@meyering.net>
115602         * lib/calloc.c: New file.
115604 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
115606         * lib/getdate.y (yylex): Allow space between sign and number.
115607         Problem reported by Dan Jacobson.
115609 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
115611         Merge from coreutils CVS.
115613         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
115614         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
115615         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
115616         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
115617         xstrtol.m4: Fix copyright date and/or serial number.
115619         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
115620         See if we need an fchown replacement.
115621         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
115622         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
115623         and use the replacement function if we detect either defect.
115625         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
115626         gl_UTIMECMP.
115628 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
115629         and  Jim Meyering  <jim@meyering.net>
115631         Merge from coreutils CVS.
115633         * lib/stat-macros.h: New file, with contents from file-type.h
115634         and coreutils' system.h.
115635         * lib/file-type.c: Include "stat-macros.h".
115636         * lib/file-type.h (file_type): Move all macro definitions to new file,
115637         stat-macros.h.
115639         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
115640         Wrap old code with this conditional.
115641         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
115642         function that does not dereference symlinks.
115643         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
115645         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
115646         dependency problems.
115647         (xreadlink): Accept new arg SIZE, for efficiency.
115648         All decls and uses changed.
115649         * lib/xreadlink.h: Include <stddef.h>, for size_t.
115651         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
115652         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
115654         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
115655         sysexits.h.
115657 2004-06-01  Jim Meyering  <jim@meyering.net>
115659         * m4/calloc.m4: New file.
115661 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
115663         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
115664         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
115665         Also, fix a typo in a diagnostic.
115667 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
115669         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
115670         or AC_FUNC_REALLOC.
115672 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
115674         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
115675         macros to be defined.
115676         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
115677         the allocator returns NULL because the requested size is zero.
115679 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
115681         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
115682         var.  Add comment explaining why libc still defines it.  This
115683         merges the following patch from glibc:
115684         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
115686 2004-05-20  Andreas Schwab  <schwab@suse.de>
115688         * m4/free.m4: Replace free if it not known to work, not the other
115689         way round.
115691 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
115693         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
115694         present in glibc since revision 1.1 of this file.
115695         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
115696         obstack_alignment_mask, obstack_alloc, obstack_base,
115697         obstack_blank, obstack_blank_fast, obstack_chunk_size,
115698         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
115699         obstack_grow0, obstack_init, obstack_int_grow,
115700         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
115701         obstack_next_free, obstack_object_size, obstack_ptr_grow,
115702         obstack_ptr_grow_fast, obstack_room): Remove declarations of
115703         nonexistent functions.
115705 2004-05-18  Karl Berry  <karl@gnu.org>
115707         * config/srclist.txt: break link for vasnprintf.c.
115709 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
115711         Port obstack to the AS/400, where pointers are 16 bytes wide and
115712         you cannot cast an integer to a valid pointer.  This patch is
115713         currently waiting to be integrated into glibc; see
115714         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
115716         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
115717         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
115718         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
115719         (struct obstack): temp member is now a union of a pointer and
115720         an integer, instead of an integer.  All integer uses changed.
115721         This does not affect the physical layout of struct obstack,
115722         except on hosts (like the AS/400) where the size or alignment of
115723         void * is greater than that of ptrdiff_t.
115724         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
115725         __STDC__)]: Store temporary in pointer member of union, not
115726         integer member.
115727         * lib/obstack.c: Include <stddef.h>, for offsetof.
115728         (struct fooalign): Remove; it doesn't need a name.
115729         (union fooround): Change double to long double, and add void *.
115730         (DEFAULT_ALIGNMENT): Use offsetof to compute.
115731         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
115732         not a macro.  Hence the values are always int; so remove all
115733         casts-to-int in uses.
115735 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
115737         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
115738         we can get this patch merged into glibc.
115740 2004-05-17  Derek R. Price  <derek@ximbiot.com>
115741             Paul Eggert  <eggert@cs.ucla.edu>
115743         * m4/argp: Depend on alloca.
115745 2004-05-17  Derek R. Price  <derek@ximbiot.com>
115746             Paul Eggert  <eggert@cs.ucla.edu>
115748         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
115749         freecoding.
115751 2004-05-17  Bruno Haible  <bruno@clisp.org>
115753         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
115754         precision that consists of a '.' followed by an empty digit string.
115755         Patch by Tor Lillqvist <tml@iki.fi>.
115757 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
115759         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
115760         for backward compatibility with older code.  We need our own
115761         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
115762         it under some other name, and our alloca.h will define it.
115764 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
115765             Derek Price  <derek@ximbiot.com>
115767         * lib/alloca.c: Include <alloca.h>, to get our interface.
115768         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
115769         include <alloca.h> first.  Use C89 prototype for alloca; this
115770         requires including <stddef.h> for size_t.  Use extern "C" if C++.
115771         Use #elif for simplicity, since we can assume C89 now.
115772         Don't try to source the system alloca.h since it will not be found
115773         and to prevent recursively including its replacement.
115774         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
115775         * lib/regex.c: Likewise.
115777 2004-05-16  Derek Price  <derek@ximbiot.com>
115778             Paul Eggert  <eggert@cs.ucla.edu>
115780         getline cleanup.  This changes the getndelim2 API: both order of
115781         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
115782         no delimiter).
115784         * lib/getline.c: Don't include stddef.h or stdio.h, since our
115785         interface does that.
115786         (getline): Always use getdelim, so that we don't have two
115787         copies of this code.
115788         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
115789         if available.
115790         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
115791         (GETNDELIM2_MAXIMUM): New macro.
115792         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
115793         instead of the old practice of delim2==0.  All callers changed.
115794         Return -1 on overflow, instead of returning junk.
115795         Do not set *linesize unless allocation succeeds.
115796         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
115797         that we include sys/types.h.
115798         * lib/getnline.h: Likewise.
115799         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
115800         (getndelim2): Reorder arguments.
115801         * lib/getnline.c (getnline, getndelim):
115802         Don't discard the NMAX argument.
115803         (getnline): Invoke getndelim, to avoid code duplication.
115804         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
115805         of (size_t) -1 by callers of the getnline family.
115807 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
115809         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
115810         Check for gettimeofday.
115811         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
115812         Check for settimeofday, stime.
115814 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
115816         * lib/nanosleep.c (suspended): Change its type from int to
115817         sig_atomic_t volatile.
115818         (first_call): Make it private to rpl_nanosleep, and have it
115819         be zero initially as that's a bit faster.
115820         (my_usleep): Round up fractional times instead of truncating them,
115821         as this is the usual meaning for 'sleep'.
115823         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
115824         doesn't work.
115825         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
115826         (ENOSYS): Define if not defined.
115827         (settime): Fall back on stime if it exists and settimeofday fails.
115828         But don't bother with fallbacks if a method fails with errno == EPERM.
115830 2004-05-11  Jim Meyering  <jim@meyering.net>
115832         Prior to this change, the save_cwd caller required read access to the
115833         current directory on most systems (ones with the fchdir function).
115835         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
115836         fails, try write-only, and finally, resort to using xgetcwd.
115838 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
115840         * lib/obstack.c, obstack.h: Import changes from libc.
115842 2004-04-28  Bruno Haible  <bruno@clisp.org>
115844         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
115845         also implicitly appends .exe to executables.
115846         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
115847         accepts Windows pathnames.
115848         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
115849         Treat Cygwin like Windows, since it now accepts Windows pathnames.
115850         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
115851         Treat Cygwin like Windows, since it now accepts Windows pathnames.
115852         Reported by Derek Robert Price <derek@ximbiot.com>.
115854 2004-04-21  Karl Berry  <karl@gnu.org>
115856         * config/srclist.txt (localcharset.c): break sync.
115858 2004-04-20  Paul Eggert  <eggert@twinsun.com>
115860         * m4/host-os.m4: Add a copyright notice.
115862 2004-04-20  Jim Meyering  <jim@meyering.net>
115864         Change UTILS_ to gl_ in AC_DEFINE'd names.
115865         Change utils_- and jm_-prefixed variables, too.
115866         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
115867         UTILS_FUNC_MKDIR_TRAILING_SLASH.
115868         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
115870         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
115871         Don't emit trailing blanks.
115872         Also rename jm_-prefixed variables to have gl_ prefix.
115874         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
115875         Also rename jm_-prefixed variables to have gl_ prefix.
115877         * m4/jm-macros.m4: Reflect the renamings.
115878         * m4/prereq.m4: Likewise.
115880 2004-04-20  Jim Meyering  <jim@meyering.net>
115882         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
115883         memory.
115885 2004-04-20  Jim Meyering  <jim@meyering.net>
115886             Bruno Haible  <bruno@clisp.org>
115888         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
115889         memory when realloc fails.
115891 2004-04-19  Jim Meyering  <jim@meyering.net>
115893         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
115894         now that readutmp.c may call `free (0)'.
115896 2004-04-19  Bruno Haible  <bruno@clisp.org>
115898         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
115899         * m4/inttypes_h.m4: Likewise.
115900         * m4/stdint_h.m4: Likewise.
115901         * m4/intmax_t.m4: Likewise.
115902         * m4/uintmax_t.m4: Likewise.
115904 2004-04-18  Jim Meyering  <jim@meyering.net>
115906         * m4/prereq.m4: Don't forbid jm_ prefix.
115908         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
115909         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
115910         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
115911         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
115912         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
115913         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
115914         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
115915         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
115916         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
115917         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
115918         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
115919         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
115920         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
115921         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
115922         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
115923         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
115924         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
115925         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
115926         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
115928 2004-04-18  Jim Meyering  <jim@meyering.net>
115930         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
115931         failure, don't leak memory and do call END_UTMP_ENT.
115933 2004-04-16  Jim Meyering  <jim@meyering.net>
115935         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
115936         coreutils' stat program.
115937         (gl_PREREQ): Don't require jm_PREREQ_STAT.
115939 2004-04-11  Paul Eggert  <eggert@twinsun.com>
115941         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
115942         C89.
115943         (CHAR_BIT): Remove, since we assume C89.
115944         Include <stdint.h> if available, as per current Autoconf CVS advice.
115946 2004-03-31  Jim Meyering  <jim@meyering.net>
115948         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
115949         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
115950         * m4/xalloc.m4: Likewise.
115952 2004-03-30  Paul Eggert  <eggert@twinsun.com>
115954         Merge from coreutils.
115956         * m4/inttostr.m4: New file.
115957         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
115958         Require AM_STDBOOL_H and gl_TIMESPEC instead.
115959         Require gl_CLOCK_TIME.
115960         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
115962 2004-03-30  Paul Eggert  <eggert@twinsun.com>
115964         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
115965         not bool, to be more consistent with Unix conventions.
115966         Suggested by Bruno Haible.
115968         Merge from coreutils.
115970         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
115971         * lib/umaxtostr.c: New files.
115973         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
115974         the usual <time.h> dance.
115975         (get_date): Change signature to support fractional time stamps.
115976         All callers changed.
115977         * lib/getdate.y: Include "getdate.h" first, as we can now
115978         assume C89 and don't need to worry about 'const'.
115979         Similarly, include "unlocked-io.h" near start, not in middle.
115980         Include <limits.h>.
115981         (textint.value): Use long int rather than int.
115982         (textint.digits): Use size_t rather than int.
115983         (BILLION, LOG10_BILLION): New constants.
115984         (parser_control): New member rel_ns.  Members day_ordinal,
115985         time_zone, month, day, hour, minutes, rel_year, rel_month,
115986         rel_day, rel_hour, rel_minutes, rel_seconds
115987         are now long int, not int.  Member seconds is now struct timespec,
115988         not int.  New member timespec_seen.  Members dates_seen, days_seen,
115989         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
115990         not int.
115991         (%union.intval): Now long int, not int.
115992         New member timespec.
115993         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
115994         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
115995         (spec): Now is a timespec or an item list.
115996         (timespec, items): New nonterminals.
115997         (time, rel, relunit, number, get_date):
115998         Add support for fractional seconds.
115999         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
116000         (gmtime, localtime, mktime): Remove decls; not needed with C89.
116001         (to_hour): First arg is now long int, not int.
116002         (to_year): Returns long int, not int.
116003         Don't treat year -70 like 70.
116004         (tm_diff): Returns long int, not int.
116005         (lookup_word): Use bool instead of int when appropriate.
116006         (yylex): Use size_t for count, not int.
116007         Detect overflow when parsing large integer constants.
116008         Add support for fractions.
116009         (get_date): Make pointers 'const' if possible.
116010         Use more-portable code to detect integer overflow.
116011         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
116012         Don't use ctime; it's not reliable if the year has >4 digits.
116014         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
116015         This is for compatibility with BSD.
116017         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
116018         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
116019         From coreutils' system.h.
116021         * lib/userspec.c: Don't include "posixver.h".
116022         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
116023         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
116024         compatible extension.  Simplify code by removing a boolean int
116025         that was always nonzero if a string was nonnull.
116027 2004-03-30  Jim Meyering  <jim@meyering.net>
116029         Merge from coreutils.
116031         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
116032         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
116033         on some systems one must include <grp.h> before it.
116034         Reported by Christian Krackowizer.
116036 2004-03-30  Jim Meyering  <jim@meyering.net>
116038         Merge from coreutils.
116040         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
116042         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
116043         an empty input stream.
116045         * lib/readtokens.c: Include <stdbool.h>.
116046         (readtoken): Use `size_t' rather than int/long.
116047         All callers adjusted.
116048         Use `bool' rather than `int' where appropriate.
116049         Use memset rather than an explicit loop.
116050         Use x2nrealloc rather than xrealloc.
116051         Allow the use of `\0' as a delimiter.
116052         (readtokens): Likewise.
116053         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
116055 2004-03-30  Jim Meyering  <jim@meyering.net>
116057         * m4/realloc.m4: Remove file, since now it does no more than
116058         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
116059         the `configure.ac' section of module/realloc.
116060         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
116062 2004-03-30  Bruno Haible  <bruno@clisp.org>
116064         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
116065         nonnull.
116067 2004-03-29  Paul Eggert  <eggert@twinsun.com>
116069         Merge changes to getloadavg.c from coreutils and Emacs.
116071         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
116072         Define to an expression, not to the empty string.
116073         Include cloexec.h and xalloc.h.
116074         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
116075         Use set_cloexec_flag rather than rolling our own.
116076         * lib/cloexec.c, lib/cloexec.h: New files.
116078 2004-03-29  Paul Eggert  <eggert@twinsun.com>
116080         * m4/cloexec.m4: New file.
116082 2004-03-18  Paul Eggert  <eggert@twinsun.com>
116084         * lib/getopt.h: Sync with libc CVS.
116086 2004-03-18  Paul Eggert  <eggert@twinsun.com>
116087             Bruno Haible  <bruno@clisp.org>
116089         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
116090         mbswidth.
116092 2004-03-18  Paul Eggert  <eggert@twinsun.com>
116093             Bruno Haible  <bruno@clisp.org>
116095         * lib/mbswidth.h: Include <wchar.h> only if
116096         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
116097         <wchar.h>.
116098         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
116100 2004-03-09  Paul Eggert  <eggert@twinsun.com>
116102         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
116103         Sync with libc CVS.
116104         * lib/getopt_int.h: New file, also synced from libc.
116106 2004-03-09  Paul Eggert  <eggert@twinsun.com>
116108         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
116109         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
116110         Bring back getopt.c, getopt.h, getopt1.c.
116112 2004-03-07  Paul Eggert  <eggert@twinsun.com>
116114         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
116115         All uses changed.  Check for sa_sigaction member; this fixes
116116         a bug first reported by Jason Andrade in
116117         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
116119 2004-03-07  Paul Eggert  <eggert@twinsun.com>
116121         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
116122         '#if' expressions.  Unlike the code it replaces, it does not
116123         depend on (defined _SC_PAGESIZE).  However, it does depend on
116124         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
116125         first reported by Jason Andrade in
116126         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
116128 2004-02-25  Simon Josefsson  <jas@extundo.com>
116130         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
116132 2004-02-25  Simon Josefsson  <jas@extundo.com>
116134         * lib/strdup.h: New file.
116135         * lib/strdup.c: Include it.
116136         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
116137         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
116139 2004-02-23  Karl Berry  <karl@gnu.org>
116141         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
116142         (from fencepost.gnu.org:/gd/gnuorg).
116144 2004-02-23  Karl Berry  <karl@gnu.org>
116146         * config/srclistvars.sh (GNUORG) [karl]: redefine.
116147         * config/srclist.txt: add maintain/standards documents.
116149 2004-02-18  Bruno Haible  <bruno@clisp.org>
116151         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
116152         Reported by Derek Robert Price <derek@ximbiot.com>.
116154 2004-02-16  Karl Berry  <karl@gnu.org>
116156         * config/mkinstalldirs, install-sh: update from automake.
116158 2004-02-06  Karl Berry  <karl@gnu.org>
116160         * m4/po.m4: update from gettext 0.14.1.
116162 2004-02-06  Karl Berry  <karl@gnu.org>
116164         * lib/config.charset: update from gettext 0.14.1.
116166 2004-02-05  Paul Eggert  <eggert@twinsun.com>
116168         Add comments and code, prompted by suggestions from Bruno Haible
116169         for sh-quote.
116170         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
116171         describing the enum quoting_style values.
116172         * lib/quotearg.c (quotearg_alloc): New function.
116173         (quotearg_buffer_restyled): Treat lone { and } as special.
116174         Treat = as special.  Work around bug with older shells
116175         that "see" a '\' that is really the 2nd byte of a multibyte char.
116176         Quote empty string with shell_quoting_style.
116178 2004-02-03  Bruno Haible  <bruno@clisp.org>
116180         * m4/pipe.m4: New file, from GNU gettext.
116182 2004-02-03  Bruno Haible  <bruno@clisp.org>
116184         * lib/pipe.h: New file, from GNU gettext.
116185         * lib/pipe.c: New file, from GNU gettext.
116187 2004-01-27  Bruno Haible  <bruno@clisp.org>
116189         * m4/execute.m4: New file, from GNU gettext.
116191 2004-01-27  Bruno Haible  <bruno@clisp.org>
116193         * lib/execute.h: New file, from GNU gettext.
116194         * lib/execute.c: New file, from GNU gettext.
116195         * lib/w32spawn.h: New file, from GNU gettext.
116197 2004-01-24  Paul Eggert  <eggert@twinsun.com>
116199         Merge from diffutils.
116201         * lib/file-type.c (file_type): Add typed memory objects.
116202         * lib/file-type.h (S_TYPEISTMO): New macro.
116204         * lib/c-stack.h (c_stack_action): Remove argv argument.
116205         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
116206         (die): Don't calculate message unless segv_action returns.
116207         (get_stack_location, min_address_from_argv, max_address_from_argv,
116208         volatile stack_base, volatile_stack_size): Remove.
116209         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
116210         that every segmentation violation is a stack overflow.  (Ouch!)
116211         See Debian bug 136249 (still outstanding) for more info about why
116212         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
116214 2004-01-24  Paul Eggert  <eggert@twinsun.com>
116216         Exit-status fix from coreutils.
116218         Use exit_failure consistently in place of EXIT_FAILURE,
116219         so that program exit statuses are consistent on failure.
116221         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
116222         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
116223         * lib/argmatch.h: Comment fix to match the above.
116224         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
116225         Now a macro referring to exit_failure, instead of a separate
116226         variable.  Include "exitfail.h" to get it.
116227         * lib/xstrtol.h: Include "exitfail.h".
116228         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
116230         * lib/long-options.c (parse_long_options): Use prototype
116231         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
116232         for clarity.
116234 2004-01-21  Jim Meyering  <jim@meyering.net>
116236         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
116237         so as not to conflict with a different-sized __mktime_internal
116238         function in GNU libc.
116239         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
116240         Problem building statically-linked `ls' reported by Michael Brunnbauer.
116242 2004-01-20  Karl Berry  <karl@gnu.org>
116244         * config/config.guess: update from config.
116246         * config/srclistvars.sh: GNUWWWLICENSES for karl.
116248 2004-01-20  Bruno Haible  <bruno@clisp.org>
116250         Safer stack allocation.
116251         * lib/setenv.c: Include allocsa.h.
116252         (alloca): Remove fallback definition.
116253         (freea): Remove macro.
116254         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
116255         instead of freea.
116257 2004-01-20  Bruno Haible  <bruno@clisp.org>
116259         * m4/eealloc.m4: New file, from GNU gettext.
116261 2004-01-20  Bruno Haible  <bruno@clisp.org>
116263         * m4/allocsa.m4: New file, from GNU gettext.
116265 2004-01-20  Bruno Haible  <bruno@clisp.org>
116267         * lib/xallocsa.h: New file, from GNU gettext.
116268         * lib/xallocsa.c: New file, from GNU gettext.
116270 2004-01-20  Bruno Haible  <bruno@clisp.org>
116272         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
116274 2004-01-20  Bruno Haible  <bruno@clisp.org>
116276         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
116277         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
116278         specially.
116280 2004-01-20  Bruno Haible  <bruno@clisp.org>
116282         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
116283         patch.
116285 2004-01-20  Bruno Haible  <bruno@clisp.org>
116287         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
116289 2004-01-20  Bruno Haible  <bruno@clisp.org>
116291         * lib/eealloc.h: New file.
116293 2004-01-20  Bruno Haible  <bruno@clisp.org>
116295         * lib/binary-io.h: Avoid warnings on Cygwin.
116297 2004-01-20  Bruno Haible  <bruno@clisp.org>
116299         * lib/allocsa.h: New file, from GNU gettext.
116300         * lib/allocsa.c: New file, from GNU gettext.
116302 2004-01-18  Karl Berry  <karl@gnu.org>
116304         * doc/gpl.texi, doc/lgpl.texi: new files.
116306 2004-01-18  Karl Berry  <karl@gnu.org>
116308         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
116309         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
116311 2004-01-15  Paul Eggert  <eggert@twinsun.com>
116313         Merge from coreutils.
116315         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
116316         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
116317         (gl_DEFAULT_POSIX2_VERSION): Move
116318         the documentation from 'configure' into 'config.hin',
116319         so that 'configure --help' isn't burdened by it and
116320         we don't have to worry about its formatting there.
116321         Reword the documentation so that it's more succinct
116322         and can be run together into a single paragraph.
116323         * m4/same.m4 (gl_SAME): Check for pathconf.
116325 2004-01-15  Paul Eggert  <eggert@twinsun.com>
116327         Merge from coreutils.
116329         * lib/posixver.c: Include posixver.h.
116331         * lib/same.c: Include <stdbool.h>, <limits.h>.
116332         (_POSIX_NAME_MAX): Define if not defined.
116333         (MIN): New macro.
116334         (same_name): If file names are silently truncated, report
116335         that the file names are the same if they are the same after
116336         the silent truncation.
116338         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
116339         conversion function.
116340         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
116341         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
116342         longer needed.
116344 2004-01-15  Jim Meyering  <jim@meyering.net>
116346         Merge from coreutils.
116348         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
116349         if no library is required.
116350         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
116351         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
116352         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
116353         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
116354         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
116355         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
116356         value, $ac_cv_search_crypt, if it's "none required".
116357         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
116358         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
116359         not gl_FUNC_GETLOADAVG.
116360         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
116361         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
116363 2004-01-15  Jim Meyering  <jim@meyering.net>
116365         Merge from coreutils.
116367         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
116368         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
116369         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
116371         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
116372         optional configure-time default.
116374         * lib/version-etc.c (version_etc_copyright): Update copyright date.
116376         * lib/xreadlink.c (xreadlink): Correct outdated comment.
116378 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
116380         Merge from coreutils.
116382         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
116383         value, $ac_cv_search_nanosleep, if it's "none required".
116385 2004-01-14  Paul Eggert  <eggert@twinsun.com>
116387         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
116388         with like-named macro in fnmatch.c.
116389         (EXT): Use an internal constant instead.
116391         Merge fnmatch patches from glibc.
116392         * lib/fnmatch.c (mbsinit): Remove define.
116393         Add libc_hidden_ver (__fnmatch, fnmatch).
116394         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
116395         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
116397 2004-01-14  Karl Berry  <karl@gnu.org>
116399         * config/install-sh: update from automake.
116401 2004-01-13  Karl Berry  <karl@gnu.org>
116403         * config/install-sh: update from automake.
116405 2004-01-09  Karl Berry  <karl@gnu.org>
116407         * config/install-sh: update from automake.
116409 2004-01-05  Karl Berry  <karl@gnu.org>
116411         * config/config.{sub,guess}: update from config.
116413 2003-12-31  Karl Berry  <karl@gnu.org>
116415         * config/depcomp: update from automake.
116417 2003-12-14  Karl Berry  <karl@gnu.org>
116419         * lib/config.charset: update from gettext-runtime.
116421 2003-12-03  Paul Eggert  <eggert@twinsun.com>
116423         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
116424         Bug reported by Alfred M. Szmidt.
116426 2003-12-03  Bruno Haible  <bruno@clisp.org>
116428         * m4/gettext.m4: Upgrade from gettext-0.13.
116429         * m4/po.m4: Upgrade from gettext-0.13.
116430         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
116431         * m4/intmax.m4: New file, from gettext-0.13.
116432         * m4/printf-posix.m4: New file, from gettext-0.13.
116434 2003-11-29  Karl Berry  <karl@gnu.org>
116436         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
116438 2003-11-25  Paul Eggert  <eggert@twinsun.com>
116439             Bruno Haible  <bruno@clisp.org>
116441         * lib/printf-parse.h: Don't include sys/types.h.
116442         (ARG_NONE): New macro.
116443         (char_directive): Change type of *arg_index fields to size_t.
116444         * lib/printf-parse.c: Don't include sys/types.h.
116445         (SSIZE_MAX): Remove macro.
116446         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
116447         Remove unnecessary overflow check.
116448         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
116449         fields.
116451 2003-11-25  Bruno Haible  <bruno@clisp.org>
116453         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
116455 2003-11-25  Bruno Haible  <bruno@clisp.org>
116457         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
116458         gt_TYPE_SSIZE_T.
116460 2003-11-24  Paul Eggert  <eggert@twinsun.com>
116462         * modules/alloca: Remove dependency on xalloc.
116464 2003-11-24  Paul Eggert  <eggert@twinsun.com>
116466         * lib/alloca.c: Remove dependency on xalloc module.
116467         (xalloc_die): Remove.
116468         (memory_full) [!defined emacs]: New macro.
116469         [!defined emacs]: Don't include xalloc.h.
116470         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
116471         address arithmetic overflows.  Change datatypes a bit to avoid
116472         unnecessary casts.
116474 2003-11-22  Jim Meyering  <jim@meyering.net>
116476         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
116477         s/size/size_t/.
116479 2003-11-21  Karl Berry  <karl@gnu.org>
116481         * config/config.{sub,guess}: update from config.
116483 2003-11-18  Karl Berry  <karl@gnu.org>
116485         * config/config.{sub,guess}: update from config.
116487         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
116489 2003-11-17  Paul Eggert  <eggert@twinsun.com>
116491         * README: Mention that S+T cannot overflow if S is the size of
116492         an existing object and T is sufficiently small.
116494 2003-11-17  Jim Meyering  <jim@meyering.net>
116496         On systems without utime and without a utimes function capable of
116497         dealing with a NULL struct utimbuf* argument, this utime replacement
116498         could -- in unusual circumstances -- leak a file descriptor.
116499         * lib/utime.c: Include <unistd.h> and <errno.h>.
116500         (utime_null): Be sure to close `fd' and to preserve errno.
116501         Reported by Geoff Collyer via Arnold Robbins.
116503 2003-11-17  Bruno Haible  <bruno@clisp.org>
116505         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
116506         (Depends-on): Add xsize.
116508 2003-11-17  Bruno Haible  <bruno@clisp.org>
116510         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
116512 2003-11-17  Bruno Haible  <bruno@clisp.org>
116514         * lib/vasnprintf.c (alloca): Remove fallback definition.
116515         (freea): Remove definition.
116516         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
116517         Reported by Paul Eggert.
116519 2003-11-16  Paul Eggert  <eggert@twinsun.com>
116520             Bruno Haible  <bruno@clisp.org>
116522         Protect against address arithmetic overflow.
116523         * lib/printf-args.h: Include stddef.h.
116524         (arguments): Change type of field 'count' to size_t.
116525         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
116526         'unsigned int' where appropriate.
116527         * lib/printf-parse.h: Include sys/types.h.
116528         (char_directive): Change type of *arg_index fields to ssize_t.
116529         (char_directives): Change type of fields 'count', max_*_length to
116530         size_t.
116531         * lib/printf-parse.c: Include sys/types.h and xsize.h.
116532         (SSIZE_MAX): Define fallback value.
116533         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
116534         instead of 'int' where appropriate. Check a_allocated, d_allocated
116535         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
116536         * lib/vasnprintf.c: Include xsize.h.
116537         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
116538         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
116539         overflow. Avoid wraparound when converting a width or precision from
116540         decimal to binary.
116542 2003-11-16  Bruno Haible  <bruno@clisp.org>
116544         Update from GNU gettext.
116545         * lib/printf-parse.c: Generalize to it can be compiled for wide
116546         strings.
116547         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
116548         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
116549         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
116550         SNPRINTF): New macros.
116551         Don't include <alloca.h> if the file is used inside libintl.
116552         (local_wcslen): New function, for Solaris 2.5.1.
116553         (VASNPRINTF): Use it instead of wcslen.
116555 2003-11-16  Bruno Haible  <bruno@clisp.org>
116557         * lib/xsize.h (xmax): New function.
116558         (xsum, xsum3, xsum4): Declare as "pure" functions.
116560 2003-11-12  Paul Eggert  <eggert@twinsun.com>
116562         * modules/xalloc (Files): Undo latest change, since xalloc.h
116563         no longer needs SIZE_MAX or PTRDIFF_MAX.
116565 2003-11-12  Paul Eggert  <eggert@twinsun.com>
116567         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
116568         gl_PTRDIFF_MAX.
116570 2003-11-12  Paul Eggert  <eggert@twinsun.com>
116572         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
116573         "return", to pacify some unknown compiler.  Problem reported
116574         by Joerg Schilling.
116576 2003-11-12  Paul Eggert  <eggert@twinsun.com>
116578         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
116579         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
116580         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
116581         heuristic is just as accurate as far as we know, and it removes a
116582         dependency on size_max.m4 and ptrdiff_max.m4.
116584 2003-11-11  Bruno Haible  <bruno@clisp.org>
116586         * modules/xsize (Files): Add m4/size_max.m4.
116587         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
116589 2003-11-11  Bruno Haible  <bruno@clisp.org>
116591         * m4/size_max.m4: New file.
116592         * m4/ptrdiff_max.m4: New file.
116593         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
116594         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
116595         (gl_XALLOC): Invoke it.
116597 2003-11-11  Bruno Haible  <bruno@clisp.org>
116599         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
116600         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
116601         defined.
116603 2003-11-10  Paul Eggert  <eggert@twinsun.com>
116605         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
116606         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
116607         rejected some allocations of exactly SIZE_MAX - 2 bytes.
116608         From Bruno Haible.
116609         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
116610         not (size_t) -1, since it's defined here.
116612 2003-11-09  Karl Berry  <karl@gnu.org>
116614         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
116616 2003-11-06  Paul Eggert  <eggert@twinsun.com>
116618         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
116619         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
116620         Reject sizes of exactly SIZE_MAX bytes.
116621         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
116622         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
116624 2003-11-05  Bruno Haible  <bruno@clisp.org>
116626         * lib/xsize.h: Include limits.h, to avoid a possible collision with
116627         SIZE_MAX defined in <limits.h> on Solaris.
116629 2003-11-04  Jim Meyering  <jim@meyering.net>
116631         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
116632         variable names, rather than @VAR@.
116633         * modules/poll: Likewise.
116635 2003-11-04  Bruno Haible  <bruno@clisp.org>
116637         * modules/xsize: New file.
116638         * modules/linebreak: Depend on xsize.
116639         * MODULES.html.sh (func_all_modules): Add xsize.
116641 2003-11-04  Bruno Haible  <bruno@clisp.org>
116643         * m4/xsize.m4: New file.
116645 2003-11-04  Bruno Haible  <bruno@clisp.org>
116647         * lib/xsize.h: New file.
116648         * lib/linebreak.c: Include xsize.h.
116649         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
116650         argument for overflow.
116651         Suggested by Paul Eggert.
116653 2003-11-03  Karl Berry  <karl@gnu.org>
116655         * config/config.{guess,sub}: update from config.
116657 2003-11-03  Jim Meyering  <jim@meyering.net>
116659         * modules/userspec (lib_SOURCES): Add userspec.h.
116660         (Include): Add "userspec.h".
116661         Improve description.
116663 2003-11-03  Jim Meyering  <jim@meyering.net>
116665         * lib/userspec.c: Include "userspec.h".
116666         * lib/userspec.h: New file.
116668 2003-11-03  Bruno Haible  <bruno@clisp.org>
116670         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
116672 2003-11-03  Bruno Haible  <bruno@clisp.org>
116674         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
116675         available, to avoid (extremely rare) race condition.
116676         Suggested by Paul Eggert.
116678 2003-11-02  Karl Berry  <karl@gnu.org>
116680         * config/srclist.txt (vasprintf.c): sync broken, sigh.
116682 2003-10-31  Paul Eggert  <eggert@twinsun.com>
116684         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
116685         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
116686         (read_filesystem_list): Set and use me_type_malloced.
116687         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
116688         whatever the type happens to be), for brevity and consistency.
116689         Check for size calculation overflow on Alphas running OSF/1.
116691 2003-10-31  Jim Meyering  <jim@meyering.net>
116693         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
116695         * lib/linebuffer.c: Include <string.h> for declaration of memset.
116697 2003-10-30  Paul Eggert  <eggert@twinsun.com>
116698             Bruno Haible  <bruno@clisp.org>
116700         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
116701         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
116703 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
116705         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
116706         netbsd*-gnu*.  Suggested by Robert Millan.
116708 2003-10-29  Paul Eggert  <eggert@twinsun.com>
116710         * modules/group-member: Depend on stdbool.
116712 2003-10-29  Paul Eggert  <eggert@twinsun.com>
116714         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
116716 2003-10-29  Paul Eggert  <eggert@twinsun.com>
116718         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
116719         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
116720         after the 'gnu' in these cases.  This fixes some bugs in the
116721         previous change, and is based on suggestions by Robert Millan.
116723 2003-10-29  Paul Eggert  <eggert@twinsun.com>
116725         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
116726         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
116727         no longer needed.
116728         * lib/quotearg.c (quotearg_n_options): Use it.
116729         * lib/group-member.c: Include <stdbool.h>.
116730         (free_group_info): Arg is now const *; don't free arg.
116731         (get_group_info): Now returns bool and accepts struct group_info *,
116732         rather than returning a malloc'ed struct group_info *.
116733         All uses changed.  Check for overflow in internal size calculation.
116735         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
116736         rather than xmalloc/xrealloc.
116737         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
116738         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
116739         conformance bug: the old code used a pointer after freeing the
116740         storage that it addressed.
116741         * lib/hash.c (hash_initialize): Simplify the code by using
116742         xalloc_oversized rather than doing it by hand.
116743         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
116744         the buffer preserved.  Use free and xmalloc instead.
116745         * lib/quotearg.c (quotearg_n_options): Likewise.
116746         Use a simpler test for size overflow.  Don't use xalloc_oversized
116747         because unsigned int might be wider than size_t (!); this suggests
116748         that we should switch from unsigned int to size_t for slot numbers.
116750 2003-10-28  Paul Eggert  <eggert@twinsun.com>
116752         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
116753         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
116754         NetBSD kernels.  Requested by Richard Stallman.
116756 2003-10-27  Paul Eggert  <eggert@twinsun.com>
116758         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
116759         to allocate the returned structure.  Do not allocate a subarray,
116760         as x2nrealloc will do that.
116761         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
116762         instead of xnrealloc.
116763         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
116765 2003-10-27  Bruno Haible  <bruno@clisp.org>
116767         * lib/stdbool_.h: Better support for BeOS.
116769 2003-10-26  Paul Eggert  <eggert@twinsun.com>
116771         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
116772         now uses inline.
116774 2003-10-26  Paul Eggert  <eggert@twinsun.com>
116776         * lib/xalloc.h (xalloc_oversized): New static inline function, for
116777         callers that want to do their own size-overflow checking.  Include
116778         <stdbool.h>, since xalloc_oversized returns bool.
116779         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
116780         to use xalloc_oversized.
116782         Add two functions x2realloc, x2nrealloc, for programs that grow
116783         arrays dynamically by doubling their sizes.
116784         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
116785         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
116786         New functions.
116788         Port to C99 semantics for 'inline' of external functions.
116789         Bug reported by Bruno Haible.
116790         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
116791         with the old contents of xnmalloc.
116792         (xnmalloc, xmalloc): Use it.
116793         (xnrealloc_inline): New static inline function,
116794         with the old contents of xnrealloc.
116795         (xnrealloc, xrealloc): Use it.
116797         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
116798         that.
116800 2003-10-26  Karl Berry  <karl@gnu.org>
116802         * config/srclist.txt (COPYING.DOC): no longer available from
116803         /gd/gnuorg; don't know where the ultimate source is.
116805 2003-10-25  Paul Eggert  <eggert@twinsun.com>
116807         Fix several address-calculation bugs in the hash modules,
116808         plus some minor code cleanup.
116810         * lib/hash.h: Include <stdbool.h>, for bool.
116811         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
116812         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
116813         hash_get_n_entries, hash_get_max_bucket_length,
116814         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
116815         hash_rehash): Use size_t rather than unsigned.
116816         * lib/hash.c (struct hash_table, hash_get_n_buckets,
116817         hash_get_n_buckets_used, hash_get_n_entries,
116818         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
116819         hash_get_entries, hash_do_for_each, hash_string, is_prime,
116820         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
116821         Likewise.
116822         (SIZE_MAX): Define if not defined.
116823         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
116824         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
116825         hash_print):
116826         Use const * when possible.
116827         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
116828         (check_tuning): Fix bug: if tuning parameters were very close to
116829         0 or 1, rounding errors could have caused subscript violations.
116830         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
116831         (hash_initialize): Add 'fail:' label
116832         to free table and return NULL, and use it to simplify code.
116833         Use calloc rather than clearing the storage ourself.
116834         (hash_initialize, hash_rehash): Check for arithmetic overflow in
116835         buffer size calculations.
116836         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
116837         Include <stddef.h>, for size_t.
116838         * lib/hash-pjw.c (hash_pjw): Likewise.
116839         Switch to method described by Bruno Haible.
116840         Include <limits.h>, for CHAR_BIT.
116841         (SIZE_BITS): New macro.
116843 2003-10-23  Paul Eggert  <eggert@twinsun.com>
116845         * m4/getline.m4 (AM_FUNC_GETLINE):
116846         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
116847         hosts.  Problem reported by Derek Robert Price in
116848         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
116849         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
116850         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
116852 2003-10-21  Paul Eggert  <eggert@twinsun.com>
116854         * lib/getndelim2.c (getndelim2): When size calculation overflows,
116855         ceiling the allocation at NMAX bytes rather than silently
116856         discarding input bytes before NMAX is reached.  This makes
116857         a difference only if NMAX exceeds SIZE_MAX / 2.
116859         * lib/obstack.c: Merge from glibc.
116860         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
116861         Add libc_hidden_def (_obstack_newchunk).
116862         (_obstack_free) [! defined _LIBC]: Remove.
116863         [defined _LIBC]: Make a strong alias from obstack_free, rather than
116864         a clone of the function body.
116865         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
116866         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
116868         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
116869         glibc.
116870         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
116871         arg to memcpy.
116873         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
116874         (obstack_ptr_grow_fast, obstack_int_grow_fast):
116875         Don't use lvalue casts, as GCC plans to remove support for them
116876         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
116877         was also present in the non-GCC version, indicating that this
116878         code had always been buggy and had never been widely used.
116879         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
116880         Use the fast variant of each macro, rather than copying the
116881         definiens of the fast variant; that way, we'll be more likely to
116882         catch future bugs in the fast variants.
116884 2003-10-20  Bruno Haible  <bruno@clisp.org>
116886         * modules/wait-process: New file.
116887         * MODULES.html.sh (func_all_modules): Add wait-process.
116889 2003-10-20  Bruno Haible  <bruno@clisp.org>
116891         * m4/wait-process.m4: New file.
116893 2003-10-20  Bruno Haible  <bruno@clisp.org>
116895         * lib/wait-process.h: New file, from GNU gettext.
116896         * lib/wait-process.c: New file, from GNU gettext.
116898 2003-10-19  Jim Meyering  <jim@meyering.net>
116900         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
116901         HPUX 10.20.
116903 2003-10-18  Karl Berry  <karl@gnu.org>
116905         * config/config.guess: update from config.
116907 2003-10-16  Paul Eggert  <eggert@twinsun.com>
116909         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
116910         (getgroups): First arg is int, not size_t.
116911         Don't let 'free' mangle errno.
116913 2003-10-16  Paul Eggert  <eggert@twinsun.com>
116915         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
116917 2003-10-16  Karl Berry  <karl@gnu.org>
116919         * config/config.{guess,sub}: update from config.
116921 2003-10-16  Jim Meyering  <jim@meyering.net>
116923         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
116924         memcpy.
116926 2003-10-15  Paul Eggert  <eggert@twinsun.com>
116928         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
116929         (SIZE_MAX): Remove.
116930         (new_exclude, add_exclude_file): Initial size no longer needs to
116931         be a power of 2.
116932         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
116933         our own address arithmetic overflow checking.
116935         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
116936         (fnmatch): Do not alloca more than 2000 wide characters;
116937         instead, use malloc for large buffers.
116938         Check for address arithmetic overflow, and return -1
116939         with errno set to ENOMEM in that case.
116940         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
116941         (NEW_PATTERN): Do not alloca more than 8000 bytes;
116942         instead, return -1.  Check for address arithmetic overflow.
116944 2003-10-14  Paul Eggert  <eggert@twinsun.com>
116946         Handle invalid suffixes and overflow independently, so that
116947         callers can treat them independently as needed.  Fix some bugs in
116948         suffix handling, e.g., "100k@" was not diagnosed as an invalid
116949         suffix for a human-readable blocksize.  The major caller-visible
116950         change is the addition of a new
116951         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
116952         that both overflow and suffix chars were found.
116954         * lib/human.c (humblock): Don't check separately for invalid suffix
116955         char; that is xstrtoumax's job (now that its bug is fixed).
116956         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
116957         INTMAX_MAX]: New macros.
116958         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
116959         TYPE_MAXIMUM): New macros.
116960         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
116961         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
116962         if overflow occurs, as it's what __strtol does and it's more useful
116963         in practice.
116964         (__xstrtol): If __strtol reports some error other than ERANGE,
116965         reflect it to the caller as LONGINT_INVALID.  If it reports
116966         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
116967         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
116968         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
116969         value.
116970         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
116971         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
116972         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
116973         [defined UINTMAX_MAX]: New macros.
116975 2003-10-14  Bruno Haible  <bruno@clisp.org>
116977         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
116979 2003-10-14  Bruno Haible  <bruno@clisp.org>
116981         * m4/sig_atomic_t: New file, from GNU gettext.
116982         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
116984 2003-10-14  Bruno Haible  <bruno@clisp.org>
116986         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
116987         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
116988         Also use volatile where needed.
116990 2003-10-12  Paul Eggert  <eggert@twinsun.com>
116992         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
116993         Change maintainer from Bruno Haible to 'all'.
116995 2003-10-12  Paul Eggert  <eggert@twinsun.com>
116997         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
116999 2003-10-12  Paul Eggert  <eggert@twinsun.com>
117001         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
117002         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
117003         and define in terms of the other primitives.
117004         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
117005         (SIZE_MAX): Define if not already defined.
117006         (array_size_overflow): New function.
117007         (xalloc_die): Abort instead of exiting if 'error' returns.
117008         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
117009         (xmalloc, xrealloc): Use them.
117010         (xcalloc): Check for address arithmetic overflow.
117011         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
117012         a bit faster than strcpy.
117014 2003-10-10  Simon Josefsson  <jas@extundo.com>
117016         * modules/argp (Depends-on): Add restrict and strcase.
117018 2003-10-10  Simon Josefsson  <jas@extundo.com>
117020         * m4/argp.m4: Add AC_C_INLINE.
117022 2003-10-08  Paul Eggert  <eggert@twinsun.com>
117024         Merge getpass from libc, plus a few fixes.
117026         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
117027         Include <stdbool.h>.
117028         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
117029         __fsetlocking to empty.
117030         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
117031         do include <bits/libc-lock.h>.
117032         Do not include <fcntl.h>; not needed.
117033         [_LIBC]: Include <wchar.h>.
117034         (NOTCANCEL_MODE): New macro.
117035         (flockfile, funlockfile) [_LIBC]: New macros.
117036         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
117037         [!_LIBC]: New macros.
117038         (call_fclose): New function.
117039         (getpass): Use it.  Save tty stream separately; this simplifies the
117040         code and makes it more reliable if stdin happens to equal stdout.
117041         Invoke __fsetlocking on tty.
117042         Handle thread cancellation if needed.
117043         Namespace cleanup (use __tcgetattr, __getline).
117044         Use bool for Booleans.
117045         [USE_IN_LIBIO]: Handle wide streams.
117046         [!_LIBC]: Unconditionally do the fseek, since we don't know what
117047         stream might go where.
117049         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
117050         doesn't have to include <stdio.h> before us.
117051         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
117052         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
117053         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
117054         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
117055         if not declared, so that we can use getpass.c code from libc without
117056         rewriting it.
117057         (flockfile, ftrylockfile, funlockfile): New macros.
117059 2003-10-08  Paul Eggert  <eggert@twinsun.com>
117061         * modules/getpass: Depend on stdbool.
117063 2003-10-08  Paul Eggert  <eggert@twinsun.com>
117065         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
117067 2003-10-07  Karl Berry  <karl@gnu.org>
117069         * config/config.{guess,sub}: update from config.
117071 2003-10-06  Jim Meyering  <jim@meyering.net>
117072             Bruno Haible  <bruno@clisp.org>
117074         This lets translators provide better translations for the
117075         "Written by ..." part of --version output.
117076         * lib/version-etc.h: Include stdarg.h.
117077         (version_etc_copyright): Declare as readonly.
117078         (version_etc): Make this function variadic with a NULL-terminated list
117079         of author name strings.
117080         (version_etc_va): New declaration.
117081         * lib/version-etc.c: Include stdarg.h, stdlib.h.
117082         (version_etc_copyright): Declare as readonly.
117083         (version_etc_va): New function. Provide a different translatable string
117084         for each possible number of authors < 10. Abbreviate when there are 10
117085         authors or more.
117086         (version_etc): Make this function variadic. Call version_etc_va.
117087         Suggestion from Gary V. Vaughan.
117089         * lib/long-options.h (parse_long_options): Change prototype: the
117090         authors string is moved to the end and becomes variadic.
117091         * lib/long-options.c: Include stdarg.h.
117092         (parse_long_options): Make this function variadic, too.
117093         Call version_etc_va, not version_etc.
117095 2003-10-06  Bruno Haible  <bruno@clisp.org>
117097         * modules/version-etc-2: Remove file.
117098         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
117100 2003-10-06  Bruno Haible  <bruno@clisp.org>
117102         * modules/fatal-signal: New file.
117103         * MODULES.html.sh (func_all_modules): Add fatal-signal.
117105 2003-10-06  Bruno Haible  <bruno@clisp.org>
117107         * m4/fatal-signal.m4: New file.
117108         * m4/signalblocking.m4: New file, from GNU gettext.
117110 2003-10-06  Bruno Haible  <bruno@clisp.org>
117112         * lib/version-etc-2.h: Remove file.
117113         * lib/version-etc-2.c: Remove file.
117115 2003-10-06  Bruno Haible  <bruno@clisp.org>
117117         * lib/fatal-signal.h: New file, from GNU gettext.
117118         * lib/fatal-signal.c: New file, from GNU gettext.
117120 2003-10-05  Paul Eggert  <eggert@twinsun.com>
117122         * README: Rework advice for preventing empty .o files.
117123         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
117124         not <sys/types.h>.
117126 2003-10-04  Karl Berry  <karl@gnu.org>
117128         * lib/argp*: update from libc.
117130 2003-10-04  Karl Berry  <karl@gnu.org>
117132         * config/config.{guess,sub}: update from config.
117134 2003-10-02  Bruno Haible  <bruno@clisp.org>
117136         * modules/lchown (Include): Add lchown.h.
117137         * modules/time_r (Include): Use "..." syntax.
117138         * modules/xgetdomainname (Include): Add xgetdomainname.h.
117140 2003-10-01  Simon Josefsson  <jas@extundo.com>
117142         * MODULES.html.sh (func_all_modules): Move gethostname from section
117143         'based on' to section 'lacking' POSIX:2001.
117145 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
117147         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
117148         to output mode on the same stream.
117150 2003-09-29  Paul Eggert  <eggert@twinsun.com>
117152         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
117153         Fix arg typo in previous patch.
117155 2003-09-28  Jim Meyering  <jim@meyering.net>
117157         * lib/error.c: Correct cpp indentation.
117159 2003-09-27  Paul Eggert  <eggert@twinsun.com>
117161         * modules/free: New file.
117163 2003-09-27  Paul Eggert  <eggert@twinsun.com>
117165         * m4/free.m4: New file.
117167 2003-09-27  Paul Eggert  <eggert@twinsun.com>
117169         * lib/minmax.h (MIN, MAX)
117170         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
117171         Omit the special code that used __typeof__, since we worry that
117172         it could be more trouble than it's worth.  See:
117173         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
117174         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
117176         * lib/free.c: New file.
117178 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
117180         Trivial fixes to Makefile.am parts of module listings.
117181         * modules/strstr: Append strstr.h to lib_SOURCES.
117182         * modules/strcase: Likewise, for strcase.h.
117184 2003-09-27  Karl Berry  <karl@gnu.org>
117186         * config/mkinstalldirs: update from automake.
117188 2003-09-26  Paul Eggert  <eggert@twinsun.com>
117190         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
117191         (error_tail): Do not loop, reallocating temporary buffer, since
117192         the output cannot contain more wide characters than the input
117193         contains bytes, the size must be big enough already.  This avoids
117194         one potential size overflow calculation.  Check for size overflow
117195         when calculating temporary buffer size.  Free temporary buffer
117196         when done, if it was allocated with malloc; this plugs a memory
117197         leak.  Remove casts from void * to pointers, that are no longer
117198         needed now that we're assuming C89 or better.
117200         Merge error changes from glibc.
117202         * lib/error.c, error.h: Update copyright notice header to match glibc.
117203         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
117204         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
117205         Disable cancellation while printing error.
117206         * lib/error.h: Prepend __ to parameter names.
117208 2003-09-26  Jim Meyering  <jim@meyering.net>
117210         * lib/error.c (error_tail): Move some declarations
117211         into inner scope where the local variables are used.
117213 2003-09-26  Bruno Haible  <bruno@clisp.org>
117215         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
117216         stpncpy().
117217         Don't define stpncpy through config.h; it's now done through stpncpy.h.
117219 2003-09-26  Bruno Haible  <bruno@clisp.org>
117221         * lib/stpncpy.h (gnu_stpncpy): New declaration.
117222         (stpncpy): Define as alias for gnu_stpncpy.
117223         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
117225 2003-09-25  Simon Josefsson  <jas@extundo.com>
117227         * lib/xgetdomainname.h: New file.
117228         * lib/xgetdomainname.c: New file.
117230 2003-09-25  Simon Josefsson  <jas@extundo.com>
117231             Bruno Haible  <bruno@clisp.org>
117233         * modules/getdomainname: New file.
117234         * modules/xgetdomainname: New file.
117235         * MODULES.html.sh (func_all_modules): Add getdomainname,
117236         xgetdomainname.
117238 2003-09-25  Simon Josefsson  <jas@extundo.com>
117239             Bruno Haible  <bruno@clisp.org>
117241         * m4/getdomainname.m4: New file.
117243 2003-09-25  Simon Josefsson  <jas@extundo.com>
117244             Bruno Haible  <bruno@clisp.org>
117246         * lib/getdomainname.h: New file.
117247         * lib/getdomainname.c: New file.
117249 2003-09-25  Karl Berry  <karl@gnu.org>
117251         * lib/argp-fmtstream.c, argp-help.c: update from libc.
117253 2003-09-25  Karl Berry  <karl@gnu.org>
117255         * config/install-sh: update from automake.
117257 2003-09-25  Bruno Haible  <bruno@clisp.org>
117259         * modules/version-etc-2: New file, from modules/version-etc with
117260         modifications.
117261         * MODULES.html.sh (func_all_modules): Add version-etc-2.
117263 2003-09-25  Bruno Haible  <bruno@clisp.org>
117265         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
117266         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
117268 2003-09-24  Simon Josefsson  <jas@extundo.com>
117270         * modules/xgethostname: Add xgethostname.h.
117272 2003-09-24  Paul Eggert  <eggert@twinsun.com>
117274         * lib/linebuffer.c (freebuffer): Don't free the argument, just
117275         the buffer associated with the argument.  Bug reported by
117276         Simon Josefsson.
117278 2003-09-24  Paul Eggert  <eggert@twinsun.com>
117280         * README: Document assumptions that 'int' is at least 32 bits
117281         wide, that integer arithmetic is 2's complement without overflow,
117282         that there are no holes in integer values, that adding sizes of
117283         two nonoverlapping objects can't overflow, and that all-bits-zero
117284         yields scalar zero.  Fix spelling and capitalization typos.
117286 2003-09-19  Karl Berry  <karl@gnu.org>
117288         * lib/argp.h: update from libc.
117290 2003-09-17  Paul Eggert  <eggert@twinsun.com>
117292         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
117293         to avoid spurious warnings like "AC_RUN_IFELSE was called before
117294         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
117296 2003-09-17  Paul Eggert  <eggert@twinsun.com>
117298         * gnulib-tool: Use "test -h", not "test -L", for portability
117299         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
117300         (tags_regexp): Remove, since \| doesn't conform to POSIX.
117301         (sed_extract_prog): Issue s commands one-by-one, rather than
117302         using \| in one s command.
117304 2003-09-16  Paul Eggert  <eggert@twinsun.com>
117306         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
117307         input error, instead of returning NULL the next time we are called
117308         (and therefore losing track of errno).
117310 2003-09-16  Bruno Haible  <bruno@clisp.org>
117312         * gnulib-tool (func_create_testdir): Warn about duplicated
117313         dependencies.
117315 2003-09-15  Paul Eggert  <eggert@twinsun.com>
117317         * modules/argmatch, modules/fatal, modules/obstack,
117318         modules/xalloc, modules/xgethostname: Sort dependencies by
117319         importance, not alphabetically.
117321 2003-09-15  Paul Eggert  <eggert@twinsun.com>
117323         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
117324         fails, so that the caller gets the proper errno.
117326         * lib/readutmp.c (read_utmp): Likewise.
117327         Check for fstat error.  Close stream and free storage
117328         when failing.
117330 2003-09-14  Karl Berry  <karl@gnu.org>
117332         * config/srclist.txt (strdup.c): disable for c89 changes.
117334 2003-09-14  Jim Meyering  <jim@meyering.net>
117336         * lib/getloadavg.c: Correct cpp indentation.
117337         * lib/strdup.c: Likewise.
117338         * lib/vasnprintf.c: Likewise.
117340 2003-09-14  Bruno Haible  <bruno@clisp.org>
117342         * modules/fwriteerror: New file.
117343         * MODULES.html.sh (func_all_modules): Add fwriteerror.
117345 2003-09-14  Bruno Haible  <bruno@clisp.org>
117347         * lib/fwriteerror.h: New file.
117348         * lib/fwriteerror.c: New file.
117350 2003-09-12  Paul Eggert  <eggert@twinsun.com>
117352         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
117353         modules/xgethostname, modules/xalloc: Depend on exit.
117355 2003-09-12  Paul Eggert  <eggert@twinsun.com>
117357         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
117359         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
117360         and AC_MINIX, too, so that their extensions are available.
117362         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
117363         This macro has been superseded by gl_BACKUPFILE.
117365         More patches to assume C89 or better.
117367         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
117369         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
117370         unconditionally.
117371         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
117372         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
117373         Include <string.h>, <stdlib.h> unconditionally.
117374         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
117375         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
117376         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
117377         headers or for string.h.
117378         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
117379         or strtoul.
117381         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
117382         headers.
117383         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
117384         * m4/userspec.m4 (gl_USERSPEC): Likewise.
117385         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
117386         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
117387         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
117388         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
117389         memcpy, memset.
117390         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
117391         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
117392         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
117393         strtol.
117394         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
117395         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
117396         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
117397         strtoul.
117399 2003-09-12  Paul Eggert  <eggert@twinsun.com>
117401         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
117402         * lib/obstack.c [!defined _LIBC]: Likewise.
117403         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
117404         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
117405         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
117407         More changes to assume C89 or better.
117409         * lib/error.c (error_tail): Assume vprintf.
117411         * lib/argmatch.c (getenv): Remove decl.
117412         * lib/progreloc.c (get_full_program_name): Define via prototype.
117413         * lib/setenv.c (clearenv): Likewise.
117414         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
117415         needed.
117416         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
117417         (malloc, memcpy): Remove decls.
117418         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
117419         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
117420         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
117421         (memcpy): Remove macro.
117422         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
117423         (__P): Remove.  All uses removed.
117424         (PTR): Remove.  All uses changed to void *.
117425         (CHAR_BIT, NULL): Remove.
117426         (spaces, zeros, memset_space, memset_zero)
117427         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
117428         Remove.
117429         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
117430         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
117431         Define with prototype.
117432         Remove now-unnecessary prototype decl.
117433         (extra_args_spec): Assume ANSI C.  All uses changed.
117434         (extra_args_spec_iso): Remove.
117435         (my_strftime, emacs_strftimeu): Define via prototype.
117436         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
117437         unconditionally.
117438         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
117439         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
117440         (strtoul, strtol): Remove decls.
117441         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
117442         LONG_MAX): Remove.
117443         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
117444         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
117445         (LOCALE_PARAM_PROTO): New macro.
117446         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
117447         (INTERNAL (strtol), strtol): Define with a prototype.
117448         (PARAMS): Remove.  All uses removed.
117449         * lib/tempname.c: Include <string.h> unconditionally.
117450         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
117451         * lib/xgethostname.c (main): Define with a prototype.
117452         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
117453         Include <stdlib.h> unconditionally.
117454         (calloc, malloc, realloc, free): Remove decls.
117455         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
117456         Include <stdlib.h> unconditionally.  Sort include file names.
117457         (strtod): Remove.
117458         (xstrtod): Define with a prototype.
117459         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
117460         (strtol, strtoul): Remove decls.
117462 2003-09-11  Paul Eggert  <eggert@twinsun.com>
117464         More patches to assume C89 or better.
117465         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
117466         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
117467         string.h, memchr, STDC_HEADERS.
117469 2003-09-11  Paul Eggert  <eggert@twinsun.com>
117471         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
117472         Include <stdlib.h>, <string.h> unconditionally.
117473         Remove now-unnecessary cast to char *.
117474         * lib/strnlen.c: Include <string.h> unconditionally.
117475         * lib/yesno.c (yesno): Define with a prototype.
117477 2003-09-11  Bruno Haible  <bruno@clisp.org>
117479         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
117481 2003-09-10  Jim Meyering  <jim@meyering.net>
117483         * lib/error.c: Correct indentation of cpp directives.
117485 2003-09-10  Bruno Haible  <bruno@clisp.org>
117487         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
117488         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
117489         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
117490         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
117491         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
117492         <stdlib.h> and <string.h> checks.
117493         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
117494         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
117496 2003-09-10  Bruno Haible  <bruno@clisp.org>
117498         * lib/strcspn.c: Include <string.h> unconditionally.
117499         * lib/strpbrk.c: Include <string.h> unconditionally.
117500         * lib/strstr.c: Include <string.h> unconditionally.
117501         * lib/unicodeio.c: Include <string.h> unconditionally.
117502         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
117503         * lib/unsetenv.c: Likewise.
117504         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
117505         * lib/yesno.c: Include <stdlib.h> unconditionally.
117506         (rpmatch): Add prototype.
117508 2003-09-09  Paul Eggert  <eggert@twinsun.com>
117510         More patches to assume C89 or better.
117511         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
117512         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
117513         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
117514         or for string.h.
117515         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
117516         stdlib.h.
117517         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
117518         C headers.
117519         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
117520         string.h.
117521         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
117522         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
117523         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
117524         or for string.h.
117525         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
117526         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
117527         C headers.
117528         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
117529         memcpy.
117530         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
117531         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
117532         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
117533         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
117534         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
117535         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
117536         string.h, free.
117537         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
117538         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
117539         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
117540         C headers, or for string.h.
117541         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
117542         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
117543         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
117544         headers, memory.h, stdlib.h, string.h, strings.h.
117545         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
117546         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
117547         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
117548         strchr.
117549         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
117550         headers, memory.h, string.h.
117551         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
117552         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
117553         free.
117554         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
117555         headers.
117556         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
117557         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
117558         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
117559         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
117560         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
117562 2003-09-09  Paul Eggert  <eggert@twinsun.com>
117564         More K&R removal.
117566         * lib/acosl.c (main): Use a prototype.
117567         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
117568         tanl.c: Likewise.
117570         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
117572         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
117573         (getopt, etopt_long, getopt_long_only, _getopt_internal)
117574         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
117575         with a prototype.
117576         * lib/getopt.c (const): Remove macro.
117577         Include <string.h> unconditionally.
117578         (my_index): Remove; all uses changed to strchr.
117579         (strlen): Remove decl.
117580         (exchange): Remove forward decl; no longer needed.
117581         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
117582         Define with prototype.
117583         * lib/getopt1.c (const): Remove macro.
117584         (getopt_long, getopt_long_only, main): Define with prototype.
117586         * lib/getugroups.c: Include <string.h> unconditionally.
117588         * lib/getusershell.c: Include <stdlib.h> unconditionally.
117589         (getusershell, setusershell, endusershell, readname, main):
117590         Define with prototypes.
117592         * lib/group-member.c: Include group-member.h first.
117593         Include <stdlib.h> unconditionally.
117595         * lib/hard-locale.c: Include hard-locale.h first.
117596         Include <stdlib.h>, <string.h> unconditionally.
117598         * lib/hash.c (free, malloc): Remove decls.
117599         Include <stdlib.h> unconditionally.
117601         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
117602         (getenv): Do not declare.
117604         * lib/idcache.c: Include <string.h> unconditionally.
117606         * lib/long-options.c: Include long-options.h first, to test interface.
117607         Include <stdlib.h> unconditionally.
117609         * lib/makepath.c: Include makepath.h first, to test interface.
117610         Include <stdlib.h> and <string.h> unconditionally.
117612         * lib/linebuffer.c: Include <stdlib.h>.
117613         (free): Remove decl.
117615         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
117616         stddef.h. rpl_malloc returns void *, not char *.
117617         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
117618         prototype.
117620         * lib/md5.h: Include <limits.h> unconditionally.
117621         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
117622         (__P): Remove; all uses removed.
117623         * lib/md5.c: Include "md5.h" first.
117624         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
117625         md5_buffer, md5_process_bytes, md5_process_block):
117626         Define with prototypes.
117627         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
117628         * lib/sha.c: Include "sha.h" first.
117629         Include <stdlib.h>, <string.h> unconditionally.
117631         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
117632         * lib/memcmp.c (__ptr_t): Likewise.
117633         * lib/memrchr.c (__ptr_t): Likewise.
117634         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
117635         Include <string.h> unconditionally.
117636         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
117637         * lib/memchr.c: Include <stdlib.h> unconditionally.
117638         * lib/memchr.c (LONG_MAX): Remove.
117639         * lib/memrchr.c (LONG_MAX): Likewise.
117640         * lib/memchr.c (__memchr): Define via a prototype.
117641         * lib/memrchr.c (__memrchr): Likewise.
117642         * lib/memcmp.c (__P): Remove, and remove all uses.
117643         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
117644         Remove forward decls; no longer needed.
117645         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
117646         Use types required by C89 in prototype.
117648         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
117649         * lib/savedir.c: Likewise.
117650         * lib/mkdir.c (free): Remove decl.
117651         * lib/rmdir.c (rmdir): Define with a prototype.
117652         * lib/savedir.c: Include savedir.h first, to test interface.
117654         * lib/mktime.c (STDC_HEADERS): Remove.
117655         Include <stdlib.h>, <string.h> unconditionally.
117657         * lib/modechange.c: Include <stdlib.h> unconditionally.
117658         (malloc): Remove decl.
117660         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
117661         (free): Remove decl.
117663         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
117664         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
117665         (This type really should be intptr_t, but that's a C99ism.)
117666         (_obstack_memcpy): Remove: all uses changed to memcpy.
117667         Include <string.h> unconditionally.
117668         (struct obstack): Assume __STDC__ for types of members
117669         chunkfun, freefun, extra_arg.
117670         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
117671         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
117672         obstack_begin, obstack_specify_allocation,
117673         obstack_specify_allocation_with_arg, obstack_chunkfun,
117674         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
117675         Remove unprototyped decls and the macros that use them.
117676         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
117677         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
117678         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
117679         (defined __STDC__ && __STDC__)]:
117680         Remove nonprototyped code.
117681         Include <stdlib.h> unconditionally.
117682         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
117683         _obstack_allocated_p, _obstack_free, obstack_free,
117684         _obstack_memory_used, print_and_abort):
117685         Define using prototypes.
117686         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
117687         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
117688         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
117689         obstack_next_free, obstack_object_size, obstack_room) [0]:
117690         Remove unused, unprototyped code.
117692         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
117694         * lib/physmem.c (physmem_total, physmem_available, main): Define
117695         with prototypes.
117697         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
117698         (main): Define with a prototype.
117700         * lib/posixver.c (getenv): Remove decl.
117702         * lib/putenv.c (malloc): Returns void *, not char *.
117703         Include <string.h> unconditionally.
117704         (strchr, memcpy, NULL): Do not define.
117706         * lib/readtokens.c: Include readtokens.h first, to test interface.
117707         Include <stdlib.h>, <string.h> unconditionally.
117708         (init_tokenbuffer): Define with a prototype.
117710         * lib/regex.c (PARAMS): Remove.  All uses removed.
117711         All uses of _RE_ARGS removed, too.
117712         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
117713         unconditionally.
117714         (bzero): Assume memset exists.
117715         (memcmp, memcpy, NULL): Remove.
117716         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
117717         char, or assignments to local vars of type signed char.
117718         (init_syntax_once, PREFIX(extract_number_and_incr),
117719         PREFIX(print_partial_compiled_pattern),
117720         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
117721         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
117722         PREFIX(regex_grow_registers), PREFIX(regex_compile),
117723         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
117724         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
117725         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
117726         wcs_compile_range, byte_compile_range, truncate_wchar,
117727         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
117728         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
117729         count_mbs_length, wcs_re_match_2_internal,
117730         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
117731         PREFIX(alt_match_null_string_p),
117732         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
117733         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
117734         regfree, PREFIX(extract_number)): Define with prototype.  Remove
117735         now-unnecessary declaration, if any.
117736         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
117737         regcomp, regexec):
117738         Remove now-unnecessary casts among pointer types.
117739         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
117741         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
117742         (free): Remove decl.
117744         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
117746         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
117747         (free): Remove decl.
117749         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
117750         * lib/xgetcwd.c: Likewise.
117752         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
117753         (free): Remove decl.
117755         * lib/strchrnul.c (strchrnul): Define with a prototype.
117756         Fix bug: c_in was not converted to char before searching.
117758         The following changes are not K&R related:
117760         * lib/group-member.h: Include <sys/types.h>, so that this file is
117761         self-contained.
117762         * lib/makepath.h: Likewise.
117764         * lib/getusershell.c (readname, default_index, line_size, readname):
117765         Use size_t, not int, for sizes.
117766         (readname): If the size overflows, report an error instead of
117767         looping forever.
117769 2003-09-09  Paul Eggert  <eggert@twinsun.com>
117771         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
117772         libc.
117774 2003-09-09  Paul Eggert  <eggert@twinsun.com>
117776         * README: New section: portability guidelines.
117778 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
117780         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
117781         C89 spec.
117783 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
117785         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
117787 2003-09-08  Paul Eggert  <eggert@twinsun.com>
117789         Assume C89 or better; remove K&R cruft.
117790         A few of these changes were first proposed by Derek Robert Price
117791         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
117793         * lib/addext.c: Include <string.h> unconditionally.
117794         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
117795         Don't declare getenv or malloc.
117797         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
117798         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
117799         (NULL): Remove.
117800         (find_stack_direction, alloca): Use prototypes.
117802         * lib/atexit.c (atexit): Define using a prototype.
117804         * lib/basename.c, dirname.c, stripslash.c:
117805         Include <string.h> unconditionally.
117807         * lib/bcopy.c: Include <stddef.h>.
117808         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
117810         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
117812         * lib/error.h (error, error_at_line, error_print_progname)
117813         [! (defined (__STDC__) && __STDC__)]: Remove decls.
117814         * lib/error.c: Include error.h first, to check interface.
117815         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
117816         (VA_START): Remove; all uses changeed to va_start.
117817         (exit, strerror): Remove decls.
117818         (error_print_progname): Prototype uncondionally.
117819         Don't include <errno.h>; no longer needed.
117820         (private_strerror): Remove.
117821         (error_tail): Always define.
117822         (error, error_at_line): Assume C89 or better; always use prototypes.
117823         * lib/fatal.c: Include "fatal.h" first, to test interface.
117824         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
117825         (VA_START): Remove; all uses changed to va_start.
117826         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
117827         this case.
117828         (exit): Remove decl.
117829         (fatal): Prototype unconditionally.  Assume va_start works.
117830         Abort at end, to pacify gcc.
117832         * lib/euidaccess.c (main): Define with a prototype.
117834         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
117836         * lib/exitfail.c: Include <stdlib.h> unconditionally.
117838         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
117839         prototypes.
117840         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
117841         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
117842         (getenv): Remove decl.
117843         (fnmatch): Define using a prototype.
117844         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
117845         (FCT): Define using a prototype.
117847         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
117849         * lib/gethostname.c: Include <stddef.h>.
117850         (gethostname): Define with prototype.  Length is size_t, not int.
117852 2003-09-08  Paul Eggert  <eggert@twinsun.com>
117854         Assume C89 or better; remove K&R cruft.
117855         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
117856         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
117857         string.h, getenv, malloc.
117858         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
117859         headers.
117860         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
117861         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
117862         do not check for strerror.
117863         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
117864         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
117865         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
117866         do not check for doprnt or vprintf.
117867         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
117868         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
117870 2003-09-08  Paul Eggert  <eggert@twinsun.com>
117872         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
117873         getversion.c should have been removed then, but was accidentally
117874         preserved.
117876         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
117877         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
117879 2003-09-08  Karl Berry  <karl@gnu.org>
117881         * config/config.sub, config.guess, srclistvars.sh: update from savannah
117882                 config, forget about prep.
117884         * config/depcomp, missing: update from automake.
117886 2003-09-07  Paul Eggert  <eggert@twinsun.com>
117888         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
117889         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
117891 2003-09-07  Paul Eggert  <eggert@twinsun.com>
117893         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
117894         copy_tm_result.  Bug reported by Simon Josefsson in
117895         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
117897 2003-09-06  Paul Eggert  <eggert@twinsun.com>
117899         * m4/time_r.m4: New file.
117900         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
117901         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
117902         is. Check for timegm declaration.
117903         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
117904         Do not check for gmtime_r.
117905         Replace mktime if __mktime_internal does not exist and if mktime
117906         hasn't been replaced already.
117908 2003-09-06  Paul Eggert  <eggert@twinsun.com>
117910         * lib/time_r.c, lib/time_r.h: New files.
117912         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
117913         __localtime_r.
117914         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
117915         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
117917         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
117918         __gmtime_r.
117919         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
117920         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
117921         Include <time_r.h>.
117923         * lib/timegm.c: Switch to glibc implementation, with the following
117924         changes:
117925         [defined HAVE_CONFIG_H]: Include <config.h>.
117926         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
117927         (__mktime_internal) [!defined _LIBC]: New decl.
117928         (__gmtime_r) [!defined _LIBC]: New macro and function.
117929         (timegm): Use a prototype, since gnulib assumes C89.
117930         Do not bother declaring tmp to be const, as it's not really usefu.
117931         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
117932         (timegm): Declare only if HAVE_DECL_TIMEGM.
117934 2003-09-06  Paul Eggert  <eggert@twinsun.com>
117936         * MODULES.html.sh (func_all_modules): Add time_r.
117937         * modules/time_r: New file.
117938         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
117939         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
117941 2003-09-03  Paul Eggert  <eggert@twinsun.com>
117943         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
117944         Bug reported by Lute Kamstra in
117945         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
117947         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
117948         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
117949         course with correspondingly smaller numbers for tomorrow and
117950         yesterday.  From Tadayoshi Funaba.  Originally installed into
117951         sh-utils on 1999-08-07, but the patch got lost (I guess during the
117952         coreutils merge?).
117954 2003-08-31  Simon Josefsson  <jas@extundo.com>
117956         * modules/timegm: New file.
117957         * MODULES.html.sh (func_all_modules): Add timegm.
117959 2003-08-31  Simon Josefsson  <jas@extundo.com>
117961         * m4/timegm.m4: New file.
117963 2003-08-31  Simon Josefsson  <jas@extundo.com>
117965         * lib/timegm.h: New file.
117966         * lib/timegm.c: New file.  Based on
117967         wget-1.8.2/src/http.c:mktime_from_utc.
117969 2003-08-31  Karl Berry  <karl@gnu.org>
117971         * lib/argp.h: update from libc.
117973 2003-08-28  Bruno Haible  <bruno@clisp.org>
117975         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
117976         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
117977         followed by '#define fnmatch fnmatch_posix' gives an error.
117979 2003-08-28  Bruno Haible  <bruno@clisp.org>
117981         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
117982         warning on QNX, which defines O_BINARY to 000000.
117984 2003-08-27  Jim Meyering  <jim@meyering.net>
117986         * m4/mkstemp.m4: Require that the system mkstemp be able to create
117987         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
117988         would fail after 32.  Reported by Danny Levinson.  Details here:
117989         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
117991 2003-08-24  Bruno Haible  <bruno@clisp.org>
117993         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
117994         MSVC7 <stdio.h> is included later.
117996 2003-08-22  Simon Josefsson  <jas@extundo.com>
117998         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
118000 2003-08-20  Karl Berry  <karl@gnu.org>
118002         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
118004 2003-08-20  Bruno Haible  <bruno@clisp.org>
118006         * modules/progname: New file.
118007         * MODULES.html.sh (func_all_modules): Add progname.
118009 2003-08-20  Bruno Haible  <bruno@clisp.org>
118011         * lib/progname.h: New file, from GNU gettext.
118012         * lib/progname.c: New file, from GNU gettext.
118013         * lib/progreloc.c: New file, from GNU gettext.
118015 2003-08-19  Jim Meyering  <jim@meyering.net>
118017         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
118018         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
118020 2003-08-19  Bruno Haible  <bruno@clisp.org>
118022         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
118023         more.
118025 2003-08-19  Bruno Haible  <bruno@clisp.org>
118027         * lib/xstrdup.c: Assume <string.h> exists.
118029 2003-08-18  Paul Eggert  <eggert@twinsun.com>
118031         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
118032         in makefile rules.
118034 2003-08-18  Jim Meyering  <jim@meyering.net>
118036         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
118037         * m4/lib-ld.m4: Likewise.
118039 2003-08-18  Jim Meyering  <jim@meyering.net>
118041         * lib/setenv.h: Indent nested cpp directive.
118042         * lib/vasnprintf.c: Remove trailing blanks.
118044 2003-08-17  Simon Josefsson  <jas@extundo.com>
118046         * modules/xstrndup: New file.
118047         * MODULES.html.sh (func_all_modules): Add xstrndup.
118049 2003-08-17  Simon Josefsson  <jas@extundo.com>
118051         * modules/argp: Fix autoconf macro name. Add more dependencies.
118053 2003-08-17  Simon Josefsson  <jas@extundo.com>
118055         * m4/xstrndup.m4: New file.
118057 2003-08-17  Simon Josefsson  <jas@extundo.com>
118059         * m4/argp.m4: New file.
118061 2003-08-17  Simon Josefsson  <jas@extundo.com>
118062             Bruno Haible  <bruno@clisp.org>
118064         * lib/xstrndup.h: New file.
118065         * lib/xstrndup.c: New file.
118067 2003-08-17  Bruno Haible  <bruno@clisp.org>
118069         * modules/strndup (Files, Include): Add lib/strndup.h.
118071 2003-08-17  Bruno Haible  <bruno@clisp.org>
118073         * modules/euidaccess (Files): Add lib/euidaccess.h.
118075 2003-08-17  Bruno Haible  <bruno@clisp.org>
118077         * lib/strndup.h: New file.
118079 2003-08-17  Bruno Haible  <bruno@clisp.org>
118081         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
118082         like AC_GNU_SOURCE.
118083         * modules/extensions (configure.ac): Comment out the invocation of
118084         gl_USE_SYSTEM_EXTENSIONS.
118086 2003-08-16  Paul Eggert  <eggert@twinsun.com>
118088         Merges from coreutils, etc.
118089         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
118090         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
118091         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
118092         fixing a typo.
118093         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
118094         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
118096 2003-08-16  Paul Eggert  <eggert@twinsun.com>
118098         Document merge from coreutils.
118099         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
118100         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
118101         * modules/utime: Add m4/utimes-null.m4.
118103 2003-08-16  Paul Eggert  <eggert@twinsun.com>
118105         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
118106         space, undoing this 2003-08-12 change:
118107         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
118109 2003-08-16  Paul Eggert  <eggert@twinsun.com>
118111         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
118112         strtoul.c from libc, undoing this 2003-08-12 change:
118113         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
118115 2003-08-16  Jim Meyering  <jim@meyering.net>
118117         Merges from coreutils.
118118         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
118119         prefix.  Adjust cache variables similarly.  Create 500 rather than
118120         just 300 files, to exercise bug on Darwin6.5, too.
118121         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
118122         $missing_dir.
118123         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
118124         AM_SYS_POSIX_TERMIOS.
118125         Reported by mkc@mathdogs.com.
118126         Also change use of $am_cv_sys_posix_termios
118127         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
118128         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
118129         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
118130         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
118131         in /proc/mounts until it finds one with matching device number.  This
118132         is unnecessary when the FILE argument *is* a mount point.  No stat call
118133         is necessary in that case.  So, disable the statvfs-testing code on
118134         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
118135         as RedHat bug# 84846.
118136         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
118137         to 1MB, so as not to render systems with no stack size limit (e.g.,
118138         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
118139         Include <unistd.h>.  On some systems,
118140         it is required for the definition of _SC_PAGESIZE.
118142 2003-08-16  Jim Meyering  <jim@meyering.net>
118144         Merge from coreutils.
118145         * lib/xstrtoimax.c: #else #if -> #elif.
118146         * lib/xstrtoumax.c: Likewise.
118148 2003-08-16  Jim Meyering  <jim@meyering.net>
118150         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
118151         * m4/utimes.m4: Removed.
118152         * m4/utimes-null.m4: Renamed from utimes.m4.
118154         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
118155         to 1MB, so as not to render systems with no stack size limit (e.g.,
118156         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
118157         Include <unistd.h>.  On some systems,
118158         it is required for the definition of _SC_PAGESIZE.
118160 2003-08-16  Jim Meyering  <jim@meyering.net>
118161         and Paul Eggert  <eggert@cs.ucla.edu>
118163         Merges from coreutils, etc.
118165         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
118166         using the latest version from cvs.  This avoids problems with #line
118167         directives using a vendor (Sun) compiler.
118168         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
118169         Don't set GETGROUPS_LIB here; now it's
118170         done via getgroups.m4's wrapper function.
118171         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
118172         rather than just in sh-util/configure.in, so that the
118173         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
118174         same.
118175         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
118176         AC_FUNC_GETLOADAVG where to find getloadavg.c.
118177         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
118178         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
118179         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
118180         Remove code that is now done by the newly-required macros.
118181         Append $(EXEEXT) to DF_PROG.
118182         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
118183         Do not invoke or require the following here,
118184         since prereq.m4 or some gnulib .m4 now does this for us:
118185         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
118186         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
118187         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
118188         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
118189         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
118190         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
118191         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
118192         AC_FUNC_OBSTACK.
118193         Do not replace the following functions, as this is now the job
118194         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
118195         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
118196         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
118197         atexit getpass, strdup, getpagesize.
118198         Replace 'raise'.
118199         Do not check for the following functions, as this is now the job
118200         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
118201         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
118202         setregid.
118203         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
118204         Check for sys/sysctl.h.
118205         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
118206         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
118207         of checking for ssize_t ourselves.
118209         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
118210         Require every macro that gnulib/modules/* suggests for us.
118211         (jm_PREREQ_ADDEXT): New macro.
118212         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
118213         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
118215         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
118216         (gl_PHYSMEM): Use it.
118217         Also check for `table' function.
118218         Check for new headers and functions.
118219         Add check for sys/sysmp.h.
118220         With suggestions from Kaveh Ghazi.
118221         Ignore headers that are present but cannot be compiled.  This
118222         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
118223         C 5.4.
118225 2003-08-15  Paul Eggert  <eggert@twinsun.com>
118227         Document merge from coreutils.
118228         * modules/userspec: Depend on posixver.
118229         * modules/strftime: Depend on tzset.
118231 2003-08-15  Paul Eggert  <eggert@twinsun.com>
118233         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
118234         rather than tab, after '#' in shell-script copyright notices.
118235         Suggested by Bruno Haible.
118237 2003-08-15  Paul Eggert  <eggert@twinsun.com>
118239         * config/srclist-update: Use three spaces, rather than tab, after '#'
118240         in shell-script copyright notices.  Suggested by Bruno Haible.
118241         Remove unnecessary parenthesization in regular expression.
118243 2003-08-15  Jim Meyering  <jim@meyering.net>
118245         Merge from coreutils.
118246         * lib/xgethostname.c: Include <stdlib.h>.
118247         (xghostname): Don't exit for anything other than memory-related
118248         failure; just return NULL.
118249         * lib/userspec.c: Include "posixver.h".
118250         (parse_user_spec): Accept `.' as a separator only
118251         in pre-POSIX-200112 mode.
118252         * lib/strtoimax.c: Use #elif rather than #else #if.
118253         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
118254         Remove function, now that we can rely on a working tzset function.
118255         [!_LIBC]: Ensure that the required autoconf test has been run.
118256         [!defined _NL_CURRENT && HAVE_STRFTIME]:
118257         Use underlying_strftime for %r.
118258         * lib/sha.c: Merge in some clean-up and optimization changes from
118259         glibc.
118260         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
118261         Ensure that it is a multiple of 64.
118262         Rearrange loop exit tests so as to avoid performing an
118263         additional fread after encountering an error or EOF.
118264         * lib/realloc.c: Update copyright date.
118266 2003-08-15  Jim Meyering  <jim@meyering.net>
118267         and Paul Eggert  <eggert@twinsun.com>
118269         Merge from coreutils.
118270         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
118271         member but strut utmpx does not.  Needed for AIX 4.3.3.
118272         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
118274 2003-08-15  Jim Meyering  <jim@meyering.net>
118275         and Paul Eggert  <eggert@cs.ucla.edu>
118277         Merges from coreutils, etc.
118278         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
118279         Require gl_FUNC_TZSET_CLOBBER.
118280         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
118281         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
118282         members.
118284 2003-08-14  Paul Eggert  <eggert@twinsun.com>
118286         Help the merge from coreutils.
118287         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
118288         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
118289         * m4/tzset.m4: Use it too.
118291 2003-08-14  Paul Eggert  <eggert@twinsun.com>
118293         * modules/tzset: New file.
118295 2003-08-14  Jim Meyering  <jim@meyering.net>
118297         Merges from coreutils.
118298         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
118299         variable names, rather than @FNMATCH_H@.
118300         * modules/alloca: Likewise for $(ALLOCA_H).
118302         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
118303         the three copies of the literal target, `fnmatch.h'.
118304         * modules/alloca (alloca.h): Likewise.
118306 2003-08-14  Jim Meyering  <jim@meyering.net>
118308         Merge from coreutils.
118309         * m4/tzset.m4: New file.
118310         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
118311         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
118312         otherwise, AIX 5.1 systems would end up using the latter.
118313         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
118314         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
118315         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
118316         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
118318 2003-08-14  Jim Meyering  <jim@meyering.net>
118320         Merge from coreutils.
118321         * lib/obstack.h: Whitespace changes.
118322         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
118323         and xcalloc return values.
118324         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
118325         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
118326         hang on OSF/1 5.1 for DIR on both local and remote file systems.
118327         Reported by (and fix confirmed by) Nelson H. F. Beebe.
118328         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
118329         error from mntctl.
118330         Use mntctl's return value to drive the entry-processing loop, since
118331         we can't rely on the value of the vmt_length member in the last
118332         entry.  On some systems doing so could result in exhausting
118333         virtual memory.  Based in part on a patch from Mike Jetzer.
118335 2003-08-14  Jim Meyering  <jim@meyering.net>
118336         and Paul Eggert  <eggert@twinsun.com>
118338         Merges from coreutils, plus other fixes.
118339         * lib/physmem.c: Merge in portability changes from gcc/libiberty
118340         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
118341         for credits and details.  Thanks to Kaveh Ghazi for helping
118342         to keep these files in sync.
118343         (ARRAY_SIZE): Define it.
118344         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
118345         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
118346         (memcasecmp): Don't assume size_t fits in unsigned int.
118347         Remove casts and duplicate code.
118348         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
118349         (memcpy): Remove definition.
118350         Merge in some clean-up and optimization changes from glibc.
118351         [BLOCKSIZE]: Move definition to top of file.
118352         Ensure that it is a multiple of 64.
118353         Rearrange loop exit tests so as to avoid performing an
118354         additional fread after encountering an error or EOF.
118355         * lib/md5.h (md5_uintptr): Define.
118356         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
118357         return to the initial working directory.  Preserve errno
118358         for caller.
118359         * lib/idcache.c: Include "xalloc.h".
118360         (xmalloc, xrealloc): Remove decls.
118361         (getuser): Remove casts no longer required in C89.
118362         * lib/human.c: Include stdio.h, for sprintf.
118363         * lib/group-member.c: Include "xalloc.h".
118364         (xmalloc, xrealloc): Remove decls.
118365         (get_group_info): Remove casts no longer required in C89.
118366         * lib/getusershell.c (readname): Remove casts no longer required in
118367         C89.
118368         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
118369         * lib/getline.c: Whitespace fix, from coreutils.
118371 2003-08-13  Paul Eggert  <eggert@twinsun.com>
118373         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
118374         Check for isascii.
118376         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
118377         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
118378         Undo previous (whitespace-only) change.
118380 2003-08-13  Paul Eggert  <eggert@twinsun.com>
118382         * lib/exclude.c: Include <ctype.h>
118383         (IN_CTYPE_DOMAIN): New macro.
118384         (is_space): New fn.
118385         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
118386         and empty lines.
118388         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
118389         Undo previous (whitespace-only) change.
118391 2003-08-13  Paul Eggert  <eggert@twinsun.com>
118393         * config/srclist-update: Change update back to the old behavior,
118394         leaving whitespace alone.  Use one 'sed' command rather than a
118395         pipeline.
118396         (fixlicense): Now a variable, not a function.
118397         (remove_trailing_blanks): Remove.
118398         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
118399         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
118400         Undo previous (whitespace-only) change.
118402 2003-08-12  Paul Eggert  <eggert@twinsun.com>
118404         Merge from coreutils.
118405         * modules/euidaccess: Add lib_SOURCES, include for new
118406         file euidaccess.h
118408 2003-08-12  Paul Eggert  <eggert@twinsun.com>
118410         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
118411         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
118412         Normalize leading white space and remove trailing white space.
118414         Merge from coreutils
118415         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
118417         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
118418         0.12.1.  These files are now being upgraded automatically by
118419         ../config/srclist-update.
118421 2003-08-12  Paul Eggert  <eggert@twinsun.com>
118423         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
118424         Normalize leading white space and remove trailing white space.
118425         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
118426         notice, as per ../config/srclist-update.
118428         Merge from coreutils.
118429         * lib/euidaccess.h: New file.
118430         * lib/euidaccess.c: Include it.
118431         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
118432         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
118433         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
118435 2003-08-12  Paul Eggert  <eggert@twinsun.com>
118437         * config/srclist-update: Add copyright notice.
118438         (remove_id_lines, remove_trailing_blanks): New constants.
118439         (fixfile): Use them to normalize spacing a bit in copied files.
118440         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
118441         Normalize leading white space and remove trailing white space.
118443         * config/texinfo.tex: Sync with texinfo.
118445         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
118446         strtoul.c from libc, to merge coreutils whitespace changes.
118448         * config/srclist.txt: Get the following m4 files from gettext:
118449         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
118450         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
118451         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
118452         wint_t.m4.
118454 2003-08-12  Karl Berry  <karl@gnu.org>
118456         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
118457         been made.
118459 2003-08-11  Paul Eggert  <eggert@twinsun.com>
118461         * modules/gnu-source, m4/gnu-source.m4:
118462         Remove; we're assuming Autoconf 2.54 or later now.
118463         Suggested by Bruno Haible.
118464         * MODULES.html.sh (func_all_modules): Remove gnu-source.
118466 2003-08-11  Bruno Haible  <bruno@clisp.org>
118468         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
118470 2003-08-11  Bruno Haible  <bruno@clisp.org>
118472         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
118473         (vasnprintf): Use it instead of wcslen.
118475 2003-08-11  Bruno Haible  <bruno@clisp.org>
118477         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
118478         value to ensure that _Bool promotes to int. Use #define for _Bool when
118479         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
118481 2003-08-10  Karl Berry  <karl@gnu.org>
118483         * lib/regex.h: update from libc (whitespace fix).
118485 2003-08-09  Paul Eggert  <eggert@twinsun.com>
118487         Merge some files from coreutils.  These changes were
118488         originally made by Jim Meyering.
118489         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
118490         many older Unixes require this.
118491         * lib/alloca.c (alloca): Remove cast to argument of free;
118492         no longer needed in C89.
118493         * lib/alloca_.h, regex.h: Fix white space to match
118494         what GNU indent does.
118496 2003-08-09  Paul Eggert  <eggert@twinsun.com>
118498         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
118499         apparently Emacs's Unicode mode got confused before my 2003-08-05
118500         checkin.
118502 2003-08-08  Paul Eggert  <eggert@twinsun.com>
118504         * m4/extensions.m4: New file.
118505         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
118506         Require gl_USE_SYSTEM_EXTENSIONS.
118507         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
118508         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
118510 2003-08-08  Paul Eggert  <eggert@twinsun.com>
118512         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
118513         * modules/extensions, modules/gnu-source: New files.
118514         * modules/timespec, modules/unlocked-io: Depend on extensions.
118516 2003-08-07  Paul Eggert  <eggert@twinsun.com>
118518         * modules/restrict: New file.
118519         * MODULES.html.sh (func_all_modules): Add restrict.
118520         * modules/regex: Depend on restrict.
118522 2003-08-07  Paul Eggert  <eggert@twinsun.com>
118524         * m4/restrict.m4: New file.
118525         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
118527 2003-08-07  Bruno Haible  <bruno@clisp.org>
118529         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
118530         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
118532 2003-08-07  Bruno Haible  <bruno@clisp.org>
118534         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
118535         makes the module 'getndelim2' compatible with the module 'getline'.
118537 2003-08-05  Paul Eggert  <eggert@twinsun.com>
118539         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
118540         byte with "\201" to avoid glitches when editing that source file
118541         with multi-gnome-terminal.
118543 2003-08-05  Paul Eggert  <eggert@twinsun.com>
118545         * lib/bumpalloc.h: Remove.
118547 2003-08-05  Paul Eggert  <eggert@twinsun.com>
118549         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
118550         * modules/bumpalloc: Remove.
118552 2003-08-04  Paul Eggert  <eggert@twinsun.com>
118554         * lib/getloadavg.c: Change copyright notice and spacing to conform to
118555         GNU coding style.
118557         Merge from coreutils.
118558         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
118559         1. From glibc.
118560         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
118561         from Karl Berry, implemented by Jim Meyering.
118562         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
118563         from Dmitry V. Levin.
118564         Remove anachronistic cast of xrealloc.
118565         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
118566         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
118567         type. Otherwise, it wouldn't compile with at least /bin/cc on
118568         ymp-cray-unicos9.0.2.X.
118569         Combine two mostly-identical uses of alloca into one.
118570         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
118572 2003-08-04  Dave Love  <d.love@dl.ac.uk>
118574         [From Emacs.]
118576         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
118577         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
118578         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
118579         obsolete NLIST_NAME_UNION.
118580         [__GNU__]: Undef BSD and FSCALE.
118581         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
118583 2003-08-03  Paul Eggert  <eggert@twinsun.com>
118585         * lib/stdbool_.h (_Bool): Make it signed char, instead of
118586         an enum type, so that it's guaranteed to promote to int.  See:
118587         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
118589 2003-08-03  Karl Berry  <karl@gnu.org>
118591         * config/depcomp: update from automake.
118593 2003-07-31  Paul Eggert  <eggert@twinsun.com>
118595         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
118596         (strerror): Don't assume that a printable int fits in 14 bytes.
118598 2003-07-31  Bruno Haible  <bruno@clisp.org>
118600         * modules/getpass-gnu: New file.
118601         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
118603 2003-07-31  Bruno Haible  <bruno@clisp.org>
118605         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
118607 2003-07-24  Karl Berry  <karl@gnu.org>
118609         * config/missing: update from automake.
118611 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
118612             Bruno Haible  <bruno@clisp.org>
118614         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
118615         * lib/getline.c (getline, getdelim): Likewise.
118616         Remove _GNU_SOURCE define; now it's defined in config.h through
118617         m4/getline.m4.
118619 2003-07-23  Karl Berry  <karl@gnu.org>
118621         * config/config.sub: update from prep.
118623 2003-07-22  Paul Eggert  <eggert@twinsun.com>
118625         * modules/xalloc (Depends-on): Add exitfail.
118626         * modules/xmemcoll: Likewise.
118628 2003-07-22  Paul Eggert  <eggert@twinsun.com>
118630         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
118631         over-parenthesization in macros.
118633         Sync with coreutils.
118635         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
118636         required by C99.
118638         Use `exit_failure' for xalloc and xmemcoll instead of their own
118639         private exit-failure variables.
118640         * lib/xalloc.h (xalloc_exit_failure): Remove.
118641         * lib/xmalloc.c: Likewise.  Include exitfail.h.
118642         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
118643         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
118644         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
118645         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
118647 2003-07-20  Jim Meyering  <jim@meyering.net>
118649         * modules/closeout (Depends-on): Add exitfail.
118650         Suggestion from Bruno Haible.
118652 2003-07-19  Karl Berry  <karl@gnu.org>
118654         * config/config.sub: update from prep.
118656 2003-07-18  Paul Eggert  <eggert@twinsun.com>
118658         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
118659         Remove.
118660         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
118661         to test that it can stand by itself.  Include "exitfail.h".
118662         Clients should set exit_failure instead.
118663         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
118665 2003-07-18  Bruno Haible  <bruno@clisp.org>
118667         * modules/getndelim2: New file.
118668         * modules/getline: Share files with module getndelim2.
118669         * modules/getnline: Depend on getndelim2 instead of sharing files with
118670         it. Add getnline.c to lib_SOURCES.
118671         * MODULES.html.sh (func_all_modules): Add getndelim2.
118673 2003-07-18  Bruno Haible  <bruno@clisp.org>
118675         * m4/getndelim2.m4: New file.
118676         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
118677         invoke gl_PREREQ_GETNDELIM2.
118678         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
118679         gl_PREREQ_GETNDELIM2.
118680         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
118681         gl_GETNDELIM2.
118683 2003-07-18  Bruno Haible  <bruno@clisp.org>
118685         * lib/getndelim2.h: New file.
118686         * lib/getndelim2.c: Make into a module of its own. Include config.h,
118687         getndelim2.h.
118688         (getndelim2): Make non-static. Change return type to ssize_t.
118689         * lib/getline.h: Change argument names.
118690         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
118691         * lib/getnline.c: Include getndelim2.h.
118693 2003-07-18  Andreas Schwab  <schwab@suse.de>
118695         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
118697 2003-07-17  Karl Berry  <karl@gnu.org>
118699         * config/config.sub: update from prep.
118701 2003-07-17  Bruno Haible  <bruno@clisp.org>
118703         * modules/getnline: New file.
118704         * modules/getline: Add lib/getndelim2.c to source file list.
118705         * MODULES.html.sh (func_all_modules): Add getnline.
118707 2003-07-17  Bruno Haible  <bruno@clisp.org>
118709         * m4/getnline.m4: New file.
118711 2003-07-17  Bruno Haible  <bruno@clisp.org>
118713         * m4/Makefile.am.in: Remove file.
118714         * m4/Makefile.am: Remove file.
118715         * m4/Makefile.in: Remove file.
118717 2003-07-17  Bruno Haible  <bruno@clisp.org>
118719         * lib/getnline.h: New file.
118720         * lib/getnline.c: New file.
118721         * lib/getndelim2.c: New file, extracted from getline.c.
118722         (getndelim2): Renamed from getdelim2, with added nmax argument.
118723         * lib/getline.c: Include getndelim2.c.
118724         (getdelim2): Moved out to getndelim2.c.
118725         (getline, getdelim): Update.
118727 2003-07-17  Bruno Haible  <bruno@clisp.org>
118729         * lib/Makefile.am: Remove file.
118730         * lib/Makefile.in: Remove file.
118732 2003-07-17  Bruno Haible  <bruno@clisp.org>
118734         * configure.in: Remove file.
118735         * Makefile.in: Remove file.
118737 2003-07-17  Bruno Haible  <bruno@clisp.org>
118739         * MODULES.html.sh: Put the </BODY> right before </HTML>.
118741 2003-07-16  Karl Berry  <karl@gnu.org>
118743         * config/srclist-update: was running fixlicense twice, which caused
118744                 texinfo.tex to be nullified for some reason.  Simplify,
118745                 $gplsrc is no longer needed as far as I can see?
118747 2003-07-16  Jim Meyering  <jim@meyering.net>
118749         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
118751 2003-07-15  Paul Eggert  <eggert@twinsun.com>
118753         * config/srclist.txt: Get the following files from gettext-runtime/intl
118754         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
118755         ref-del.sin.  From Bruno Haible.
118756         * config/srclist-update (fixfile): Change grep pattern again, since the
118757         previous fix didn't work (there was another trailing $).  Use
118758         '[$]' to escape the $s.
118760 2003-07-15  Karl Berry  <karl@gnu.org>
118762         * lib/vasnprintf.c: update from gettext.
118764 2003-07-15  Karl Berry  <karl@gnu.org>
118766         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
118767         gets expanded when surrounded by '$'.
118769 2003-07-15  Jim Meyering  <jim@meyering.net>
118771         * modules/save-cwd: Don't depend on error.  From Derek Price.
118773 2003-07-15  Jim Meyering  <jim@meyering.net>
118775         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
118777 2003-07-14  Simon Josefsson  <jas@extundo.com>
118779         * modules/mempcpy: New file.
118780         * MODULES.html.sh (func_all_modules): Add mempcpy.
118782 2003-07-14  Simon Josefsson  <jas@extundo.com>
118784         * m4/mempcpy.m4: New file.
118786 2003-07-14  Simon Josefsson  <jas@extundo.com>
118788         * lib/mempcpy.h: New file.
118789         * lib/mempcpy.c: New file.
118791 2003-07-14  Paul Eggert  <eggert@twinsun.com>
118793         * modules/getdate, modules/posixtm: Depend on mktime.
118795 2003-07-14  Paul Eggert  <eggert@twinsun.com>
118797         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
118798         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
118799         unicodeio.c, unicodeio.h, unlocked-io.h:
118800         Switch from LGPL to GPL.
118802 2003-07-14  Paul Eggert  <eggert@twinsun.com>
118804         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
118805         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
118806         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
118807         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
118808         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
118809         updated automatically by ../config/srclist-update.  This changes
118810         their license from LPGL to GPL.
118812 2003-07-14  Paul Eggert  <eggert@twinsun.com>
118814         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
118815         assumed to refer to the root of the most recent stable gettext version.
118816         * config/srclistvars.sh: Add defaults for eggert.
118817         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
118818         Match "This program" as well as "The program".  This is needed
118819         for gettext.
118821 2003-07-14  Jim Meyering  <jim@meyering.net>
118823         Don't emit diagnostics.  Let callers do that.
118824         * lib/save-cwd.c: Don't include "error.h".
118825         (save_cwd): Don't call error.  Ensure that errno is valid
118826         when returning nonzero.
118828         * lib/save-cwd.h (restore_cwd): Update prototype.
118829         * lib/save-cwd.c (restore_cwd): Remove two parameters.
118830         Simplify.  Don't call error upon failure.  Let callers do that.
118831         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
118832         when auditing is enabled.  But don't bother updating the #if.
118834 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
118836         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
118837         it breaks C++ compilation.
118838         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
118840 2003-07-10  Simon Josefsson  <jas@extundo.com>
118842         * modules/strchrnul (Makefile.am): Add strchrnul.h.
118844 2003-07-10  Jim Meyering  <jim@meyering.net>
118846         * m4/clock_time.m4: Remove trailing blank.
118847         * m4/intmax_t.m4: Likewise.
118849 2003-07-10  Jim Meyering  <jim@meyering.net>
118851         * lib/vasnprintf.c: Remove trailing blanks.
118852         Make cpp indentation consistent.
118854 2003-07-09  Paul Eggert  <eggert@twinsun.com>
118856         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
118857         posixver.c, strftime.c, strnlen.c, strverscmp.c:
118858         Switch from LGPL to GPL.
118860 2003-07-09  Paul Eggert  <eggert@twinsun.com>
118862         * config/srclist.txt: Sort sublists.  Add
118863         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
118864         that differ from gnulib for one reason or another; we'd like this list
118865         to be smaller but for now let's document what we have.
118867 2003-07-08  Paul Eggert  <eggert@twinsun.com>
118869         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
118870         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
118871         and sweeter "eval x=$x".
118872         * config/srclist.txt: Get lib/argp* from glibc.
118874 2003-07-07  Paul Eggert  <eggert@twinsun.com>
118876         * lib/mktime.c: Fix some boundary cases and remove need for floating
118877         point.
118879         Issue a compile-time diagnostic if time_t is floating point, or if
118880         two's complement arithmetic is not in effect, or if arithmetic
118881         right shift does not propagate the sign.  These assumptions were
118882         all in the original code but they weren't checked.
118884         (TIME_T_MIDPOINT, verify): New macros.
118885         (__isleap): Remove; it has integer overflow problems.
118886         (leapyear): New function, without those problems.
118887         (ydhms_tm_diff): Remove; splitting into two parts.
118888         (ydhms_diff): New function, containing the arithmetic part of
118889         the old ydhms_tm_diff function.  Issue a compile-time
118890         diagnostic if we are not using C99 integer division.
118891         Avoid casts when possible.
118892         (guess_time_tm): New function, containing the checking part of
118893         the old ydhms_tm_diff function.  Return the new value, rather than
118894         the difference between it and the old.  Accept a new argument T
118895         so that *T specifies the old value.  Check for overflow in the result.
118897         (__mktime_internal): Use a time_t offset, not a long int offset.
118898         This undoes the 2003-06-04 change, which is no longer needed now
118899         that we have better overflow checking.
118900         (localtime_offset): Likewise.
118902         (__mktime_internal): Avoid harmful overflow on hosts where time_t
118903         and long are 64-bit but int is only 32-bit.
118904         (ydhms_diff): Use long int to store year1 and yday1.
118905         Issue a compile-time diagnostic if long int is not wide enough.
118907         (__mktime_internal): Use long int to store adjusted year and yday.
118908         Use plain C rather than preprocessor commands, if that doesn't
118909         affect efficiency.
118910         Check for overflow (and try to repair) after each probe
118911         rather than checking only at the very end.  This avoids some bugs
118912         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
118913         does not equal GMT offset at maximum time).
118914         Use integer to check for overflow rather than floating point; this
118915         is more portable to non-IEEE hosts, and is a tad faster.
118916         When we detect that we are oscillating between two values,
118917         don't check whether tm_isdst has the requested value, since
118918         we already know the answer.  When tm_isdst has the wrong value,
118919         use a different heuristic to find the right one, based on the
118920         extreme values actually observed in practice in tz2003a,
118921         rather than the (overly optimistic) "previous 3 calendar quarters".
118923         (not_equal_tm, print_tm, check_result): Use "const T" rather than
118924         "T const" to accommodate glibc style.
118925         (check_result): Use less-confusing report format.  "long" -> "long int.
118926         (main): Likewise.
118927         Don't loop if the iteration overflows time_t.
118928         Allow a negative step in the iteration.
118930 2003-07-06  Karl Berry  <karl@gnu.org>
118932         * config/depcomp: update from automake.
118933         * config/config.sub: update from prep.
118935 2003-07-03  Karl Berry  <karl@gnu.org>
118937         * config/config.guess: update from prep.
118939 2003-07-01  Paul Eggert  <eggert@twinsun.com>
118941         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
118942         xreadlink.c now includes it unconditionally.
118944 2003-07-01  Paul Eggert  <eggert@twinsun.com>
118946         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
118947         having it depend on HAVE_SYS_TYPES_H.
118949 2003-07-01  Bruno Haible  <bruno@clisp.org>
118951         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
118952         <sys/types.h> should be sufficient.
118953         Reported by Paul Eggert.
118955 2003-06-26  Karl Berry  <karl@gnu.org>
118957         * config/depcomp: update from automake.
118959 2003-06-26  Bruno Haible  <bruno@clisp.org>
118961         * modules/human: Depend on module stdbool.
118963 2003-06-25  Bruno Haible  <bruno@clisp.org>
118965         * modules/readlink: New file.
118966         * modules/xreadlink: Depend on it.
118967         * MODULES.html.sh (func_all_modules): Add readlink.
118969 2003-06-25  Bruno Haible  <bruno@clisp.org>
118971         * m4/readlink.m4: New file.
118973 2003-06-25  Bruno Haible  <bruno@clisp.org>
118975         * lib/readlink.c: New file.
118977 2003-06-22  Karl Berry  <karl@gnu.org>
118979         * config/srclist.txt: update mkinstalldirs from automake.
118980         * config/mkinstalldirs: update.
118982 2003-06-22  Bruno Haible  <bruno@clisp.org>
118984         Portability to mingw32.
118985         * m4/ssize_t.m4: New file, from GNU gettext.
118986         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
118987         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
118989 2003-06-22  Bruno Haible  <bruno@clisp.org>
118991         * modules/safe-read: Add m4/ssize_t.m4.
118992         * modules/xreadlink: Add m4/ssize_t.m4.
118994 2003-06-20  Bruno Haible  <bruno@clisp.org>
118996         Assume C89, so PARAMS isn't needed.
118997         * lib/unicodeio.h (PARAMS): Remove.
118998         * lib/unicodeio.c: Don't use PARAMS.
119000 2003-06-18  Karl Berry  <karl@gnu.org>
119002         * config/config.{guess,sub}: update from prep.
119004 2003-06-18  Jim Meyering  <jim@meyering.net>
119006         Merge changes from coreutils.
119007         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
119008         Remove explicit declarations of xmalloc and realloc.
119009         Include xalloc.h.
119010         (read_utmp): Remove anachronistic cast of xmalloc.
119012 2003-06-17  Paul Eggert  <eggert@twinsun.com>
119014         Assume C89, so PARAMS isn't needed.
119015         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
119016         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
119017         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
119018         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
119019         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
119020         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
119021         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
119022         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
119023         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
119024         lib/xstrtod.h, lib/xstrtol.h: Likewise.
119025         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
119026         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
119027         no longer needed. Anyway, config.h should always be included before any
119028         other file.
119030 2003-06-11  Simon Josefsson  <jas@extundo.com>
119032         * modules/sysexits: New file.
119033         * MODULES.html.sh (func_all_modules): Add sysexits.
119035 2003-06-11  Simon Josefsson  <jas@extundo.com>
119037         * lib/sysexit_.h: New file.
119039 2003-06-11  Derek Price  <derek@ximbiot.com>
119041         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
119042         necessary.
119044 2003-06-11  Bruno Haible  <bruno@clisp.org>
119046         * m4/sysexits.m4: New file.
119048 2003-06-10  Simon Josefsson  <jas@extundo.com>
119050         * lib/argp.h: New file, from glibc.
119051         * lib/argp-ba.c: New file, from glibc.
119052         * lib/argp-eexst.c: New file, from glibc.
119053         * lib/argp-fmtstream.c: New file, from glibc.
119054         * lib/argp-fmtstream.h: New file, from glibc.
119055         * lib/argp-fs-xinl.c: New file, from glibc.
119056         * lib/argp-help.c: New file, from glibc.
119057         * lib/argp-namefrob.h: New file, from glibc.
119058         * lib/argp-parse.c: New file, from glibc.
119059         * lib/argp-pv.c: New file, from glibc.
119060         * lib/argp-pvh.c: New file, from glibc.
119061         * lib/argp-xinl.c: New file, from glibc.
119063 2003-06-10  Simon Josefsson  <jas@extundo.com>
119065         * modules/strchrnul: New file.
119067 2003-06-10  Simon Josefsson  <jas@extundo.com>
119069         * modules/argp: New file.
119071 2003-06-10  Simon Josefsson  <jas@extundo.com>
119073         * m4/strchrnul.m4: New file.
119075 2003-06-10  Simon Josefsson  <jas@extundo.com>
119077         * lib/strchrnul.h: New file.
119078         * lib/strchrnul.c: New file.
119080 2003-06-10  Bruno Haible  <bruno@clisp.org>
119082         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
119084 2003-06-07  Karl Berry  <karl@gnu.org>
119086         * config/config.{guess,sub}: update from prep.
119088 2003-06-07  Jim Meyering  <jim@meyering.net>
119090         * modules/strtod: Use $(...) notation, not @...@ for
119091         AC_REPLACE'd variables.
119092         * modules/localcharset: Likewise.
119094 2003-06-07  Jim Meyering  <jim@meyering.net>
119096         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
119097         in place of my name in the copyright comment.
119098         Remove definition and uses of __P.
119100         From coreutils.
119101         * lib/stat.c: Don't declare xmalloc explicitly.
119102         Instead, include "xalloc.h".
119103         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
119104         xrealloc, and xcalloc return values.
119105         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
119106         Improve comment.
119107         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
119109 2003-06-07  Bruno Haible  <bruno@clisp.org>
119111         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
119112         avoid AC_CONFIG_LINKS.
119113         * modules/fnmatch (Makefile.am): Use explicit creation rule for
119114         fnmatch.h, to avoid AC_CONFIG_LINKS.
119115         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
119117 2003-06-07  Bruno Haible  <bruno@clisp.org>
119119         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
119120         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
119121         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
119122         directory.
119123         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
119124         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
119125         directory.
119127 2003-06-06  Jim Meyering  <jim@meyering.net>
119129         Merge from coreutils.
119130         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
119131         Consolidate declarations and initializations of *_base* locals.
119133         Merge from coreutils.
119134         This avoids a core dump on systems without GNU putenv,
119135         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
119136         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
119137         (unsetenv): New static function, from GNU libc.
119138         (rpl_putenv): Use it.
119140         * lib/modechange.c: Remove trailing blanks.
119142         Merge from coreutils.
119143         * lib/fsusage.c: Remove declaration of statfs.
119144         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
119146         * lib/posixtm.c: Include <stdbool.h> unconditionally.
119148 2003-06-06  Jim Meyering  <jim@meyering.net>
119150         * lib/stdbool_.h: Renamed from stdbool.h.in.
119152 2003-06-06  Jim Meyering  <jim@meyering.net>
119153             Bruno Haible  <bruno@clisp.org>
119155         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
119156         Adjust Makefile.am snippet not to redirect directly to target.
119157         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
119159 2003-06-05  Paul Eggert  <eggert@twinsun.com>
119161         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
119162         mismatch, look in future quarters as well as past.  This fixes a
119163         bug when processing fall-backwards gaps immediately after a long
119164         period of daylight-saving time.
119166         * lib/mktime.c: Assume freestanding C89 or better.
119167         (HAVE_LIMITS_H): Remove.  Assume it's 1.
119168         (__P): Remove; not used.
119169         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
119170         (mktime, not_equal_tm, print_tm, check_result,
119171         main): Use prototypes.  Use const * where appropriate.
119172         (main): Fix typo in testing code that uncovered by above changes.
119173         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
119175 2003-06-04  Paul Eggert  <eggert@twinsun.com>
119177         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
119178         locale.h, localeconv.  This merges changes from coreutils.
119180         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
119181         It can be removed after the next Autoconf is released.
119182         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
119183         needed.
119185 2003-06-04  Paul Eggert  <eggert@twinsun.com>
119187         * lib/mktime.c: Fix Debian bug 177940
119188         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
119189         (localtime_offset): Now long int, not time_t, because we want it
119190         to be guaranteed to be signed.  All uses changed.
119191         (__mktime_internal): If overflow would occur when adding offset,
119192         don't add it.
119194         Merge 'human' changes from coreutils.  Rewrite to support
119195         locale-specific notations like thousands separators.
119196         * lib/human.c: Simplify authorship notice.
119197         Include human.h immediately after config.h.
119198         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
119199         <limits.h>: Do not include, since human.h does.
119200         (SIZE_MAX, UINTMAX_MAX): New macros.
119201         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
119202         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
119203         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
119204         (power_letter): Renamed from suffixes.
119205         (generate_suffix_backwards): Remove.
119206         (adjust_value): Now takes int style (because of human.h changes)
119207         and long double value (for greater precision on some platforms).
119208         (group_number): New function.
119209         (human_readable): Use it.  Use integer options, not enum.
119210         Put the options before the sizes in the arg list.
119211         Support all the new options.
119212         The old human_readable function has been removed;
119213         use inttostr.h instead.
119214         (human_readable, default_block_size, humblock):
119215         Use uintmax_t, not int, for block sizes.
119216         (human_readable_inexact, block_size_types): Remove.
119217         (block_size_opts): New constant.
119218         (human_options): Renamed from human_block_size, with new signature
119219         that allows block sizes up to UINTMAX_MAX.  All callers changed.
119220         * lib/human.h: Add copyright and authorship notice.
119221         Include <limits.h> and <stdbool.h> unconditionally.
119222         (PARAMS): Remove.  All uses removed.
119223         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
119224         (enum human_inexact_style): Remove tag; now a nameless enum.
119225         (human_floor, human_ceiling, human_round_to_even): Now have
119226         values 2, 0, 1 rather than -1, 1, 0.
119227         (human_group_digits, human_suppress_point_zero, human_autoscale,
119228         human_base_1024, human_SI, human_B): New constants.
119229         (human_readable_inexact, human_block_size): Remove.
119230         (human_readable): Size args are now uintmax_t, not int.
119231         (human_options): New decl.
119233         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
119234         unnecessary now that we assume C89 or better.  This change
119235         imported from coreutils.
119237         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
119238         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
119239         in the 2003-05-30 sync from glibc.
119241         .h files should stand alone, but we shouldn't include <sys/types.h>
119242         if we can get away with just <stddef.h>.
119244         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
119245         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
119246         rather than <sys/types.h>, as we merely need size_t.
119247         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
119248         to get size_t.
119249         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
119250         Include <stdio.h>, to get FILE.
119251         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
119252         memcasecmp.h has included <stddef.h> and all we need is size_t.
119253         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
119254         our interface, instead of including <sys/types.h>
119256 2003-06-04  Paul Eggert  <eggert@twinsun.com>
119258         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
119259         now, as glibc mktime is buggy on non-glibc systems.
119261 2003-06-03  Karl Berry  <karl@gnu.org>
119263         * config/config.sub: update from prep.
119265 2003-06-02  Paul Eggert  <eggert@twinsun.com>
119267         [from coreutils]
119268         Fix some minor time-related bugs with POSIX time arguments.
119269         Some valid time stamps were being rejected (notably -1, and
119270         time stamps before 1900 on 64-bit hosts).  And some invalid
119271         time stamps were being accepted, e.g. September 31.
119273         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
119274         that we can return (time_t) -1 successfully.
119275         * lib/posixtm.c: Likewise.
119276         [HAVE_STDBOOL_H]: Include <stdbool.h>.
119277         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
119278         (t): Remove static var.
119279         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
119280         of static var.  All uses changed.
119281         (year): Do not reject years before 1900; they can occur with
119282         64-bit time_t.
119283         (posix_time_parse): Do not check for out-of-range components;
119284         that is now the caller's responsibility, since our checks were
119285         only approximations.
119286         (posixtime): Use mktime to check for out-of-range components,
119287         since it knows them exactly.
119288         If mktime returns (time_t) -1, check whether an error actually occurred
119289         by invoking localtime on -1.
119290         (main) [TEST_POSIXTIME]: Check for input data errors, and report
119291         posixtime failures better.
119292         Improve the test data (in comments only).
119294 2003-06-02  Karl Berry  <karl@gnu.org>
119296         * config/mkinstalldirs (version): new variable.
119297         (--version): new option.
119298         (usage): improve message.
119300 2003-05-30  Karl Berry  <karl@gnu.org>
119302         * lib/mktime.c: update from libc.
119304 2003-05-30  Bruno Haible  <bruno@clisp.org>
119306         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
119307         * config/config.rpath: Upgrade to gettext-0.12.1.
119309 2003-05-30  Bruno Haible  <bruno@clisp.org>
119311         * m4/gettext.m4: Upgrade to gettext-0.12.1.
119312         * m4/nls.m4: New file, from gettext-0.12.1.
119313         * m4/po.m4: New file, from gettext-0.12.1.
119314         * m4/progtest.m4: Upgrade to gettext-0.12.1.
119316 2003-05-30  Bruno Haible  <bruno@clisp.org>
119318         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
119319         * lib/localcharset.h: Likewise.
119320         * lib/localcharset.c: Likewise.
119322 2003-05-29  Karl Berry  <karl@gnu.org>
119324         * config/config.rpath: update from gettext.
119326 2003-05-28  Paul Eggert  <eggert@twinsun.com>
119328         Assume the headers required for C89 freestanding compilers.
119329         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
119330         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
119331         * m4/human.m4 (gl_HUMAN): Likewise.
119332         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
119333         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
119334         * m4/userspec.m4 (gl_USERSPEC): Likewise.
119335         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
119336         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
119337         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
119339 2003-05-28  Paul Eggert  <eggert@twinsun.com>
119341         Assume the headers required for C89 freestanding compilers.
119342         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
119343         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
119344         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
119345         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
119346         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
119347         define, since <limits.h> is guaranteed to do that.
119348         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
119349         * lib/exclude.c: Include <stdbool.h> unconditionally.
119350         * lib/tempname.c: Include <stddef.h> unconditionally.
119351         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
119352         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
119353         <stddef.h> does that.
119354         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
119355         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
119356         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
119357         needed.
119358         * lib/xstrtol.c: Likewise.
119359         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
119360         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
119362         * lib/addext.c (addext): Use assignment rather than cast, to avoid
119363         warnings on some platforms.
119365         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
119366         arbitrarily.
119368 2003-05-26  Jim Meyering  <jim@meyering.net>
119370         Merge in a change from coreutils:
119371         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
119372         that is guaranteed to be `no'.  Use `no_such_member' to indicate
119373         that condition, rather than `-1' which is slightly misleading.
119374         Change the name of the cache variable to have the gl_ prefix.
119375         Prompted by a patch from Richard Dawe for DJGPP.
119377 2003-05-24  Karl Berry  <karl@gnu.org>
119379         * config/config.guess: update from prep.
119381 2003-05-22  Karl Berry  <karl@gnu.org>
119383         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
119385 2003-05-20  Karl Berry  <karl@gnu.org>
119387         * config/config.guess: update from prep.
119389 2003-05-18  Karl Berry  <karl@gnu.org>
119391         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
119392         might actually be set by the user.
119394         * config/depcomp, install-sh, mdate-sh: update from automake.
119396 2003-05-17  Bruno Haible  <bruno@clisp.org>
119398         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
119399         invalid expansion for AC_EGREP_CPP.
119400         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
119401         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
119402         Suggested by Akim Demaille <akim@epita.fr> in
119403         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
119405 2003-05-12  Jim Meyering  <jim@meyering.net>
119407         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
119408         the space-padded-by-default conversion specifiers, %e, %k, %l.
119410 2003-05-12  Bruno Haible  <bruno@clisp.org>
119412         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
119413         the string is longer than 4 KB.
119415 2003-05-11  Karl Berry  <karl@gnu.org>
119417         * config/config.{guess,sub}: update from prep.
119419 2003-05-09  Bruno Haible  <bruno@clisp.org>
119421         * modules/error: Add m4/strerror_r.m4 to file list.
119423 2003-05-03  Bruno Haible  <bruno@clisp.org>
119425         Upgrade to Unicode-4.0.
119426         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
119427         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
119428         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
119429         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
119430         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
119431         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
119432         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
119433         Change width of U+E0100..U+E01EF from 1 to 0.
119435 2003-04-25  Jim Meyering  <jim@meyering.net>
119437         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
119438         of type size_t, not int.
119440 2003-04-25  Bruno Haible  <bruno@clisp.org>
119442         * lib/copy-file.c: Include <stddef.h>, for size_t.
119444 2003-04-21  Paul Eggert  <eggert@twinsun.com>
119446         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
119447         code which expansion is under static control.  Patch imported from
119448         Akim Demaille's patch to Bison; see
119449         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
119451 2003-04-14  Bruno Haible  <bruno@clisp.org>
119453         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
119455 2003-04-11  Jim Meyering  <jim@meyering.net>
119457         Merge changes from Coreutils.
119459         2003-03-22  Jim Meyering  <jim@meyering.net>
119461         * lib/strftime.c (widen): Cast alloca return value to proper type.
119463         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
119465         From GNU libc.
119466         * lib/strftime.c (my_strftime): Handle very large width
119467         specifications for numeric values correctly.  Improve checks for
119468         overflow.
119470         2003-01-19  Jim Meyering  <jim@meyering.net>
119472         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
119473         definitions.
119474         (nl_get_alt_digit) [! defined my_strftime]: Define.
119475         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
119476         _nl_get_alt_digit and _nl_get_walt_digit.
119478         * lib/strftime.c (my_strftime): Merge in locale-related changes from
119479         libc. These changes have no effect outside of _LIBC.
119481 2003-04-10  Bruno Haible  <bruno@clisp.org>
119483         * modules/findprog: New file.
119484         * MODULES.html.sh (func_all_modules): Add it.
119486 2003-04-10  Bruno Haible  <bruno@clisp.org>
119488         * m4/findprog.m4: New file.
119489         * m4/eaccess.m4: New file.
119491 2003-04-10  Bruno Haible  <bruno@clisp.org>
119493         * lib/findprog.h: New file, from GNU gettext.
119494         * lib/findprog.c: New file, from GNU gettext.
119496 2003-04-05  Jim Meyering  <jim@meyering.net>
119498         Merge changes from Coreutils.
119500         * lib/exclude.h (PARAMS): Remove definition and uses.
119501         * lib/exclude.c: Remove uses of `PARAMS'.
119503         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
119504         Add test-cases for DOS filenames. Declare program_name.
119505         (main): Set up program_name.  Patch by Rich Dawe.
119507         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
119508         error from mntctl.
119509         Use mntctl's return value to drive the entry-processing loop, since
119510         we can't rely on the value of the vmt_length member in the last
119511         entry.  On some systems doing so could result in exhausting
119512         virtual memory.  Based in part on a patch from Mike Jetzer.
119514 2003-04-04  Bruno Haible  <bruno@clisp.org>
119516         * modules/linebreak: New file.
119517         * MODULES.html.sh (func_all_modules): Add it.
119519 2003-04-04  Bruno Haible  <bruno@clisp.org>
119521         * m4/linebreak.m4: New file.
119523 2003-04-04  Bruno Haible  <bruno@clisp.org>
119525         * lib/linebreak.h: New file, from GNU gettext.
119526         * lib/linebreak.c: New file, from GNU gettext with slight
119527         modifications.
119528         * lib/lbrkprop.h: New file, from GNU gettext.
119530 2003-04-03  Bruno Haible  <bruno@clisp.org>
119532         * modules/utf8-ucs4: New file.
119533         * modules/utf16-ucs4: New file.
119534         * modules/ucs4-utf8: New file.
119535         * modules/ucs4-utf16: New file.
119536         * MODULES.html.sh (func_all_modules): Add them.
119538 2003-04-03  Bruno Haible  <bruno@clisp.org>
119540         * m4/utf-ucs4.m4: New file.
119541         * m4/ucs4-utf.m4: New file.
119543 2003-04-03  Bruno Haible  <bruno@clisp.org>
119545         * lib/utf8-ucs4.h: New file, from GNU gettext.
119546         * lib/utf16-ucs4.h: New file, from GNU gettext.
119547         * lib/ucs4-utf8.h: New file, from GNU gettext.
119548         * lib/ucs4-utf16.h: New file, from GNU gettext.
119550 2003-04-02  Bruno Haible  <bruno@clisp.org>
119552         * modules/binary-io: New file.
119553         * MODULES.html.sh (func_all_modules): Add it.
119555 2003-04-02  Bruno Haible  <bruno@clisp.org>
119557         * lib/binary-io.h: New file, from GNU gettext.
119559 2003-04-01  Bruno Haible  <bruno@clisp.org>
119561         * modules/pathname: New file.
119562         * MODULES.html.sh (func_all_modules): Add it.
119564 2003-04-01  Bruno Haible  <bruno@clisp.org>
119566         * lib/pathname.h: New file, from GNU gettext.
119567         * lib/concatpath.c: New file, from GNU gettext.
119569 2003-03-30  Bruno Haible  <bruno@clisp.org>
119571         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
119573 2003-03-30  Bruno Haible  <bruno@clisp.org>
119575         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
119576         function chown() doesn't exist.
119578 2003-03-28  Bruno Haible  <bruno@clisp.org>
119580         * modules/copy-file: New file.
119581         * MODULES.html.sh (func_all_modules): Add it.
119583 2003-03-28  Bruno Haible  <bruno@clisp.org>
119585         * m4/copy-file.m4: New file.
119587 2003-03-28  Bruno Haible  <bruno@clisp.org>
119589         * lib/copy-file.h: New file, from GNU gettext.
119590         * lib/copy-file.c: New file, from GNU gettext.
119592 2003-03-18  Jim Meyering  <jim@meyering.net>
119594         * lib/quote.c (quote_n): Fix typo in comment.
119596 2003-03-18  Bruno Haible  <bruno@clisp.org>
119598         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
119599         checking.
119600         * m4/onceonly_2_57.m4: Likewise.
119602 2003-03-17  Bruno Haible  <bruno@clisp.org>
119604         * m4/onceonly.m4: Require autoconf 2.54 or newer.
119605         (m4_quote): Remove macro.
119606         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
119608 2003-03-14  Jim Meyering  <jim@meyering.net>
119610         Merge changes from Coreutils.
119611         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
119612         to be const, in order to avoid warnings.
119613         (obstack_room): Likewise.
119614         (obstack_empty_p): Likewise.
119616 2003-03-14  Bruno Haible  <bruno@clisp.org>
119618         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
119619         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
119621 2003-03-13  Paul Eggert  <eggert@twinsun.com>
119623         Merge changes from Bison.
119624         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
119625         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
119626         when compiling Bison 1.875's `bitset bset = obstack_alloc
119627         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
119628         * lib/hash.c: Include <stdbool.h> unconditionally.
119630 2003-03-13  Paul Eggert  <eggert@twinsun.com>
119632         * m4/onceonly.m4 (m4_quote): New macro.
119633         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
119634         Quote AC_FOREACH variable-expansions properly.
119636 2003-03-13  Paul Eggert  <eggert@twinsun.com>
119638         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
119640 2003-03-09  Paul Eggert  <eggert@twinsun.com>
119642         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
119643         Reported by Bruce Becker; see:
119644         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
119646 2003-03-03  Paul Eggert  <eggert@twinsun.com>
119647             Bruno Haible  <bruno@clisp.org>
119649         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
119650         Reported by John Hughes, see
119651         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
119653 2003-02-20  Bruno Haible  <bruno@clisp.org>
119655         * MODULES.html.sh (func_all_modules): Add poll.
119657 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
119659         * modules/poll: New file.
119661 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
119663         * lib/poll_.h: New file.
119664         * lib/poll.c: New file.
119666 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
119668         * m4/poll.m4: New file.
119670 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
119672         * modules/mathl: New file.
119674 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
119676         * lib/mathl.h: New file.
119677         * lib/acosl.c: New file.
119678         * lib/asinl.c: New file.
119679         * lib/atanl.c: New file.
119680         * lib/ceill.c: New file.
119681         * lib/cosl.c: New file.
119682         * lib/expl.c: New file.
119683         * lib/floorl.c: New file.
119684         * lib/frexpl.c: New file.
119685         * lib/ldexpl.c: New file.
119686         * lib/logl.c: New file.
119687         * lib/sincosl.c: New file.
119688         * lib/sinl.c: New file.
119689         * lib/sqrtl.c: New file.
119690         * lib/tanl.c: New file.
119691         * lib/trigl.c: New file.
119692         * lib/trigl.h: New file.
119694 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
119696         * m4/mathl.m4: New file.
119698 2003-02-18  Bruno Haible  <bruno@clisp.org>
119700         * MODULES.html.sh (func_all_modules): Add mathl.
119702 2003-02-17  Bruno Haible  <bruno@clisp.org>
119704         * modules/mkdtemp: New module.
119705         * MODULES.html.sh (func_all_modules): Add it.
119707 2003-02-17  Bruno Haible  <bruno@clisp.org>
119709         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
119711 2003-02-17  Bruno Haible  <bruno@clisp.org>
119713         * lib/mkdtemp.h: New file, from GNU gettext.
119714         * lib/mkdtemp.c: New file, from GNU gettext.
119716 2003-02-02  Jim Meyering  <jim@meyering.net>
119718         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
119719         e.g. glibc-2.2.93.
119721 2003-01-31  Bruno Haible  <bruno@clisp.org>
119723         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
119724         'rpl_rename'.
119725         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
119726         'rpl_strnlen'.
119727         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
119728         'rpl_strtod'.
119729         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
119730         'rpl_utime'.
119732 2003-01-31  Bruno Haible  <bruno@clisp.org>
119734         * lib/rename.c: #undef rename before defining rpl_rename.
119735         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
119737 2003-01-30  Bruno Haible  <bruno@clisp.org>
119739         * modules/vasnprintf, modules/vasprintf: New modules.
119740         * MODULES.html.sh (func_all_modules): Add them.
119742 2003-01-30  Bruno Haible  <bruno@clisp.org>
119744         * m4/signed.m4: New file, from GNU gettext.
119745         * m4/longdouble.m4: New file, from GNU gettext.
119746         * m4/wchar_t.m4: New file, from GNU gettext.
119747         * m4/wint_t.m4: New file, from GNU gettext.
119748         * m4/vasnprintf.m4: New file.
119749         * m4/vasprintf.m4: New file.
119751 2003-01-30  Bruno Haible  <bruno@clisp.org>
119753         * lib/printf-args.h: New file, from GNU gettext.
119754         * lib/printf-args.c: New file, from GNU gettext.
119755         * lib/printf-parse.h: New file, from GNU gettext.
119756         * lib/printf-parse.c: New file, from GNU gettext.
119757         * lib/vasnprintf.h: New file, from GNU gettext.
119758         * lib/vasnprintf.c: New file, from GNU gettext.
119759         * lib/asnprintf.c: New file, from GNU gettext.
119760         * lib/vasprintf.h: New file, from GNU gettext with modifications.
119761         * lib/vasprintf.c: New file, from GNU gettext.
119762         * lib/asprintf.c: New file, from GNU gettext.
119764 2003-01-29  Bruno Haible  <bruno@clisp.org>
119766         * modules/stpncpy: New module.
119767         * MODULES.html.sh (func_all_modules): Add it.
119769 2003-01-29  Bruno Haible  <bruno@clisp.org>
119771         * m4/stpncpy.m4: New file.
119773 2003-01-29  Bruno Haible  <bruno@clisp.org>
119775         * lib/stpncpy.h: New file, from GNU gettext with modifications.
119776         * lib/stpncpy.c: New file, from GNU gettext with modifications.
119778 2003-01-28  Bruno Haible  <bruno@clisp.org>
119780         * modules/c-ctype: New module.
119781         * MODULES.html.sh (func_all_modules): Add it.
119783 2003-01-28  Bruno Haible  <bruno@clisp.org>
119785         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
119786         Paul Eggert.
119787         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
119788         Paul Eggert.
119790 2003-01-27  Bruno Haible  <bruno@clisp.org>
119792         * modules/xsetenv: New module.
119793         * MODULES.html.sh (func_all_modules): Add it.
119795 2003-01-27  Bruno Haible  <bruno@clisp.org>
119797         * lib/xsetenv.h: New file, from GNU gettext.
119798         * lib/xsetenv.c: New file, from GNU gettext.
119800 2003-01-23  Jim Meyering  <jim@meyering.net>
119802         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
119803         from working on systems without dirfd (at least Irix and OSF1/Tru64).
119805 2003-01-23  Bruno Haible  <bruno@clisp.org>
119807         * modules/minmax: New module.
119808         * MODULES.html.sh (func_all_modules): Add it.
119810 2003-01-23  Bruno Haible  <bruno@clisp.org>
119812         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
119813         Eggert.
119815 2003-01-22  Bruno Haible  <bruno@clisp.org>
119817         * modules/exit: New module.
119818         * MODULES.html.sh (func_all_modules): Add it.
119820 2003-01-22  Bruno Haible  <bruno@clisp.org>
119822         * lib/exit.h: New file, from GNU gettext.
119824 2003-01-19  Bruno Haible  <bruno@clisp.org>
119826         * gnulib-tool: Recognize option --extract-maintainer.
119827         (func_get_maintainer): New function.
119828         * modules/*: Add Maintainer entry.
119830 2003-01-16  Jim Meyering  <jim@meyering.net>
119832         * m4/regex.m4: The `regex' struct is both input and output.
119833         Initialize it before each use.  Patch by Tim Waugh.
119835 2003-01-16  Bruno Haible  <bruno@clisp.org>
119837         * MODULES.html.sh: Add a table of contents. Add the module name as
119838         leftmost column. Add hyperlinks.
119840 2003-01-15  Bruno Haible  <bruno@clisp.org>
119842         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
119844 2003-01-15  Bruno Haible  <bruno@clisp.org>
119846         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
119847         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
119848         suffix.
119850 2003-01-15  Bruno Haible  <bruno@clisp.org>
119852         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
119854 2003-01-15  Bruno Haible  <bruno@clisp.org>
119856         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
119857         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
119859 2003-01-14  Jim Meyering  <jim@meyering.net>
119861         * lib/same.c (same_name): Tweak a comment.
119863 2003-01-14  Bruno Haible  <bruno@clisp.org>
119865         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
119866         when a string comparison is sufficient.
119868 2003-01-14  Bruno Haible  <bruno@clisp.org>
119870         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
119871         'unsigned int'.
119873 2003-01-14  Bruno Haible  <bruno@clisp.org>
119875         * lib/hash-pjw.c: Add comment about low quality of this function.
119877 2003-01-13  Bruno Haible  <bruno@clisp.org>
119879         * modules/stpcpy: Distribute lib/stpcpy.h.
119880         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
119882 2003-01-13  Bruno Haible  <bruno@clisp.org>
119884         * modules/*: Add a description.
119885         * modules/strpbrk: Fix Makefile.am snippet.
119886         * modules/strtoimax: Fix dependencies.
119887         * modules/strtoumax: Likewise.
119889 2003-01-13  Bruno Haible  <bruno@clisp.org>
119891         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
119892         * modules/alloca (Makefile.am): All object files depend on alloca.h.
119893         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
119895 2003-01-13  Bruno Haible  <bruno@clisp.org>
119897         * gnulib-tool (func_create_testdir): Store config/* files in the main
119898         directory.
119899         * config.rpath: Move to ...
119900         * config/config.rpath: ... here.
119901         * modules/gettext: Contains config/config.rpath, not config.rpath.
119902         * modules/iconv: Likewise.
119904 2003-01-12  Paul Eggert  <eggert@twinsun.com>
119906         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
119907         to avoid collisions with libcurses and libreadline.
119909         * m4/getstr.m4: Remove.
119910         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
119912 2003-01-12  Paul Eggert  <eggert@twinsun.com>
119914         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
119915         to avoid collisions with libcurses and libreadline.
119917         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
119918         * lib/getstr.h, getstr.c: Remove.
119919         * lib/getline.c: Include "getline.h", to check interface.
119920         Move body of old getstr.c here: this defines MIN_CHUNK and
119921         declares getdelim2, which is renamed from getstr.
119922         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
119924         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
119925         All uses changed.
119926         * lib/linebuffer.h: Likewise.
119927         (readline): Remove backward-compatibility macro.
119929 2003-01-12  Paul Eggert  <eggert@twinsun.com>
119931         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
119932         to avoid collisions with libcurses and libreadline.
119933         * getstr: Remove.
119934         * MODULES.html.sh: Remove getstr.
119935         * modules/getline: Depend on unlocked-io, not getstr.
119937 2003-01-12  Jim Meyering  <jim@meyering.net>
119939         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
119941 2003-01-10  Bruno Haible  <bruno@clisp.org>
119943         * modules/alloca: Change Makefile.am requirements. Simplify Include
119944         requirements. Add lib/alloca_.h to file list.
119946 2003-01-10  Bruno Haible  <bruno@clisp.org>
119948         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
119950 2003-01-10  Bruno Haible  <bruno@clisp.org>
119952         * lib/alloca_.h: New file.
119953         * lib/getdate.y: Unconditionally include alloca.h.
119954         * lib/makepath.c: Likewise.
119955         * lib/setenv.c: Likewise.
119956         * lib/userspec.c: Likewise.
119958 2003-01-09  Karl Berry  <karl@gnu.org>
119960         * MODULES.html.sh: include `dirname $0` in PATH, to find
119961         gnulib-tool.
119963 2003-01-09  Bruno Haible  <bruno@clisp.org>
119965         * modules/stdbool: Change configure.ac, Makefile.am requirements.
119966         Simplify Include requirements. Add lib/stdbool.h.in to file list.
119968 2003-01-09  Bruno Haible  <bruno@clisp.org>
119970         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
119972 2003-01-09  Bruno Haible  <bruno@clisp.org>
119974         * lib/stdbool.h.in: New file.
119976 2003-01-09  Bruno Haible  <bruno@clisp.org>
119978         * gnulib-tool (func_all_modules): Ignore files ending in ~.
119979         * MODULES.html.sh: Likewise.
119981 2003-01-08  Jim Meyering  <jim@meyering.net>
119983         * lib/full-write.c: Undefine and define-away `const' after inclusion
119984         of errno.h, not before.  Suggestion from Bruno Haible.
119986 2003-01-08  Bruno Haible  <bruno@clisp.org>
119988         * modules/full-read: Depend on full-write.
119990 2003-01-08  Bruno Haible  <bruno@clisp.org>
119992         * lib/safe-read.c: Include specification header first, to ensure its
119993         selfcontainedness.
119994         * lib/full-write.c: Likewise.
119996 2003-01-07  Jim Meyering  <jim@meyering.net>
119998         * lib/full-write.c: Rework so that it may serve to define full_read,
119999         too.
120000         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
120002 2003-01-07  Bruno Haible  <bruno@clisp.org>
120004         * lib/strtoimax.c: Include <stdint.h> as an alternative to
120005         <inttypes.h>.
120006         * lib/xstrtol.h: Likewise.
120007         * lib/xstrtoimax.c: Likewise.
120008         * lib/xstrtoumax.c: Likewise.
120009         * lib/human.h: Likewise.
120011         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
120012         on systems that have <inttypes.h> but not <stdint.h>.
120014 2003-01-07  Bruno Haible  <bruno@clisp.org>
120016         * MODULES.html.sh: Add copyright notice.
120017         (missed_files): Omit CVS directory entries.
120018         (func_module): Make it work with sed-3.02.
120019         * MODULES.txt: Remove file.
120021 2003-01-06  Jim Meyering  <jim@meyering.net>
120023         * lib/version-etc.c: Update year in translatable copyright string.
120025 2003-01-03  Karl Berry  <karl@gnu.org>
120027         * config/config.{guess,sub}: update from prep.
120029 2003-01-02  Karl Berry  <karl@gnu.org>
120031         * doc/COPYING.DOC: belatedly updated to 1.2.
120033 2003-01-01  Karl Berry  <karl@gnu.org>
120035         * gnulib-tool (func_verify_module): report module name $module in
120036         error message, not $1.
120037         * gnulib-tool (create-testdir): don't complain if destdir couldn't
120038         be created, only if it doesn't exist.
120039         * gnulib-tool (last_checkin_date): don't expand the $Date here.
120041 2002-12-31  Paul Eggert  <eggert@twinsun.com>
120043         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
120045 2002-12-31  Paul Eggert  <eggert@twinsun.com>
120047         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
120048         memcmp if strcoll doesn't work.
120050 2002-12-31  Bruno Haible  <bruno@clisp.org>
120052         * lib/utime.c (utime_null): No need to call ftruncate if the file was
120053         nonempty.
120055 2002-12-31  Bruno Haible  <bruno@clisp.org>
120057         * lib/memcoll.c (STRCOLL): New macro.
120058         (memcoll): Use it.
120060 2002-12-31  Bruno Haible  <bruno@clisp.org>
120062         * lib/localcharset.h: New file.
120063         * lib/localcharset.c: Include it.
120064         * lib/unicodeio.c: Likewise.
120066 2002-12-31  Bruno Haible  <bruno@clisp.org>
120068         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
120069         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
120071 2002-12-31  Bruno Haible  <bruno@clisp.org>
120073         * lib/getline.h: Include <stddef.h>, for size_t.
120075         * lib/unicodeio.h: Include <stddef.h>, for size_t.
120076         * lib/unicodeio.c: Don't include <stddef.h>.
120078 2002-12-31  Bruno Haible  <bruno@clisp.org>
120080         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
120081         HAVE_TM_ZONE.
120083 2002-12-24  Karl Berry  <karl@gnu.org>
120085         * config/config.guess: update from prep.
120087 2002-12-24  Bruno Haible  <bruno@clisp.org>
120089         General infrasructure.
120090         * m4/README: Rewritten.
120091         * m4/onceonly.m4: New file.
120092         * m4/onceonly_2_57.m4: New file.
120094         Module atexit.
120095         * m4/atexit.m4: New file.
120097         Module strtod.
120098         * m4/strtod.m4: New file.
120100         Module strtol.
120101         * m4/strtol.m4: New file.
120103         Module strtoul.
120104         * m4/strtoul.m4: New file.
120106         Module memchr.
120107         * m4/memchr.m4: New file.
120109         Module memcmp.
120110         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
120111         (jm_FUNC_MEMCMP): Invoke it.
120113         Module memcpy.
120114         * m4/memcpy.m4: New file.
120116         Module memmove.
120117         * m4/memmove.m4: New file.
120119         Module memset.
120120         * m4/memset.m4: New file.
120122         Module strcspn.
120123         * m4/strcspn.m4: New file.
120125         Module strpbrk.
120126         * m4/strpbrk.m4: New file.
120128         Module strstr.
120129         * m4/strstr.m4: New file.
120131         Module strerror.
120132         * m4/strerror.m4: New file.
120134         Module mktime.
120135         * m4/mktime.m4: Renamed from jm-mktime.m4.
120136         (gl_PREREQ_MKTIME): New macro.
120137         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
120139         Module malloc.
120140         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
120141         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
120142         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
120144         Module realloc.
120145         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
120146         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
120147         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
120149         Module strftime.
120150         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
120151         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
120152         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
120153         gl_TM_GMTOFF.
120154         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
120156         Module xalloc.
120157         * m4/xalloc.m4: New file.
120159         Module alloca.
120160         * m4/alloca.m4: New file.
120162         Module putenv.
120163         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
120164         (jm_FUNC_PUTENV): Invoke it.
120166         Module setenv.
120167         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
120168         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
120169         when invoked twice.
120170         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
120171         gt_FUNC_SETENV.
120173         Module memrchr.
120174         * m4/memrchr.m4: New file.
120176         Module stpcpy.
120177         * m4/stpcpy.m4: New file.
120179         Module strcase.
120180         * m4/strcase.m4: New file.
120182         Module strdup.
120183         * m4/strdup.m4: New file.
120185         Module strnlen.
120186         * m4/strnlen.m4: New file.
120188         Module strndup.
120189         * m4/strndup.m4: New file.
120191         Module xstrtod.
120192         * m4/xstrtod.m4: New file.
120194         Module xstrtol.
120195         * m4/xstrtol.m4: New file.
120197         Module getdate.
120198         * m4/getdate.m4: New file.
120200         Module unlocked-io.
120201         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
120202         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
120203         * m4/jm-glibc-io.m4n: Remove file.
120205         Module long-options.
120206         * m4/long-options.m4: New file.
120208         Module md5.
120209         * m4/md5.m4: New file.
120211         Module sha.
120212         * m4/sha.m4: New file.
120214         Module getstr.
120215         * m4/getstr.m4: New file.
120217         Module getline.
120218         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
120219         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
120220         <sys/types.h>, for size_t. Use the function name gnu_getline, not
120221         simply getline. Infoke gl_PREREQ_GETLINE.
120223         Module obstack.
120224         * m4/obstack.m4: New file.
120226         Module hash.
120227         * m4/hash.m4: New file.
120229         Module readtokens.
120230         * m4/readtokens.m4: New file.
120232         Module strverscmp.
120233         * m4/strverscmp.m4: New file.
120235         Module stdbool.
120236         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
120237         OSF/1.
120239         Module strtoll.
120240         * m4/strtoll.m4: New file.
120242         Module strtoull.
120243         * m4/strtoull.m4: New file.
120245         Module strtoimax.
120246         * m4/strtoimax.m4: New file.
120248         Module strtoumax.
120249         * m4/strtoumax.m4: New file.
120251         Module xstrtoimax.
120252         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
120253         jm_AC_PREREQ_XSTRTOIMAX.
120254         Moved the strtol prerequisites to strtol.m4.
120255         Moved the strtoll prerequisites to strtoll.m4.
120256         Moved the strtoimax prerequisites to strtoimax.m4.
120258         Module xstrtoumax.
120259         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
120260         jm_AC_PREREQ_XSTRTOUMAX.
120261         Moved the strtoul prerequisites to strtoul.m4.
120262         Moved the strtoull prerequisites to strtoull.m4.
120263         Moved the strtoumax prerequisites to strtoumax.m4.
120265         Module chown.
120266         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
120267         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
120269         Module dup2.
120270         * m4/dup2.m4: New file.
120272         Module ftruncate.
120273         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
120274         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
120276         Module getgroups.
120277         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
120278         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
120280         Module gettimeofday.
120281         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
120282         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
120283         gl_PREREQ_GETTIMEOFDAY.
120285         Module mkdir.
120286         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
120287         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
120289         Module mkstemp.
120290         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
120291         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
120292         jm_AC_TYPE_UINTMAX_T.
120293         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
120295         Module stat.
120296         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
120297         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
120299         Module lstat.
120300         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
120301         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
120303         Module timespec.
120304         * m4/timespec.m4 (gl_TIMESPEC): New macro.
120305         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
120306         * m4/st_mtim.m4: Indentation.
120308         Module nanosleep.
120309         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
120310         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
120311         gl_PREREQ_NANOSLEEP.
120313         Module regex.
120314         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
120315         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
120316         (gl_REGEX): New macro.
120318         Module rename.
120319         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
120320         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
120322         Module rmdir.
120323         * m4/rmdir.m4: New file.
120325         Module utime.
120326         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
120327         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
120328         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
120330         Module dirname.
120331         * m4/dirname.m4: New file.
120333         Module getopt.
120334         * m4/getopt.m4: New file.
120336         Module unistd-safer.
120337         * m4/unistd-safer.m4: New file.
120339         Module fnmatch.
120340         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
120341         declaration.
120342         (gl_PREREQ_FNMATCH_EXTRA): New macro.
120343         (gl_FUNC_FNMATCH_POSIX): New macro.
120344         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
120345         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
120346         simply fnmatch.
120348         Module exclude.
120349         * m4/exclude.m4: New file.
120351         Module human.
120352         * m4/human.m4: New file.
120354         Module acl.
120355         * m4/acl.m4: Nop.
120357         Module backupfile.
120358         * m4/backupfile.m4: New file.
120359         * m4/d-ino.m4: Indentation.
120361         Module fsusage.
120362         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
120363         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
120364         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
120366         Module dirfd.
120367         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
120368         requirements.
120370         Module euidaccess.
120371         * m4/euidaccess.m4: New file.
120373         Module file-type.
120374         * m4/file-type.m4: New file.
120376         Module fileblocks.
120377         * m4/fileblocks.m4: New file.
120379         Module filemode.
120380         * m4/filemode.m4: New file.
120382         Module isdir.
120383         * m4/isdir.m4: New file.
120385         Module lchown.
120386         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
120387         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
120389         Module makepath.
120390         * m4/makepath.m4: New file.
120392         Module modechange.
120393         * m4/modechange.m4: New file.
120395         Module mountlist.
120396         * m4/mountlist.m4: New file.
120397         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
120398         Indentation.
120400         Module path-concat.
120401         * m4/path-concat.m4: New file.
120403         Module pathmax.
120404         * m4/pathmax.m4: New file.
120406         Module same.
120407         * m4/same.m4: New file.
120409         Module save-cwd.
120410         * m4/save-cwd.m4: New file.
120412         Module savedir.
120413         * m4/savedir.m4: New file.
120415         Module xgetcwd.
120416         * m4/xgetcwd.m4: New file.
120417         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
120419         Module xreadlink.
120420         * m4/xreadlink.m4: New file.
120422         Module safe-read.
120423         * m4/safe-read.m4: New file.
120425         Module safe-write.
120426         * m4/safe-write.m4: New file.
120428         Module closeout.
120429         * m4/closeout.m4: New file.
120431         Module stdio-safer.
120432         * m4/stdio-safer.m4: New file.
120434         Module getpass.
120435         * m4/getpass.m4: New file.
120437         Module getugroups.
120438         * m4/getugroups.m4: New file.
120440         Module group-member.
120441         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
120442         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
120444         Module idcache.
120445         * m4/idcache.m4: New file.
120447         Module userspec.
120448         * m4/userspec.m4: New file.
120450         Module gettime.
120451         * m4/clock_time.m4: New file.
120452         * m4/gettime.m4: New file.
120454         Module settime.
120455         * m4/settime.m4: New file.
120457         Module posixtm.
120458         * m4/posixtm.m4: New file.
120460         Module gethostname.
120461         * m4/gethostname.m4: New file.
120463         Module canon-host.
120464         * m4/canon-host.m4: New file.
120466         Module gettext.
120467         * m4/codeset.m4: New file, from gettext-0.11.5.
120468         * m4/gettext.m4: New file, from gettext-0.11.5.
120469         * m4/glibc21.m4: New file, from gettext-0.11.5.
120470         * m4/iconv.m4: New file, from gettext-0.11.5.
120471         * m4/intdiv0.m4: New file, from gettext-0.11.5.
120472         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
120473         * m4/inttypes.m4: New file, from gettext-0.11.5.
120474         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
120475         * m4/isc-posix.m4: New file, from gettext-0.11.5.
120476         * m4/lcmessage.m4: New file, from gettext-0.11.5.
120477         * m4/lib-ld.m4: New file, from gettext-0.11.5.
120478         * m4/lib-link.m4: New file, from gettext-0.11.5.
120479         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
120480         * m4/progtest.m4: New file, from gettext-0.11.5.
120481         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
120482         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
120483         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
120485         Module localcharset.
120486         * m4/localcharset.m4: New file.
120488         Module hard-locale.
120489         * m4/hard-locale.m4: New file.
120491         Module mbswidth.
120492         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
120493         onceonly macros.
120494         * m4/mbrtowc.m4: Add comment.
120496         Module memcasecmp.
120497         * m4/memcasecmp.m4: New file.
120499         Module memcoll.
120500         * m4/memcoll.m4: New file.
120502         Module unicodeio.
120503         * m4/unicodeio.m4: New file.
120505         Module rpmatch.
120506         * m4/rpmatch.m4: New file.
120508         Module yesno.
120509         * m4/yesno.m4: New file.
120511         Module exitfail.
120512         * m4/exitfail.m4: New file.
120514         Module c-stack.
120515         * m4/c-stack.m4 (gl_C_STACK): New macro.
120516         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
120518         Module error.
120519         * m4/error.m4 (gl_ERROR): New macro.
120520         (jm_PREREQ_ERROR): Use onceonly macros.
120522         Module fatal.
120523         * m4/fatal.m4: New file.
120525         Module getloadavg.
120526         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
120527         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
120529         Module getpagesize.
120530         * m4/getpagesize.m4: New file.
120532         Module getusershell.
120533         * m4/getusershell.m4: New file.
120535         Module physmem.
120536         * m4/physmem.m4: New file.
120538         Module posixver.
120539         * m4/posixver.m4: New file.
120541         Module quotearg.
120542         * m4/quotearg.m4: New file.
120544         Module quote.
120545         * m4/quote.m4: New file.
120547         Module readutmp.
120548         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
120550         Module sig2str.
120551         * m4/sig2str.m4: New file.
120553         Other.
120554         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
120555         ulonglong.m4.
120556         * m4/intmax_t.m4: New file.
120557         * m4/d-type.m4: Indentation.
120558         * m4/jm-macros.m4: Update.
120559         * m4/prereq.m4 (jm_PREREQ): Update.
120560         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
120561         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
120562         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
120563         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
120564         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
120565         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
120566         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
120567         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
120568         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
120569         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
120570         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
120571         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
120572         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
120573         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
120574         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
120575         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
120576         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
120577         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
120578         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
120580 2002-12-24  Bruno Haible  <bruno@clisp.org>
120582         * MODULES.txt: Update according to m4/ changes.
120584         Module gettext.
120585         * config.rpath: New file, from gettext-0.11.5.
120587         * modules/*: New module descriptions.
120588         * gnulib-tool: New file.
120589         * MODULES.html.sh: New file.
120591 2002-12-21  Karl Berry  <karl@gnu.org>
120593         * doc/fdl.texi: update to version 1.2.
120595 2002-12-19  Karl Berry  <karl@gnu.org>
120597         * config/config.guess: update from prep.
120599 2002-12-18  Bruno Haible  <bruno@clisp.org>
120601         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
120602         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
120604 2002-12-17  Bruno Haible  <bruno@clisp.org>
120606         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
120607         stdlib.h, string.h.
120609 2002-12-17  Bruno Haible  <bruno@clisp.org>
120611         * lib/canon-host.c (strdup): Remove unused declaration.
120613         * lib/fsusage.c: Include full_read.h.
120614         (get_fs_usage): Use full_read instead of safe_read.
120616         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
120618 2002-12-12  Karl Berry  <karl@gnu.org>
120620         * config/config.guess: update from prep.
120622 2002-12-11  Bruno Haible  <bruno@clisp.org>
120624         * m4/setenv.m4: New file, from gettext-0.11.5.
120626 2002-12-11  Bruno Haible  <bruno@clisp.org>
120628         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
120629         not unsetenv().
120630         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
120631         modifications:
120633         2002-12-11  Bruno Haible  <bruno@clisp.org>
120635                 * setenv.c (alloca): Fall back to malloc.
120636                 (freea): New macro.
120637                 (setenv): Use freea() to free memory allocated with alloca().
120639         2002-11-13  Bruno Haible  <bruno@clisp.org>
120641                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
120642                 function declarations.
120643                 * unsetenv.c (unsetenv): Likewise.
120645         2002-03-04  Bruno Haible  <bruno@clisp.org>
120647                 Portability to AIX 4.3.3.
120648                 * unsetenv.c: New file, extracted from setenv.c.
120649                 * setenv.c: Move the unsetenv() function to unsetenv.c.
120651         2001-12-20  Bruno Haible  <bruno@clisp.org>
120653                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
120654                 use malloc instead. For SunOS 4.
120656         2001-12-11  Bruno Haible  <bruno@clisp.org>
120658                 * setenv.c: Declare alloca.
120659                 (compar_fn_t): New typedef.
120660                 (KNOWN_VALUE, STORE_VALUE): Use it.
120662         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
120663         setenv.h.
120665 2002-12-10  Paul Eggert  <eggert@twinsun.com>
120667         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
120668         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
120669         Choose values that are less likely to collide with system fnmatch
120670         options.
120671         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
120672         defined (e.g., a pure POSIX system).
120673         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
120674         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
120676 2002-12-06  Paul Eggert  <eggert@twinsun.com>
120678         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
120679         a pain in practice to deal with generated m4 files.  This change
120680         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
120682         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
120683         and jm-glibc-io.m4, as they are no longer a special case.
120684         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
120685         kludge and the auto-generation stuff.  Check only whether the
120686         functions are declared, not whether they exist, since older hosts
120687         that don't declare the functions can't use the optimization anyway.
120689 2002-12-06  Jim Meyering  <jim@meyering.net>
120691         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
120693         Merge in changes from libc's misc/error.c, in preparation
120694         for the merge of gnulib's changes back into libc.
120696         * lib/error.c (_): Define only if not already defined.
120697         Move definition to follow all #include directives.
120698         Include unlocked-io.h only if !_LIBC.
120699         [_LIBC]: Include <libio/libioP.h>.
120700         [USE_IN_LIBIO]: Include <libio/iolibio.h>
120701         (fflush): Tweak definition to use INTUSE.
120702         (putc): Define.
120704 2002-12-05  Paul Eggert  <eggert@twinsun.com>
120706         * lib/alloca.c [defined emacs]: Include "lisp.h".
120707         (xalloc_die) [defined emacs]: New macro.
120708         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
120709         [! defined emacs]: Include <xalloc.h>.
120710         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
120711         (pointer): Typedef to POINTER_TYPE *.
120712         (malloc): Remove decl; we now always use xmalloc.
120713         (alloca): Use old-style definition, since Emacs needs this.
120714         Check for arithmetic overflow when computing combined size.
120716 2002-12-04  Paul Eggert  <eggert@twinsun.com>
120718         Do not generate unlocked-io.h automatically, since it's easier to
120719         maintain it by hand.
120721         * lib/unlocked-io.h: New file, from GNU diffutils,
120722         but with proper copyright notice and attribution.
120723         * lib/gen-uio: Remove.
120724         * lib/Makefile.am: Add copyright notice.
120725         (libfetish_a_SOURCES): Add unlocked-io.h.
120726         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
120727         (DISTCLEANFILES, io_functions): Remove macros.
120728         (EXTRA_DIST): Remove gen_uio.
120729         (unlocked-io.h): Remove rule.
120731 2002-12-04  Jim Meyering  <jim@meyering.net>
120733         Reflect the fact that stat.c and lstat.c are no longer generated.
120734         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
120735         (DISTCLEANFILES): Likewise.
120736         (EXTRA_DIST): Likewise.
120737         (all_local): Don't depend on stat.c or lstat.c.
120738         (stat.c, lstat.c): Remove rules.
120739         (EXTRA_DIST): Remove xstat.in.
120741         * lib/xstat.in: Remove file.  Contents moved into stat.c.
120742         * lib/stat.c: New file.  Contents mostly from xstat.in.
120743         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
120744         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
120746         * lib/safe-read.c: Rework so that it may serve to define safe_write,
120747         too.
120748         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
120750 2002-12-03  Jim Meyering  <jim@meyering.net>
120752         * lib/safe-read.c, safe-write.c: Change variable names and comments,
120753         but not semantics, to minimize the differences between these two files.
120754         (safe_read): Change comment to mention SAFE_READ_ERROR.
120756         * lib/safe-read.c (IS_EINTR): Define.
120757         (safe_read): Use IS_EINTR in place of in-function cpp directives.
120759 2002-12-02  Jim Meyering  <jim@meyering.net>
120761         * lib/safe-read.c (EINTR): Define.
120762         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
120763         (INT_MAX): Provide fallback.
120764         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
120766         * lib/safe-read.h (SAFE_READ_ERROR): Define.
120768 2002-12-02  Bruno Haible  <bruno@clisp.org>
120770         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
120771         Define, taken from safe-read.c.
120772         (INT_MAX): Provide fallback.
120773         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
120774         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
120776         * lib/safe-read.c (EINTR): Remove definition.
120777         (safe_read): Don't use EINTR if it is absent.
120779 2002-12-01  Jim Meyering  <jim@meyering.net>
120781         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
120782         zero.
120783         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
120785 2002-11-27  Paul Eggert  <eggert@twinsun.com>
120787         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
120788         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
120789         with `if (! (value < limit)) abort ();', for readability.
120791 2002-11-26  Karl Berry  <karl@gnu.org>
120793         * lib/strdup.c: copy from libc again, with jim's ok.
120794         * lib/.cppi-disable: re-add strdup.c
120796 2002-11-25  Karl Berry  <karl@gnu.org>
120798         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
120799         instead of "strtol.c".
120801 2002-11-25  Karl Berry  <karl@gnu.org>
120803         * config/install-sh: update from automake for variable quoting, $0 in
120804         error msgs, etc.
120806         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
120807         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
120808         entry.
120810 2002-11-25  Jim Meyering  <jim@meyering.net>
120812         * lib/mktime.c: Sync from libc, now that it has the latest fix.
120814 2002-11-24  Karl Berry  <karl@gnu.org>
120816         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
120817         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
120819 2002-11-24  Jim Meyering  <jim@meyering.net>
120821         Update from coreutils:
120823         * lib/mktime.c: Merge in changes from libc.
120825         Avoid a link-time failure on some Linux systems.
120826         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
120827         (otherwise).
120828         (__mon_yday): Declare with the STATIC attribute.
120829         (__mktime_internal): Likewise.
120830         Based on a report from Greg Schafer.
120832 2002-11-23  Jim Meyering  <jim@meyering.net>
120834         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
120835         Use `unsigned', not `int', as type of index.
120837         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
120839         * lib/fsusage.c: Remove unneeded parentheses around operands of
120840         `defined'.
120842 2002-11-22  Paul Eggert  <eggert@twinsun.com>
120844         * lib/quotearg.h: Allow multiple inclusion by surrounding with
120845         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
120846         so that we can be included first.
120847         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
120848         * lib/quotearg.c: Include quotearg.h immediately after config.h.
120849         No need to include stddef.h or sys/types.h any more.
120850         Surround local include files with "", not "<>".
120851         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
120852         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
120853         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
120854         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
120855         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
120856         (ISPRINT): Remove; no longer needed now that we assume C89.
120858         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
120859         Preserve errno.
120861         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
120862         quotearg_char): Use SIZE_MAX rather than
120863         (size_t) -1 when we are talking about "infinity".
120865         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
120867 2002-11-22  Paul Eggert  <eggert@twinsun.com>
120869         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
120870         hint that one should use `if (! x) abort ();' rather than `assert
120871         (x);', and anyway it's one less thing to worry about configuring.
120872         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
120873         hash_rehash, hash_insert): Use abort rather than assert.
120875 2002-11-22  Bruno Haible  <bruno@clisp.org>
120877         * lib/safe-read.h: Assume C89. Add comments.
120878         (safe_read): Change return type to size_t.
120879         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
120880         byte counts > SSIZE_MAX correctly.
120881         * lib/safe-write.h: New file.
120882         * lib/safe-write.c: New file.
120883         * lib/full-read.h: New file.
120884         * lib/full-read.c: New file.
120885         * lib/full-write.h: Assume C89. Add comments.
120886         * lib/full-write.c: Include safe-write.h.
120887         (full_write): Rewritten to use safe_write.
120888         Suggested by Jim Meyering and Paul Eggert.
120890 2002-11-21  Jim Meyering  <jim@meyering.net>
120892         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
120894         Merge in changes from the coreutils.
120896         2002-09-25  Paul Eggert  <eggert@twinsun.com>
120897         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
120898         <stdint.h>.
120899         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
120900         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
120901         int.  Work more efficiently if X is the same width as uintmax_t.
120902         Do not compare X to -1, to avoid bogus compiler warning.
120903         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
120904         Don't assume that f_frsize and f_bsize are the same type.
120906         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
120907         warning on FreeBSD.
120909         * lib/makepath.c (make_path): Restore umask *before* creating the final
120910         component.
120911         (make_path): Minor reformatting.
120913         * lib/xmalloc.c: Adjust to work with new autoconf macros,
120914         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
120915         HAVE_MALLOC/HAVE_REALLOC.
120917         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
120918         dummy ones.  At least on GNU/Linux systems, `auto' means something
120919         else.
120920         From Michael Stone.
120922 2002-11-21  Bruno Haible  <bruno@clisp.org>
120924         Remove case insensitive option matching.
120925         * lib/argmatch.h (argcasematch): Remove declaration.
120926         (ARGCASEMATCH): Remove macro.
120927         (__xargmatch_internal): Remove case_sensitive argument.
120928         (XARGMATCH): Update.
120929         (XARGCASEMATCH): Remove macro.
120930         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
120931         case_sensitive argument.
120932         (argcasematch): Remove function.
120933         (__xargmatch_internal): Remove case_sensitive argument.
120934         (main): Use XARGMATCH instead of XARGCASEMATCH.
120936         * lib/xmalloc.c: Change compile-time error message. Add comment about
120937         required autoconf version.
120939 2002-11-20  Paul Eggert  <eggert@twinsun.com>
120941         Merge argmatch cleanups from Bison.  Assume C89.
120943         * lib/argmatch.c: Include config.h here, not in argmatch.h.
120944         Include stdlib.h, for EXIT_FAILURE.
120945         Always include <string.h>, since we assume C89.
120946         (EXIT_FAILURE): Remove pre-C89 bug workaround.
120947         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
120948         Include <stddef.h> instead, since it's all we need for size_t.
120949         (PARAMS): Remove.  All uses removed.
120950         (ARRAY_CARDINALITY): Do not bother to #undef.
120951         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
120952         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
120953         Remove unnecessary parentheses.
120954         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
120955         Insert necessary parentheses.
120956         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
120957         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
120959 2002-11-19  Bruno Haible  <bruno@clisp.org>
120961         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
120962         * lib/mbswidth.h: Include <stddef.h>, for size_t.
120964         * lib/mbswidth.h (PARAMS): Remove macro.
120965         (mbswidth, mbsnwidth): Use ANSI C function declarations.
120966         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
120968         * lib/gcd.h (PARAMS): Remove macro.
120969         (gcd): Use ANSI C function declarations.
120970         * lib/gcd.c (gcd): Likewise.
120972 2002-11-15  Bruno Haible  <bruno@clisp.org>
120974         * lib/strcspn.c: Include <stddef.h>.
120975         (strcspn): Use ANSI C function declaration. Change return type to
120976         size_t. Use NULL.
120977         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
120978         (strpbrk): Use NULL.
120979         * lib/strpbrk.h (PARAMS): Remove macro.
120980         (strpbrk): Use ANSI C function declaration.
120981         * lib/strstr.c: Don't include <sys/types.h>.
120982         * lib/strstr.h (PARAMS): Remove macro.
120983         (strstr): Use ANSI C function declarations.
120985 2002-11-14  Karl Berry  <karl@gnu.org>
120987         * config/mkinstalldirs: `do' on separate line, instead of
120988         `for var; do'.
120990 2002-11-06  Bruno Haible  <bruno@clisp.org>
120992         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
120993         * lib/gcd.c (gcd): Likewise.
120995 2002-11-05  Bruno Haible  <bruno@clisp.org>
120997         * lib/gcd.h: New file, from gettext-0.11.5.
120998         * lib/gcd.c: New file, from gettext-0.11.5.
121000 2002-11-05  Bruno Haible  <bruno@clisp.org>
121002         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
121003         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
121004         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
121005         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
121007         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
121008         <libintl.h>.
121009         * lib/makepath.c: Include gettext.h instead of <locale.h> and
121010         <libintl.h>.
121012         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
121013         * lib/human.c: Include gettext.h instead of <libintl.h>.
121014         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
121015         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
121016         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
121017         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
121018         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
121019         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
121020         (textdomain): Remove definition.
121021         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
121023         * lib/long-options.c: Remove include of <libintl.h> and definition of
121024         _.
121025         * lib/same.c: Remove include of <libintl.h> and definition of _.
121027 2002-11-04  Owen Taylor  <otaylor@redhat.com>
121029         * lib/config.charset: A few additions for Solaris.
121031 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
121033         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
121034         * lib/localcharset.c (locale_charset): Declare as extern "C".
121036 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
121038         * lib/config.charset: msdos in uk_UA uses CP1125.
121040 2002-11-04  Bruno Haible  <bruno@clisp.org>
121042         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
121043         * lib/strcase.h: New file, from GNU gettext-0.11.5.
121044         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
121045         * lib/strstr.h: New file, from GNU gettext-0.11.5.
121046         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
121048 2002-11-04  Bruno Haible  <bruno@clisp.org>
121050         * lib/localcharset.c (locale_charset): Don't return an empty string.
121052 2002-11-04  Bruno Haible  <bruno@clisp.org>
121054         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
121055         aliases.
121057 2002-11-04  Bruno Haible  <bruno@clisp.org>
121059         * lib/config.charset: Update for newest glibc. Add canonical names
121060         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
121062 2002-11-04  Bruno Haible  <bruno@clisp.org>
121064         * lib/config.charset: Add support for NetBSD.
121066 2002-11-04  Bruno Haible  <bruno@clisp.org>
121068         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
121070 2002-11-01  Bruno Haible  <bruno@clisp.org>
121072         * configure.in: Add AC_CONFIG_AUX_DIR call.
121073         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
121074         test/Makefile.
121075         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
121077 2002-09-28  Karl Berry  <karl@gnu.org>
121079         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
121080         installed automake until the next release, since changes have been
121081         made.
121083 2002-09-25  Karl Berry  <karl@gnu.org>
121085         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
121086         * lib/getopt*: copy from libc/posix.
121087         * lib/gettext.h: copy from gettext.
121088         * lib/.cppi-disable: add strdup.c, gettext.h.
121090 2002-09-25  Karl Berry  <karl@gnu.org>
121092         * config/srclist.txt: enable gettext.h check.
121093         * config/config.{guess,sub}: update from prep.
121094         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
121095                 from automake 1.6.3.
121096         See srclist*.
121098 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
121100         * regex.c (PATFETCH): Remove the translating fetch.
121101         (PATFETCH_RAW): Rename to PATFETCH.
121102         (set_image_of_range): New fun.
121103         (SET_RANGE_TABLE_WORK_AREA): Use it.
121104         (regex_compile): Don't translate the pattern chars so eagerly.
121105         Only do it when inserting an `exactn' bytecode or when handling
121106         a char-range.
121107         (mutually_exclusive_p): Avoid empty statement.
121109 2002-07-06  Jim Meyering  <meyering@lucent.com>
121111         * m4/README: Don't mention Makefile.am.in.
121112         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
121114 2002-07-01  Jim Meyering  <meyering@lucent.com>
121116         * lib/c-stack.c: Include sys/time.h.
121117         From Volker Borchert.
121119 2002-06-26  Paul Eggert  <eggert@twinsun.com>
121121         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
121123 2002-06-26  Paul Eggert  <eggert@twinsun.com>
121125         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
121126         New macro.  Use it uniformly instead of
121127         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
121128         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
121129         reported by Vin Shelton.
121131 2002-06-22  Paul Eggert  <eggert@twinsun.com>
121133         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
121134         Do not assume SA_SIGINFO behavior.
121135         Bug reported by Jim Meyering on NetBSD 1.5.2.
121137 2002-06-22  Jim Meyering  <meyering@lucent.com>
121139         * m4/c-stack.m4: New file, from diffutils-2.8.2.
121140         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
121142         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
121143         now that configure.ac uses AC_GNU_SOURCE.
121144         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
121145         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
121147         Update to latest tools.  Suggestions from Paul Eggert.
121148         * m4/stdbool.m4: New file, from diffutils-2.8.2.
121149         * m4/gnu-source.m4: Update from diffutils-2.8.2.
121150         * m4/fnmatch.m4: Likewise.
121151         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
121152         to AC_HEADER_STDBOOL
121154 2002-06-22  Jim Meyering  <meyering@lucent.com>
121156         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
121157         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
121159 2002-06-22  Jim Meyering  <meyering@lucent.com>
121161         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
121163         * lib/exitfail.c, exitfail.h: Likewise.
121164         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
121166         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
121167         of fnmatch.h.
121168         (EXTRA_DIST): Add fnmatch_loop.c.
121169         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
121171         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
121172         * lib/fnmatch.c: Update from diffutils-2.8.2.
121173         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
121174         * lib/fnmatch.h: Remove file.
121176 2002-06-21  Jim Meyering  <meyering@lucent.com>
121178         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
121179         * m4/mbrtowc.m4: Likewise.
121181         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
121182         * m4/mbswidth.m4: Reflect name change:
121183         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
121184         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
121186         * m4/lib-link.m4: Update from gettext-0.11.2.
121187         * m4/gettext.m4: Likewise.
121189         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
121190         From Alfred M. Szmidt.
121192 2002-06-18  Paul Eggert  <eggert@twinsun.com>
121194         * lib/file-type.h: Report an error if neither S_ISREG nor
121195         S_IFREG is defined, instead of using a test specific to glibc
121196         2.2.  This should be safe, since POSIX requires S_ISREG and
121197         Unix Version 7 had S_IFREG.  We don't need to check for
121198         <sys/types.h> since we don't use any symbols that it defines.
121200 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
121202         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
121203         $@-t, so that each temporary file name is unique and valid in the first
121204         8 characters, for operation under DOS.
121206 2002-06-15  Paul Eggert  <eggert@twinsun.com>
121208         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
121210 2002-06-15  Jim Meyering  <meyering@lucent.com>
121212         Work even with DJGPP 2.03, which lacks support for symlinks.
121213         From Richard Dawe.
121214         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
121215         is defined.
121216         * lib/lchown.c (S_ISLNK): Likewise.
121218 2002-06-15  Jim Meyering  <meyering@lucent.com>
121220         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
121221         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
121222         have been included before this file.
121224 2002-06-14  Jim Meyering  <meyering@lucent.com>
121226         * lib/file-type.h: Use the version from diffutils-2.8.2.
121227         * lib/file-type.c: Likewise.
121229 2002-06-07  Jim Meyering  <meyering@lucent.com>
121231         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
121232         They're needed at least for NetBSD 1.5.2.
121233         ($statxfs_includes): Include those same headers.
121234         ($statxfs_includes): Include sys/vfs.h if available.
121235         ($statxfs_includes): Likewise for sys/statvfs.h.
121236         Check for the following members in both structs statfs and statvfs:
121237         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
121239 2002-06-01  Jim Meyering  <meyering@lucent.com>
121241         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
121242         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
121244 2002-05-28  Jim Meyering  <meyering@lucent.com>
121246         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
121247         Reported by Volker Borchert.
121249 2002-05-27  Jim Meyering  <meyering@lucent.com>
121251         Fix a problem seen only on nonconforming systems whereby ls.c's
121252         use of localtime, and then of gettimeofday would cause trouble:
121253         the localtime call used to initialize rpl_gettimeofday's save
121254         mechanism would clobber ls's current local time information so
121255         that in any long listing the first file would always be listed
121256         with date 1970-01-01.  Analysis by Volker Borchert.
121258         * lib/gettimeofday.c (localtime): Undefine.
121259         (rpl_localtime): New function.
121261 2002-05-27  Jim Meyering  <meyering@lucent.com>
121263         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
121264         localtime.
121266         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
121267         use the replacement function; it wouldn't resolve at link time.
121268         Reported by Volker Borchert.
121270 2002-05-22  Jim Meyering  <meyering@lucent.com>
121272         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
121273         file-type.h.
121274         * lib/file-type.h: New file.
121275         * lib/file-type.c (file_type): New file/function.  Extracted from
121276         diffutils.
121278 2002-04-30  Jim Meyering  <meyering@lucent.com>
121280         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
121282 2002-04-29  Paul Eggert  <eggert@twinsun.com>
121284         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
121286 2002-04-29  Paul Eggert  <eggert@twinsun.com>
121288         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
121289         Do not check for alloca.h (no longer used) or stdbool.h (was never
121290         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
121292 2002-04-29  Paul Eggert  <eggert@twinsun.com>
121294         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
121296 2002-04-29  Jim Meyering  <meyering@lucent.com>
121298         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
121299         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
121300         Use AC_FUNC_STRNLEN here instead.
121302         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
121303         With autoconf-2.53a, it's part of AC_PROG_CC.
121305 2002-04-28  Paul Eggert  <eggert@twinsun.com>
121307         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
121308         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
121310 2002-04-28  Paul Eggert  <eggert@twinsun.com>
121312         * lib/sig2str.h, lib/sig2str.c: New files.
121313         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
121315 2002-04-28  Paul Eggert  <eggert@twinsun.com>
121317         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
121318         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
121319         of 127, since 64 is the largest conceivable number for ancient
121320         nonstandard hosts.
121321         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
121323 2002-04-28  Jim Meyering  <meyering@lucent.com>
121325         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
121327 2002-04-24  Jim Meyering  <meyering@lucent.com>
121329         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
121330         (jm_PREREQ): Use it.
121332         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
121333         mach/mach.h fcntl.h.
121334         Check for this function: setlocale.
121336 2002-04-24  Jim Meyering  <meyering@lucent.com>
121338         * lib/gettext.h: New file, from Gettext.
121339         * lib/Makefile.am (INCLUDES): Remove -I../intl.
121340         (libfetish_a_SOURCES): Add gettext.h.
121342 2002-04-16  Jim Meyering  <meyering@lucent.com>
121344         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
121345         ut_pid, ut_id, ut_exit.
121347 2002-04-16  Jim Meyering  <meyering@lucent.com>
121349         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
121350         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
121351         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
121353 2002-04-12  Jim Meyering  <meyering@lucent.com>
121355         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
121356         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
121357         existence of the getmntinfo function.  Needed for Darwin 5.3.
121359         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
121360         This is necessary at least on Darwin 5.3.
121362         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
121363         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
121364         strnlen.o in the library, and that makes some versions of ranlib
121365         object.
121367 2002-04-12  Jim Meyering  <meyering@lucent.com>
121369         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
121371 2002-04-09  Jim Meyering  <meyering@lucent.com>
121373         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
121374         to be more precise.  Rather than saying we're checking whether the
121375         function `works', say what we're testing.
121376         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
121377         Reported by Bruno Haible.
121379 2002-03-10  Jim Meyering  <meyering@lucent.com>
121381         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
121382         Suggestion from Santiago Vila.
121384 2002-03-08  Jim Meyering  <meyering@lucent.com>
121386         * lib/rename.c: Mention that this wrapper is needed also on
121387         mips-dec-ultrix4.4 systems.
121389 2002-03-02  Jim Meyering  <meyering@lucent.com>
121391         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
121392         not HAVE_CLOCK_SETTIME.
121394 2002-02-27  Paul Eggert  <eggert@twinsun.com>
121396         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
121397         Check for clock_settime.
121399 2002-02-27  Paul Eggert  <eggert@twinsun.com>
121401         * lib/nanosleep.h: Rename to....
121402         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
121404         * lib/gettime.c: New file.
121405         * lib/settime.c: New file.
121406         * lib/stime.c: Remove.
121408         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
121409         timespec.h.  Remove nanosleep.h.
121411 2002-02-25  Paul Eggert  <eggert@twinsun.com>
121413         * m4/acl.m4: New file.
121414         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
121415         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
121417 2002-02-25  Paul Eggert  <eggert@twinsun.com>
121419         * lib/acl.c, lib/acl.h: New files.
121420         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
121422 2002-02-24  Jim Meyering  <meyering@lucent.com>
121424         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
121425         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
121426         cause trouble.  Reported by Nelson Beebe.
121428 2002-02-23  Paul Eggert  <eggert@twinsun.com>
121430         * lib/path-concat.c (xpath_concat): Reorder code to pacify
121431         compilers that don't know that xalloc_die never returns.
121433 2002-02-20  Jim Meyering  <meyering@lucent.com>
121435         * lib/getdate.c: Regenerate using bison-1.33.
121437 2002-02-17  Jim Meyering  <meyering@lucent.com>
121439         * config/config.guess (main): Don't use `head -1'; it's no longer
121440         portable. Use `sed 1q' instead.
121442 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
121444         * m4/codeset.m4: Upgrade to gettext-0.11.
121445         * m4/gettext.m4: Upgrade to gettext-0.11.
121446         * m4/glibc21.m4: Upgrade to gettext-0.11.
121447         * m4/iconv.m4: Upgrade to gettext-0.11.
121448         * m4/isc-posix.m4: Upgrade to gettext-0.11.
121449         * m4/lcmessage.m4: Upgrade to gettext-0.11.
121450         * m4/lib-ld.m4: New file, from gettext-0.11.
121451         * m4/lib-link.m4: New file, from gettext-0.11.
121452         * m4/lib-prefix.m4: New file, from gettext-0.11.
121453         * m4/progtest.m4: Upgrade to gettext-0.11.
121455 2002-02-15  Paul Eggert  <eggert@twinsun.com>
121457         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
121458         (jm_PREREQ): Use it.
121460 2002-02-15  Paul Eggert  <eggert@twinsun.com>
121462         * lib/posixver.c, lib/posixver.h: New files.
121463         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
121465 2002-02-02  Paul Eggert  <eggert@twinsun.com>
121466             Bruno Haible  <bruno@clisp.org>
121468         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
121469         (fwrite_success_callback): New declaration.
121470         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
121471         print_unicode_char. Call failure callback instead of error.
121472         (fwrite_success_callback): New function.
121473         (exit_failure_callback): New function.
121474         (fallback_failure_callback): New function.
121475         (print_unicode_char): Call unicode_to_mb.
121477 2002-01-26  Jim Meyering  <meyering@lucent.com>
121479         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
121480         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
121482 2002-01-26  Jim Meyering  <meyering@lucent.com>
121484         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
121486 2002-01-22  Paul Eggert  <eggert@twinsun.com>
121488         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
121490 2002-01-22  Jim Meyering  <meyering@lucent.com>
121492         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
121493         Otherwise, some versions of automake would omit the rule that makes
121494         Makefile from Makefile.in.
121496 2002-01-21  Paul Eggert  <eggert@twinsun.com>
121498         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
121499         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
121500         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
121501         (memcoll): Set errno to zero if there is no error.
121503         * lib/quotearg.c (quotearg_buffer_restyled):
121504         Fix bug with quoting buffers containing NUL when backslashing escapes.
121505         This bug was exposed by the other changes in this patch.
121506         (quotearg_n_options): New arg ARGSIZE.
121507         All callers changed.
121508         (quoting_options_from_style): New function.
121509         (quotearg_n_style): Use it.
121510         (quotearg_n_style_mem): New function.
121512         * lib/quotearg.h (quotearg_n_style_mem): New function.
121514 2002-01-19  Jim Meyering  <meyering@lucent.com>
121516         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
121517         Remove useless quotes: DF_PROG="df".
121518         * m4/strnlen.m4: New file.
121520 2002-01-16  Paul Eggert  <eggert@twinsun.com>
121522         * lib/backupfile.c (ISDIGIT): Comment fix.
121523         * lib/getdate.y (ISDIGIT): Likewise.
121524         * lib/posixtm.c (ISDIGIT, year): Likewise.
121525         * lib/strverscmp.c (ISDIGIT): Likewise.
121526         * lib/userspec.c (ISDIGIT): Likewise.
121528 2002-01-16  Jim Meyering  <meyering@lucent.com>
121530         * lib/getdate.y: Add three semicolons, each just before a closing
121531         brace. Bison (as of version 1.31) no longer papers over that mistake.
121533 2002-01-05  Jim Meyering  <meyering@lucent.com>
121535         * lib/version-etc.c (version_etc_copyright): Update copyright year.
121537 2001-12-19  Paul Eggert  <eggert@twinsun.com>
121539         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
121540         not silently exit merely because the output buffer happens to
121541         have nothing pending.
121543 2001-12-18  Paul Eggert  <eggert@twinsun.com>
121545         See the big note in ../ChangeLog.
121546         * lib/human.c (suffixes): Prefer K to k for 1024.
121547         (generate_suffix_backwards): New function.
121548         (human_readable_inexact): Use it.
121549         * lib/xstrtol.c (__xstrtol): If there is no number but there
121550         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
121551         Accept 'K' as well as 'k'.
121553 2001-12-15  Jim Meyering  <meyering@lucent.com>
121555         * lib/regex.h (__restrict_arr): Update from libc.
121557         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
121558         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
121559         (STREQ): Define.
121561 2001-12-14  Jim Meyering  <meyering@lucent.com>
121563         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
121564         Suggestion from Bruno Haible.
121566 2001-12-10  Jim Meyering  <meyering@lucent.com>
121568         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
121569         xrealloc, Instead, include "xalloc.h".
121570         (initbuffer): Don't cast xmalloc return value to char*.
121571         (readline): Reword comment.
121572         Don't cast xrealloc return value to char*
121573         Return NULL, not 0.
121575 2001-12-09  Jim Meyering  <meyering@lucent.com>
121577         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
121578         about `signed and unsigned type in conditional expression'.
121579         * lib/posixtm.c (posix_time_parse): Likewise.
121581         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
121583         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
121584         to avoid a pedantic warning.
121586         * lib/getstr.c: Don't include assert.h.
121587         (getstr): Remove warning-evoking assertions.
121588         Return -1 if offset parameter is out of bounds.
121589         Change the type of a local from int to size_t.
121591         * lib/strftime.c (my_strftime_localtime_r): Include this function
121592         definition in the `#if ! HAVE_TM_GMTOFF' block.
121594         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
121595         Include xalloc.h instead.
121597 2001-12-02  Jim Meyering  <meyering@lucent.com>
121599         * lib/tempname.c: Don't declare getenv, thus reverting the change of
121600         2001-11-18.  It's no longer necessary, now that stdlib.h is always
121601         included.
121603         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
121604         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
121606 2001-11-30  Akim Demaille  <akim@epita.fr>
121608         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
121609         before being defined.
121611 2001-11-27  Paul Eggert  <eggert@twinsun.com>
121613         * lib/quotearg.h (quotearg_n, quotearg_n_style):
121614         First arg is int, not unsigned.
121615         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
121616         (SIZE_MAX, UINT_MAX): New macros.
121617         (quotearg_n_options): Abort if N is negative.
121618         Avoid overflow check on hosts where size_t is 64 bits and int
121619         is 32 bits, as overflow is impossible there.
121620         Fix off-by-one typo that caused unnecessary reallocation.
121622 2001-11-27  Jim Meyering  <meyering@lucent.com>
121624         * lib/tempname.c: Merge with version from libc.
121625         * lib/regex.c: Likewise.
121627         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
121628         systems for which STDC_HEADERS is 0, it was not included, resulting in
121629         a warning about an integer-to-pointer conversion problem with getenv.
121630         Reported by Volker Borchert.
121632 2001-11-26  Jim Meyering  <meyering@lucent.com>
121634         * lib/gtod.h: Remove file.
121635         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
121636         * lib/gettimeofday.c: Don't include gtod.h.
121637         (GTOD_init): Remove function.
121638         (rpl_gettimeofday): Do its job here instead, rather than aborting.
121639         Suggestion from Volker Borchert.
121641 2001-11-23  Jim Meyering  <meyering@lucent.com>
121643         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
121644         it.
121645         * lib/hash.c (struct hash_table): Define it here instead.
121647 2001-11-22  Jim Meyering  <meyering@lucent.com>
121649         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
121651 2001-11-20  Jim Meyering  <meyering@lucent.com>
121653         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
121654         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
121656 2001-11-19  Jim Meyering  <meyering@lucent.com>
121658         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
121659         directory.  Use "conftestXXXXXX" as the template.
121660         Suggestion from Paul Eggert.
121662         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
121663         immediately, so the test doesn't mistakenly hit the max-open-files
121664         limit.
121666 2001-11-18  Paul Eggert  <eggert@twinsun.com>
121668         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
121669         (TEMPORARIES): New macro.
121670         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
121671         removes an artificial limitation (e.g. HP-UX 10.20, where
121672         TMP_MAX is 17576).
121674 2001-11-18  Jim Meyering  <meyering@lucent.com>
121676         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
121678 2001-11-18  Jim Meyering  <meyering@lucent.com>
121680         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
121681         on SunOS 4.
121683         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
121684         files will be created before anything else.
121686 2001-11-17  Paul Eggert  <eggert@twinsun.com>
121688         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
121689         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
121691 2001-11-17  Jim Meyering  <meyering@lucent.com>
121693         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
121694         Prompted by a report from Bob Proulx.
121696         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
121697         Instead, require UTILS_FUNC_MKSTEMP.
121699 2001-11-17  Jim Meyering  <meyering@lucent.com>
121701         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
121702         Now, that's done as part of AC_FUNC_STRTOD.
121704 2001-11-17  Jim Meyering  <meyering@lucent.com>
121706         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
121707         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
121708         rather than group writable.  Patch by Juan F. Codagnone.
121710         * lib/readtokens.c: Remove explicit declarations of xmalloc and
121711         xrealloc, Instead, include "xalloc.h".
121713         * lib/mountlist.c: Include unlocked-io.h after all system headers.
121714         Remove explicit declarations of xmalloc, xrealloc,
121715         and xstrdup.  Instead, include "xalloc.h".
121717         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
121718         unlocked-io.h.
121719         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
121720         Likewise.
121721         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
121723         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
121724         Reported by Padraig Brady.
121726         * lib/mkstemp.c: #undef mkstemp.
121727         Include config.h.
121728         (rpl_mkstemp): Rename from mkstemp.
121729         Protoize.
121731 2001-11-16  Jim Meyering  <meyering@lucent.com>
121733         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
121734         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
121735         determine the amount of total physical memory, use pstat_getstatic.
121736         HPUX-11 doesn't define _SC_PHYS_PAGES.
121737         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
121738         If sysconf couldn't be used to determine the amount of available
121739         physical memory, use both pstat_getstatic and pstat_getdynamic.
121740         Based on a patch from Bob Proulx.
121742 2001-11-10  Jim Meyering  <meyering@lucent.com>
121744         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
121745         (jm_PREREQ): Use it.
121747 2001-11-09  Jim Meyering  <meyering@lucent.com>
121749         * m4/jm-macros.m4: Require autoconf-2.52f.
121750         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
121751         Use these AC_-prefixed names, not the AM_-prefixed ones.
121753         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
121755 2001-11-05  Jim Meyering  <meyering@lucent.com>
121757         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
121759 2001-11-04  Jim Meyering  <meyering@lucent.com>
121761         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
121762         $DEFS.
121764 2001-11-03  Jim Meyering  <meyering@lucent.com>
121766         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
121767         of AC_DEFUN.
121769         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
121770         know the name of the variable in the macro definition.
121772 2001-11-03  Jim Meyering  <meyering@lucent.com>
121774         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
121775         in argmatch_to_argument call.
121777         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
121778         argument.
121780         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
121781         e.g., a fault due to an attempt to free a NULL pointer.
121783 2001-11-01  Jim Meyering  <meyering@lucent.com>
121785         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
121786         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
121788 2001-11-01  Jim Meyering  <meyering@lucent.com>
121790         * lib/dirfd.c, lib/dirfd.h: New files.
121791         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
121793         * lib/hash.c (hash_print) [TESTING]: Clean up.
121795 2001-10-22  Paul Eggert  <eggert@twinsun.com>
121797         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
121798         to avoid a warning if -Wall.
121800 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
121802         * README: New file
121803         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
121804         (per RMS's instructions, this is now the canonical source)
121805         * lgpl/, gpl/: New directories.
121807 2001-10-21  Paul Eggert  <eggert@twinsun.com>
121809         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
121811 2001-10-21  Jim Meyering  <meyering@lucent.com>
121813         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
121814         this code would end up calling gettext even in packages built
121815         with --disable-nls.
121816         * lib/getopt.c (_): Likewise.
121817         * lib/regex.c (_): Likewise.
121819 2001-10-20  Paul Eggert  <eggert@twinsun.com>
121821         * m4/error.m4 (jm_PREREQ_ERROR):
121822         Do not invoke AC_CHECK_FUNCS with strerror_r, as
121823         AC_FUNC_STRERROR_R does that.
121824         Check for strerror declaration.
121826         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
121827         are supposed to have them these days.
121828         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
121829         Merge changes from latest Autoconf CVS.
121830         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
121831         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
121832         POSIX decided to standardize on the int flavor of strerror_r.
121834 2001-10-20  Paul Eggert  <eggert@twinsun.com>
121836         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
121837         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
121838         Use strerror_r that is only a macro, even if it is not a function.
121839         (strerror): Check for HAVE_DECL_STRERROR before declaring.
121840         (private_strerror): Use prototypes, not old-style function definition.
121841         (print_errno_message): New function.
121842         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
121843         char*-flavored one.
121844         (error_tail, error, error_at_line): Use it.
121846 2001-10-11  Jim Meyering  <meyering@lucent.com>
121848         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
121849         and quote_n (1, ... to avoid clobbering a buffer.
121851 2001-10-05  Jim Meyering  <meyering@lucent.com>
121853         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
121854         hash-pjw.h.
121855         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
121856         * lib/hash-pjw.h: New file.
121858 2001-09-30  Jim Meyering  <meyering@lucent.com>
121860         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
121861         `struct fsstat' has the `f_fstypename' member.
121862         Use that to define FS_TYPE, which is now used to make
121863         the getfsstat link test tighter.
121865 2001-09-30  Jim Meyering  <meyering@lucent.com>
121867         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
121868         Include <sys/ucred.h>, for Apple Darwin.
121869         Include sys/mount.h and sys/fs_types.h only if available.
121870         (FS_TYPE): Define.
121871         (read_filesystem_list): Use FS_TYPE.
121873 2001-09-29  Paul Eggert  <eggert@twinsun.com>
121875         * lib/exclude.c (excluded_filename): 0 -> false, since it's
121876         a boolean context.
121878 2001-09-29  Jim Meyering  <meyering@lucent.com>
121880         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
121881         [one-argument getmntent function]): Include stdio.h before mntent.h.
121882         SunOS 4.1.x needs it for the declaration of `FILE'.
121883         Patch by Volker Borchert.
121885         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
121886         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
121887         sys/fs_types.h, and make the link-test for getfsstat guard #include
121888         directives with appropriate #if HAVE_*_H tests so that we can
121889         detect getfsstat on Apple Darwin1.3.7 systems.
121890         Reported by Nelson Beebe.
121891         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
121893 2001-09-28  Paul Eggert  <eggert@twinsun.com>
121895         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
121896         #defines strtoimax.  Also treat the other strto* functions
121897         like strtoimax.
121899         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
121900         Check for strtoul and strtoumax,
121901         as those declarations are made even in the signed case.
121902         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
121903         Likewise, for strtol and strtoimax.
121905 2001-09-28  Paul Eggert  <eggert@twinsun.com>
121907         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
121908         #defines strtoimax.  Also treat the other strto* functions
121909         like strtoimax.
121911         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
121912         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
121913         (strtoimax, strtoumax): Do not declare if already defined as a macro.
121915 2001-09-26  Jim Meyering  <meyering@lucent.com>
121917         Most macros in unlocked-io.h had the wrong number of arguments.
121918         * lib/gen-uio: New script.
121919         (USE_UNLOCKED_IO): Define to 1 if not already defined.
121920         * lib/unlocked-io.hin: Remove file.
121921         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
121922         rather than trying to embed it here.
121923         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
121924         Reported by Padraig Brady.
121926 2001-09-25  Volker Borchert  <bt@teknon.de>
121928         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
121929         `result'.
121931 2001-09-24  Jim Meyering  <meyering@lucent.com>
121933         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
121935 2001-09-23  Jim Meyering  <meyering@lucent.com>
121937         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
121938         instead of the mere test for existence of mntent.h.  The latter
121939         would get a false-positive on AIX 3.4 systems.
121940         In the outer getmntent if-block, don't die if neither of the getmntent
121941         tests succeeds.  Instead, just fall through and continue with the
121942         remaining tests.
121944 2001-09-23  Jim Meyering  <meyering@lucent.com>
121946         * lib/mountlist.c: Remove useless parentheses in #if directives.
121947         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
121948         the deprecated MOUNTED symbol is no longer defined in mntent.h.
121950 2001-09-22  Jim Meyering  <meyering@lucent.com>
121952         * m4/gettext.m4: New file.  From gettext.
121953         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
121954         * m4/progtest.m4: Likewise
121955         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
121956         * m4/glibc21.m4: Likewise.
121958         * m4/libintl.m4: Remove.  No longer used.
121960 2001-09-22  Jim Meyering  <meyering@lucent.com>
121962         * lib/localcharset.c: Update from latest gettext.
121963         * lib/config.charset: Likewise.
121965 2001-09-20  Jim Meyering  <meyering@lucent.com>
121967         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
121968         strtoimax.
121969         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
121970         strtoumax.
121972 2001-09-20  Jim Meyering  <meyering@lucent.com>
121974         * lib/xstrtol.c (strtoimax): Guard declaration with
121975         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
121976         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
121977         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
121978         (strtoumax): Likewise, for completeness (it wasn't necessary).
121980 2001-09-17  Paul Eggert  <eggert@twinsun.com>
121982         * lib/strtoimax.c (HAVE_LONG_LONG):
121983         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
121984         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
121985         to work around bug in IBM C compiler.
121987 2001-09-17  Jim Meyering  <meyering@lucent.com>
121989         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
121990         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
121991         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
121992         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
121993         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
121994         whenever the right hand side need not be expanded by the shell.
121996 2001-09-16  Paul Eggert  <eggert@twinsun.com>
121998         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
121999         library.  It's not correct, as some older glibcs are buggy.
122000         fnmatch wasn't fixed until glibc 2.2.
122002         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
122003         special shell magic here.
122005 2001-09-16  Jim Meyering  <meyering@lucent.com>
122007         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
122008         * m4/jm-macros.m4: Require it.
122010 2001-09-16  Jim Meyering  <meyering@lucent.com>
122012         * lib/mkdir.c: New file.
122014 2001-09-15  Jim Meyering  <meyering@lucent.com>
122016         * m4/jm-macros.m4: Check for help2man.
122018 2001-09-11  Jim Meyering  <meyering@lucent.com>
122020         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
122021         The body, by Paul Eggert, was moved here from configure.in.
122022         * m4/jm-macros.m4: Require UTILS_HOST_OS.
122024 2001-09-04  Paul Eggert  <eggert@twinsun.com>
122026         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
122027         (jm_PREREQ): Use it.
122029 2001-09-04  Paul Eggert  <eggert@twinsun.com>
122031         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
122032         Use ssize_t, not int, to store result of readlink.
122033         Check for ssize_t overflow as well as size_t overflow,
122034         as POSIX says the result of readlink is implementation-defined
122035         when ssize_t overflows.
122036         Remove unnecessary cast to char*.
122037         Use free+malloc instead of realloc, as the storage doesn't need
122038         to be preserved and it's clearer and can be more efficient that way.
122039         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
122040         * lib/xreadlink.h (xreadlink): Update prototype.
122042 2001-09-04  Paul Eggert  <eggert@twinsun.com>
122044         * lib/xgetcwd.c: Revert some of the previous change; intead,
122045         fix the HAVE_GETCWD_NULL code to behave more like the
122046         !HAVE_GETCWD_NULL code used to.
122048         Include "xalloc.h".
122049         (xgetcwd): Do not return NULL when memory is exhausted; instead,
122050         invoke xalloc_die.
122052 2001-09-03  Paul Eggert  <eggert@twinsun.com>
122054         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
122055         sys/param.h, as pathmax.h includes them.
122057 2001-09-03  Paul Eggert  <eggert@twinsun.com>
122059         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
122060         (jm_PREREQ_XGETCWD): New macro.
122062         * m4/getcwd.m4: New file.
122064 2001-09-03  Paul Eggert  <eggert@twinsun.com>
122066         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
122067         like the HAVE_GETCWD_NULL code.
122068         Include pathmax.h if not HAVE_GETCWD.
122069         Do not include xalloc.h.
122070         (INITIAL_BUFFER_SIZE): New symbol.
122071         Do not use xmalloc / xrealloc, since the caller is responsible for
122072         handling errors.  Preserve errno around `free' during failure.
122073         Do not overrun buffer when using getwd.
122075 2001-09-03  Paul Eggert  <eggert@twinsun.com>
122077         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
122078         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
122079         getcwd (NULL, 0).
122081 2001-09-03  Paul Eggert  <eggert@twinsun.com>
122083         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
122084         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
122085         spotted by Jim Meyering.
122087 2001-09-03  Jim Meyering  <meyering@lucent.com>
122089         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
122090         failure.
122092 2001-09-02  Jim Meyering  <meyering@lucent.com>
122094         * lib/error.c: Update from GNU libc.
122096 2001-09-01  Jim Meyering  <meyering@lucent.com>
122098         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
122099         Used by df.
122101 2001-09-01  Jim Meyering  <meyering@lucent.com>
122103         * lib/xreadlink.c: New file.
122104         * lib/xreadlink.h: New file.
122105         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
122106         xreadlink.h.
122108         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
122109         doesn't conflict with sparc Solaris 7's definition in
122110         /usr/include/sys/int_types.h.
122112         * lib/exclude.c: Use `""', not `<>' to #include non-system header
122113         files.
122114         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
122115         and strncasecmp as r-values.  Unixware didn't have declarations.
122117 2001-08-31  Paul Eggert  <eggert@twinsun.com>
122119         * lib/xstrtol.h: Add copyright notice.
122120         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
122121         LONGINT_INVALID_SUFFIX_CHAR.
122123 2001-08-31  Paul Eggert  <eggert@twinsun.com>
122125         * lib/xstrtol.c (strtoimax): New decl.
122127 2001-08-31  Paul Eggert  <eggert@twinsun.com>
122129         * lib/xgetcwd.c: Don't include pathmax.h.
122130         Include stdlib.h and unistd.h if available.
122131         Include xalloc.h.
122132         (xmalloc, xstrdup, free): Remove decls.
122133         (xgetcwd): Don't assume sizes fit in unsigned.
122134         Check for overflow when computing sizes.
122135         Simplify reallocation code.
122137 2001-08-31  Paul Eggert  <eggert@twinsun.com>
122139         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
122140         a directory's st_size can have an arbitrary value, so the old
122141         usage could waste an arbitrary amount of memory.  All uses
122142         changed.
122143         * lib/savedir.h: Update prototype.
122145 2001-08-31  Paul Eggert  <eggert@twinsun.com>
122147         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
122149         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
122150         old strtoimax.c.
122152         Also, make the following further changes to make this file's
122153         configuration more similar to that of strtol.c:
122154         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
122155         (strtoumax, uintmax_t, strtoull, strtol): Remove.
122156         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
122157         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
122158         changed to signed values.
122160         And make the following changes as well:
122161         Fix copyright notice, as 1999 was missing.
122162         (verify): New macro.
122163         (strtoimax): Check sizes at compile-time, not run-time.
122164         Prefer strtol to strtoll if both work.
122165         (main): Remove; it was not that useful and was a pain to maintain.
122167         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
122169 2001-08-31  Jim Meyering  <meyering@lucent.com>
122171         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
122172         Use an initial, malloc'd, buffer of length 128 rather than
122173         a statically allocated one of length 1024.
122175 2001-08-30  Paul Eggert  <eggert@twinsun.com>
122177         Simplify code, partly by assuming autoconf 2.52 semantics.
122179         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
122181         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
122182         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
122183         All uses removed.
122184         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
122185         Move AC_REQUIRE to next-to-top level, to avoid confusion.
122186         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
122187         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
122188         jm_AC_HEADER_INTTYPES_H.
122189         * m4/jm-macros.m4 (jm_MACROS): Likewise.
122191         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
122193         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
122194         Quote first arg of AC_DEFUN.
122195         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
122196         since they are needed to parse the include file even if we need
122197         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
122198         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
122199         but with opposite signedness.
122201 2001-08-30  Paul Eggert  <eggert@twinsun.com>
122203         Merge 'exclude' changes from tar 1.13.22.
122204         This fixes one or two unlikely storage allocation overflow bugs,
122205         but doesn't change user-visible behavior otherwise.
122207 2001-08-30  Paul Eggert  <eggert@twinsun.com>
122209         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
122210         (jm_PREREQ_EXCLUDE): New macro.
122212 2001-08-30  Paul Eggert  <eggert@twinsun.com>
122214         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
122215         tm to be declared.
122217 2001-08-30  Paul Eggert  <eggert@twinsun.com>
122219         * lib/hash.c: Remove '2001' from copyright notice.
122221 2001-08-30  Paul Eggert  <eggert@twinsun.com>
122223         * lib/full-write.h: New file.
122224         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
122225         * lib/full-write.c: Correct credits, as cccp.c no longer
122226         exists and anyway it was so heavily changed from the old cccp
122227         code as to be unrecognizable.  Include full-write.h.
122228         (full_write): Return size_t, with short writes meaning failure.
122229         All callers changed.  This fixes a bug with large buffers
122230         on 64-bit hosts.
122231         * lib/utime.c: Include full-write.h.
122233 2001-08-30  Paul Eggert  <eggert@twinsun.com>
122235         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
122236         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
122237         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
122238         Include if available.
122239         (<xalloc.h>): Include
122240         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
122241         (verify): New macro.  Use it to verify that EXCLUDE macros do not
122242         collide with FNM macros.
122243         (struct patopts): New struct.
122244         (struct exclude): Use it, as exclude patterns now come with options.
122245         (new_exclude): Support above changes.
122246         (new_exclude, add_exclude_file):
122247         Initial size must now be a power of two to simplify overflow checking.
122248         (free_exclude, fnmatch_no_wildcards): New function.
122249         (excluded_filename): No longer requires options arg, as the options
122250         are determined by add_exclude.  Now returns bool, not int.
122251         (excluded_filename, add_exclude):
122252         Add support for the fancy new exclusion options.
122253         (add_exclude, add_exclude_file): Now takes int options arg.
122254         Check for arithmetic overflow when computing sizes.
122255         (add_exclude_file): xrealloc might modify errno, so don't
122256         realloc until after errno might be used.
122258         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
122259         New macros.
122260         (free_exclude): New decl.
122261         (add_exclude, add_exclude_file): Now takes int options arg.
122262         (excluded_filename): No longer requires options arg, as the options
122263         are determined by add_exclude.  Now returns bool, not int.
122265 2001-08-30  Paul Eggert  <eggert@twinsun.com>
122267         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
122269 2001-08-27  Jim Meyering  <meyering@lucent.com>
122271         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
122273         * lib/version-etc.c (N_): Remove definition.
122274         Revert most of last change.
122275         Instead, simply don't mark the `Copyright...' string for translation.
122276         Based on advice from Paul Eggert.
122278         * lib/strtoxmax.c: Tweak comment.
122280 2001-08-26  Jim Meyering  <meyering@lucent.com>
122282         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
122284         * m4/xstrtoimax.m4: New file.
122285         * m4/xstrtoumax.m4: Add comments explaining why we
122286         AC_REPLACE_FUNCS(strtol).
122288 2001-08-26  Jim Meyering  <meyering@lucent.com>
122290         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
122291         of copyright with `%s' so translators don't get an untranslated
122292         message in 2002.
122293         (COPYRIGHT_YEAR): Define.
122294         (version_etc): Use fprintf rather than fputs.
122295         Suggestion from Ulrich Drepper.
122297         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
122299         * lib/strtoll.c: New file, from GNU libc.
122300         * lib/xstrtoimax.c: New file.
122302         * lib/xstrtol.h: Add xstrtoimax.
122303         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
122304         * lib/strtoimax.c: New file.  Likewise, but first define
122305         STRTOUXMAX_SIGNED.
122307         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
122308         ...
122309         * lib/strtoxmax.c: ... then renamed to this.
122311 2001-08-18  Paul Eggert  <eggert@twinsun.com>
122313         * m4/inttypes.m4: Add AC_PREREQ(2.13).
122314         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
122315         (jm_AC_TYPE_INTMAX_T): New macro.
122316         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
122318         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
122320         * m4/longlong.m4: Renamed from ulonglong.m4.
122321         * m4/inttypes.m4: Renamed from inttypes_h.m4.
122322         * m4/uintmax_t.m4: Removed.
122324 2001-08-13  Paul Eggert  <eggert@twinsun.com>
122326         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
122327         Port to Solaris 8, where 'sed' requires a space after the 'r'
122328         command, and where sh dislikes "$/".  Clean up the spacing a bit.
122329         Redirect output to $tmp just once.
122331 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
122333         * lib/addext.c (<errno.h>): Include.
122334         (errno): Declare if not defined.
122335         (addext): Work correctly when pathconf returns -1 and leaves
122336         errno alone because there is no limit.  Also, work even if
122337         pathconf returns a value greater than SIZE_MAX.
122339 2001-08-12  Jim Meyering  <meyering@lucent.com>
122341         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
122342         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
122343         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
122344         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
122345         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
122346         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
122347         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
122348         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
122349         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
122350         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
122351         utime.m4, utimes.m4, xstrtoumax.m4:
122352         Quote the first argument in each use of AC_DEFUN.
122354 2001-08-12  Jim Meyering  <meyering@lucent.com>
122356         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
122357         Simply `return getcwd (NULL, 0);'.
122358         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
122359         Use 1300 as initial value for length, not PATH_MAX.
122361         * lib/pathmax.h: Clean up cpp syntax.
122363 2001-08-12  Jim Meyering  <meyering@lucent.com>
122365         * lib/gettimeofday.c: New file.
122366         * lib/gtod.h: New file.
122367         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
122369 2001-08-05  Jim Meyering  <meyering@lucent.com>
122371         * m4/jm-macros.m4: Require autoconf-2.52.
122373 2001-08-04  Jim Meyering  <meyering@lucent.com>
122375         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
122376         stmt, to get in sync with glibc.
122378 2001-08-03  Paul Eggert  <eggert@twinsun.com>
122380         The following changes are from gettext 0.10.39 as maintained by
122381         Bruno Haible.
122383         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
122384         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
122385         with inverted sense.  All uses changed.
122387         * lib/mbswidth.c: Don't include <limits.h>.
122388         Include <stdlib.h> and <string.h> unconditionally.
122389         (iswcntrl, mbsinit, ISCNTRL): New macros.
122390         (mbsnwidth): Use K&R style function declarations.
122391         Don't bother checking for MB_LEN_MAX == 1, since the compiler
122392         can optimize it when MB_CUR_MAX == 1.
122393         The width of control characters is zero, not 1.
122395 2001-08-03  Paul Eggert  <eggert@twinsun.com>
122397         The following changes are from gettext 0.10.39 as maintained by
122398         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
122400         * m4/codeset.m4: Upgrade to serial AM1.
122401         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
122402         all uses changed.  Quote first arg of AC_DEFUN.
122403         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
122405         * m4/iconv.m4: Upgrade to serial AM2.
122406         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
122407         Add --with-libconv-prefix.
122408         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
122409         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
122410         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
122411         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
122412         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
122414         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
122415         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
122416         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
122417         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
122418         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
122419         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
122420         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
122421         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
122422         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
122424         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
122425         string.h any more.
122427         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
122428         not the default value.
122430         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
122431         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
122432         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
122433         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
122434         Also check for iswcntrl, used for wcwidth fallback.
122435         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
122436         to Autoconf 2.13.
122438 2001-08-03  Jim Meyering  <meyering@lucent.com>
122440         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
122441         as it was in the original.  Reported by Paul Eggert.
122443 2001-07-16  Jim Meyering  <meyering@lucent.com>
122445         * m4/gettimeofday.m4: New file.
122446         Prompted by a report from Bernhard Baehr.
122448 2001-07-15  Jim Meyering  <meyering@lucent.com>
122450         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
122451         stuff. Now it's in ../Makefile.cfg.
122453 2001-07-15  Jim Meyering  <meyering@lucent.com>
122455         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
122456         (BUILT_SOURCES): Add unlocked-io.h.
122457         (io_functions): Define.
122458         (unlocked-io.h): New rule.
122459         (DISTCLEANFILES): Add unlocked-io.h.
122460         (all-local): Depend on unlocked-io.h, to ensure it is created.
122462         * lib/unlocked-io.hin: New file
122464         * lib/regex.c: Update from glibc.
122466 2001-07-05  Jim Meyering  <meyering@lucent.com>
122468         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
122469         recommendation.
122470         (libfetish_a_SOURCES): Put all .h files here instead.
122471         Remove a thus-exposed (better checks in automake) duplicate and
122472         two unnecessary .h files.
122474 2001-07-04  Jim Meyering  <meyering@lucent.com>
122476         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
122477         that generates jm-glibc-io.m4 so that it doesn't trigger any make
122478         distcheck failure.
122480 2001-07-02  Jim Meyering  <meyering@lucent.com>
122482         The following changes were prompted by suggestions from Bruno Haible.
122484         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
122485         is now generated.
122486         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
122487         definition of EXTRA_DIST.
122488         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
122489         ensure that the generated file is created/updated whenever the list
122490         of $(unlocked_functions) is changed.
122491         (jm-glibc-io.m4): New rule.
122492         (unlocked-io.h): New rule -- currently unused.
122494 2001-06-24  Jim Meyering  <meyering@lucent.com>
122496         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
122497         unmatched right bracket, rather than kludging it with an extra,
122498         falsely-matching quote in a comment.  Patch by Akim Demaille.
122500 2001-06-11  Jim Meyering  <meyering@lucent.com>
122502         * lib/regex.c: Update from GNU libc.
122504 2001-05-27  Jim Meyering  <meyering@lucent.com>
122506         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
122507         Check for ut_type in struct utmp.
122509 2001-05-27  Jim Meyering  <meyering@lucent.com>
122511         * lib/readutmp.h (UT_TYPE): Define.
122513 2001-05-24  Jim Meyering  <meyering@lucent.com>
122515         * lib/argmatch.c: Include "quote.h".
122516         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
122517         quote function.  Reported by Göran Uddeborg.
122519 2001-05-22  Jim Meyering  <meyering@lucent.com>
122521         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
122522         now that we use the package-supplied version unconditionally.
122523         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
122525 2001-05-21  Jim Meyering  <meyering@lucent.com>
122527         * m4/regex.m4: Change a couple backticks to single quotes to avoid
122528         shell syntax errors.
122530 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
122532         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
122534 2001-05-20  Paul Eggert  <eggert@twinsun.com>
122536         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
122537         Don't bother to check library strftime, since
122538         we'll be using our own my_strftime function anyway.
122539         Define my_strftime instead of strftime.
122541 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
122543         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
122544         which is not yet declared.
122546 2001-05-15  Jim Meyering  <meyering@lucent.com>
122548         * m4/regex.m4: Use proper quoting so brackets appear in the test
122549         program.
122550         Reported by, and with help from, Bruno Haible.
122552 2001-05-13  Jim Meyering  <meyering@lucent.com>
122554         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
122555         undefined.
122557 2001-05-11  Paul Eggert  <eggert@twinsun.com>
122559         dirname code cleanup.  base_name now behaves more compatibly
122560         with POSIX basename when given file names that have trailing
122561         slashes, and similarly for dir_name.  Add new primitives
122562         base_len and dir_len.  Put the directory-name-related decls
122563         into dirname.h.
122565         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
122566         * lib/backupfile.c (base_name): Likewise.
122567         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
122568         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
122569         * lib/makepath.c (strip_trailing_slashes): Likewise.
122570         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
122571         ISSLASH): Likewise.
122572         * lib/rename.c (strip_trailing_slashes): Likewise.
122573         * lib/same.c (base_name): Likewise.
122574         * lib/stripslash.c (ISSLASH): Likewise.
122576         * lib/addext.c: Include <dirname.h> after size_t is defined.
122577         * lib/backupfile.c: Likewise.
122579         * lib/addext.c (addext): Use base_len to trim redundant
122580         trailing slashes instead of doing it ourselves.
122581         But do not trim the last slash if it is not redundant.
122583         * lib/backupfile.c (find_backup_file_name,
122584         max_backup_version): Use base_len instead of rolling it ourselves.
122585         Handle the case of "" and (on DOS) "C:" correctly.
122587         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
122588         needed. Include <string.h>, <dirname.h>.
122589         (base_name): Allow file names ending in slashes, other than names
122590         that are all slashes.  In this case, return the basename followed
122591         by the slashes.  This is more general, and can be used in places
122592         where the original base_name purposely had an assertion failure.
122593         (base_len): New function.
122595         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
122596         Do not include <assert.h>; no longer needed.
122597         Include xalloc.h.
122598         (memrchr): Remove decl.
122599         (dir_name_r): Remove.
122600         (dir_len): Renamed from dirlen.  All callers changed.
122601         Rewrite in terms of base_name, for simplicity and consistency.
122602         (dir_name): Never return NULL.  All callers changed.
122603         Do not include <stdlib.h> in test program; no longer needed.
122604         return 0; is fine for test program.
122606         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
122607         New macros.
122608         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
122610         * lib/path-concat.c (path_concat): Use base_len to compute
122611         base length, not strlen; this means we cannot rely on memcpy
122612         to null-terminate.
122614         * lib/same.c (STREQ): Remove.
122615         (same_name): Handle the case where the basename ends in trailing '/'.
122617         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
122618         a slash was stripped.  Do not strip the last slash after a
122619         file system prefix.
122621 2001-05-11  Paul Eggert  <eggert@twinsun.com>
122623         * lib/Makefile.am (libfetish_a_SOURCES):
122624         Add strftime.c, since we now compile it on all hosts.
122626         * lib/strftime.c (my_strftime):
122627         Define to nstrftime if emacs, but only if my_strftime is not defined.
122628         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
122629         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
122630         Add one more extra argument: a nanoseconds value.
122631         All uses changed.
122632         (ns): New macro.
122633         (my_strftime function): Add %N format.
122634         (emacs_strftimeu): Renamed from emacs_strftime,
122635         with extra ut argument.
122637 2001-05-09  Paul Eggert  <eggert@twinsun.com>
122639         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
122641 2001-04-21  Jim Meyering  <meyering@lucent.com>
122643         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
122644         doesn't interfere.
122646 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
122648         * m4/ftruncate.m4: Check for chsize.
122649         Link with ftruncate.o unconditionally if ftruncate is missing.
122650         This was required when cross-compiling to i586-mingw32msvc.
122652 2001-04-08  Jim Meyering  <meyering@lucent.com>
122654         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
122655         recomputed; that's necessary when the offset spans a DST transition.
122656         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
122658 2001-04-02  Jim Meyering  <meyering@lucent.com>
122660         * lib/regex.h, regex.c: Update from GNU libc.
122662 2001-03-24  Jim Meyering  <meyering@lucent.com>
122664         * m4/jm-macros.m4: Require autoconf-2.49d.
122666 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
122668         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
122670 2001-03-19  Paul Eggert  <eggert@twinsun.com>
122672         * lib/version-etc.c (version_etc_copyright): Update to 2001.
122674 2001-03-17  Jim Meyering  <meyering@lucent.com>
122676         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
122677         now that the version in autoconf is equivalent.
122678         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
122680         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
122681         Suggestion from Akim Demaille.
122683         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
122684         (jm_PREREQ_TEMPNAME): New function.
122686 2001-03-16  Paul Eggert  <eggert@twinsun.com>
122688         * lib/tempname.c (uint64_t): Define to uintmax_t if
122689         not defined, and if UINT64_MAX is not defined.
122690         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
122691         Reported by John David Anglin.
122693 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
122695         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
122696         resolve alias if codeset is empty.
122697         * lib/config.charset (BeOS): Use wildcard syntax.
122699 2001-03-13  Jim Meyering  <meyering@lucent.com>
122701         * lib/path-concat.c (path_concat)
122702         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
122703         concatenating e.g., `C:' and `foo'.
122704         From Bruno Haible.
122706 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
122708         * lib/localcharset.c (locale_charset): Don't use
122709         setlocale(LC_CTYPE,NULL). Don't return NULL.
122710         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
122712 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
122714         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
122715         support for DOS/DJGPP.
122717 2001-03-01  Paul Eggert  <eggert@twinsun.com>
122719         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
122720         lacks mkstemp.  Compile our own tempname.c if we compile our own
122721         mkstemp.c, as mkstemp relies on tempname.
122723 2001-03-01  Jim Meyering  <meyering@lucent.com>
122725         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
122726         AH_VERBATIM really does output its argument verbatim.
122728 2001-02-28  Paul Eggert  <eggert@twinsun.com>
122730         * lib/Makefile.am (libfetish_a_SOURCES):
122731         Add dup-safer.c, fopen-safer.c.
122732         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
122734         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
122735         * lib/unistd-safer.h: New files.
122737 2001-02-25  Paul Eggert  <eggert@twinsun.com>
122739         The mkstemp replacement is taken from glibc 2.2.2, with some
122740         portability fixes for use outside glibc, as follows:
122742         * lib/tempname.c (struct_stat64): New macro.
122743         (direxists, __gen_tempname): Use it.
122744         This avoids a portability problem with Solaris 8.
122746         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
122747         (<stddef.h>, <stdint.h>, <string.h>):
122748         Include only if STDC_HEADERS || _LIBC.
122749         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
122750         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
122751         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
122752         (__set_errno): Define this macro if <errno.h> doesn't.
122753         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
122754         Define these macros if <stdio.h> doesn't.
122755         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
122756         Define these macros if <sys/stat.h>
122757         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
122758         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
122759         __xstat64): Define if not _LIBC.
122760         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
122761         (__gen_tempname): Invoke gettimeofday only if
122762         HAVE_GETTIMEOFDAY || _LIBC;
122763         otherwise, fall back on plain "time".
122764         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
122766         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
122768         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
122770 2001-02-18  Paul Eggert  <eggert@twinsun.com>
122772         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
122774 2001-02-17  Paul Eggert  <eggert@twinsun.com>
122776         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
122777         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
122778         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
122779         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
122781 2001-02-17  Paul Eggert  <eggert@twinsun.com>
122783         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
122784         Remove workaround macros for hosts that have mbrtowc but not
122785         mbstate_t, as we now insist on proper declarations for both
122786         before using mbrtowc.
122788 2001-02-17  Jim Meyering  <meyering@lucent.com>
122790         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
122791         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
122792         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
122793         UnixWare 7.1.1.
122795         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
122796         rather than AC_CACHE_VAL.
122798 2001-02-17  Jim Meyering  <meyering@lucent.com>
122800         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
122801         around included file name.
122803         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
122805         * lib/strftime.c: Update from GNU libc (the only changes were to
122806         comments).
122808 2001-02-17  Jim Meyering  <meyering@lucent.com>
122810         * lib/regex.c: Update from libc.
122812 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
122814         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
122815         clash.
122817 2001-02-16  Paul Eggert  <eggert@twinsun.com>
122819         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
122820         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
122821         Reported by Mark Hounschell via Paul Eggert.
122823 2001-02-07  Jim Meyering  <meyering@lucent.com>
122825         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
122827 2001-02-05  Jim Meyering  <meyering@lucent.com>
122829         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
122830         it includes the patch required for `large file' support with at least
122831         HP-UX's 10.20 /bin/cc.
122833 2001-02-03  Jim Meyering  <meyering@lucent.com>
122835         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
122836         AS_IF, now that it works once again (mysteriously).
122837         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
122839 2001-01-30  Jim Meyering  <meyering@lucent.com>
122841         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
122842         * m4/chown.m4: Rename conftestchown to conftest.chown.
122843         * m4/rename.m4: s/conftestdir/conftest.d1/ and
122844         s/conftestdir2/conftest.d2/.
122845         * m4/utimes.m4: s/conftestdata/conftest.data/
122846         Inspired by Pavel Roskin's change in autoconf.
122848 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
122850         * lib/config.charset: Update for FreeBSD 4.2.
122852 2001-01-27  Jim Meyering  <meyering@lucent.com>
122854         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
122855         a use of AS_IF.
122856         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
122858 2001-01-26  Jim Meyering  <meyering@lucent.com>
122860         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
122861         quotearg.c includes it.
122863 2001-01-26  Jim Meyering  <meyering@lucent.com>
122865         * lib/quotearg.c: Include stddef.h.
122866         * lib/quote.c: Include stddef.h.
122867         Reported by Axel Kittenberger.
122869         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
122870         line in double quotes so that it evokes a better diagnostic.
122871         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
122872         Reported by Axel Kittenberger.
122874 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
122876         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
122877         as if it was a `charset'.
122879 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
122881         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
122882         has const.
122884 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
122886         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
122887         to avoid a warning.  Add back 'const' to inptr.
122889 2001-01-20  Jim Meyering  <meyering@lucent.com>
122891         Be sure that headers are checked before used in code compiled
122892         for the type checks.
122893         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
122894         In place of that, invoke jm_CHECK_ALL_TYPES.
122895         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
122896         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
122897         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
122898         The check for ssize_t was mistakenly run before the test for unistd.h.
122900         The configure-time check for stdbool.h was missing.
122901         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
122902         (jm_PREREQ_HASH): New function.
122904 2001-01-17  Jim Meyering  <meyering@lucent.com>
122906         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
122907         for autoconf-2.49c.
122908         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
122910 2001-01-16  Jim Meyering  <meyering@lucent.com>
122912         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
122913         From Bruno Haible.
122915 2001-01-14  Jim Meyering  <meyering@lucent.com>
122917         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
122918         foo and bar.  Create conftestdir/ in the script, not in the C code.
122919         Remove directories in the script, not in the C code.
122920         Remove conftestdir{,2} before trying to create the directory.
122921         Make the entire configure script fail if the mkdir fails.
122923 2001-01-14  Jim Meyering  <meyering@lucent.com>
122925         * lib/rename.c: New file.  From Volker Borchert.
122926         Include stdlib.h, string.h or strings.h, and xalloc.h.
122927         Use strip_trailing_slashes rather than open-coding it.
122929 2001-01-03  Paul Eggert  <eggert@twinsun.com>
122931         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
122933 2001-01-03  Jim Meyering  <meyering@lucent.com>
122935         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
122936         of local `inptr' to avoid warning with some system declarations of
122937         iconv.
122939 2001-01-02  Volker Borchert  <bt@teknon.de>
122941         * m4/rename.m4: New file.
122942         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
122944 2001-01-01  Jim Meyering  <meyering@lucent.com>
122946         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
122947         even on systems with utmpx.h.  It's necessary for the declaration of
122948         utmp's ut_user member.  Reported by Andreas Jaeger.
122950         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
122951         available. They are required for the declarations of getgrgid and
122952         getpwuid resp.
122953         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
122954         Reported by Andreas Jaeger.
122956 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
122958         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
122959         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
122960         so `make install' also works in VPATH builds.
122962 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
122964         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
122965         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
122966         can be used in subdirectories.
122968 2000-12-29  Paul Eggert  <eggert@twinsun.com>
122970         * lib/modechange.c: Do not assume that mode_t uses the
122971         traditional octal encoding.  E.g. "chmod 1 FOO" should set
122972         the other-execute bit of FOO even if S_IXOTH != 1.
122974         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
122975         WOTH, XOTH, ALLM): New macros.
122976         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
122977          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
122978         Use them.
122979         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
122980         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
122981         (mode_compile):
122982         No need to use uintmax_t; unsigned long is long enough.
122983         Don't bother to get suffix since we don't use it.
122985 2000-12-26  Jim Meyering  <meyering@lucent.com>
122987         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
122988         better with autoheader.
122990 2000-12-24  Jim Meyering  <meyering@lucent.com>
122992         * lib/hash.c (is_prime): Return explicit boolean values.
122993         (hash_get_first): Return NULL to appease Irix5.6's 89.
122994         Reported by Nelson Beebe.
122996 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
122998         * lib/localcharset.c (locale_charset): Add support for Win32.
123000 2000-12-18  Paul Eggert  <eggert@twinsun.com>
123002         * lib/physmem.h, lib/physmem.c: New files.
123004         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
123005         (noinst_HEADERS): Add physmem.h.
123007         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
123008         't' for compatibility with Solaris 8 sort.
123010 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
123012         * lib/config.charset: Add support for BeOS.
123014 2000-12-17  Jim Meyering  <meyering@lucent.com>
123016         * m4/dos.m4 (jm_AC_DOS): New file and macro.
123017         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
123019 2000-12-16  Jim Meyering  <meyering@lucent.com>
123021         This bug had a serious impact on chown: `chown N:M FILE' (for integer
123022         N and M) would have treated it like `chown N:N FILE'.
123024         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
123026 2000-12-16  Jim Meyering  <meyering@lucent.com>
123028         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
123029         SHELLS_FILE to a file name that's useful on djgpp systems.
123030         Include stdlib.h.
123031         (ADDITIONAL_DEFAULT_SHELLS): Define.
123032         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
123033         Based mostly on a patch from Prashant TR.
123035 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
123037         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
123038         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
123039         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
123041 2000-12-08  Andreas Schwab  <schwab@suse.de>
123043         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
123044         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
123046 2000-12-07  Jim Meyering  <meyering@lucent.com>
123048         * lib/stripslash.c (ISSLASH): Define.
123049         (strip_trailing_slashes): Use ISSLASH rather than comparing against
123050         `/'.
123051         From Prashant TR.
123053         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
123054         (dir_name_r): Declare this function as static.
123055         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
123056         manifest itself on a name containing a mix of slashes and
123057         backslashes.
123058         Make this function work with names starting with a DOS-style
123059         drive letter and colon prefix.
123060         (dir_name): Append `.' if necessary.
123061         Based mostly on patches from Prashant TR and Eli Zaretskii.
123063         * lib/dirname.h (dir_name_r): Remove prototype.
123065 2000-12-06  Paul Eggert  <eggert@twinsun.com>
123067         * m4/off_t-format.m4: Remove this file.
123068         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
123070 2000-12-06  Jim Meyering  <meyering@lucent.com>
123072         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
123073         replacement strtoull, we may well need the replacement strtoul, too.
123074         Check for declarations of strtoul and strtoull.
123075         Check for strtol.  Mainly as a cue to cause automake to include
123076         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
123077         Check for limits.h -- strtol.c needs it.
123079 2000-12-05  Jim Meyering  <meyering@lucent.com>
123081         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
123083 2000-12-04  Jim Meyering  <meyering@lucent.com>
123085         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
123086         Also include memory.h, stdlib.h, unistd.h if appropriate.
123087         Reported by Andreas Jaeger (conflicting declaration of malloc).
123089 2000-12-02  Jim Meyering  <meyering@lucent.com>
123091         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
123092         * m4/jm-macros.m4 (jm_MACROS): require it.
123094 2000-12-02  Jim Meyering  <meyering@lucent.com>
123096         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
123098 2000-12-01  Paul Eggert  <eggert@twinsun.com>
123100         * lib/memrchr.c: Include <config.h> before any system include file.
123102 2000-11-30  Jim Meyering  <meyering@lucent.com>
123104         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
123106 2000-11-30  Jim Meyering  <meyering@lucent.com>
123108         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
123110 2000-11-29  Paul Eggert  <eggert@twinsun.com>
123112         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
123114 2000-11-26  Jim Meyering  <meyering@lucent.com>
123116         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
123118 2000-11-22  Paul Eggert  <eggert@twinsun.com>
123120         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
123121         size of (size_t) -1; it's not portable.
123123 2000-11-17  Jim Meyering  <meyering@lucent.com>
123125         * lib/strstr.c: Update from GNU libc.
123127 2000-11-17  Akim Demaille  <akim@epita.fr>
123129         * lib/obstack.h: Formatting changes.
123130         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
123131         prevent type checking.
123132         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
123133         cast the value to (void *): assigning a `foo *' to a `void *'
123134         variable is valid.
123135         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
123137 2000-11-16  Jim Meyering  <meyering@lucent.com>
123139         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
123141 2000-11-11  Jim Meyering  <meyering@lucent.com>
123143         * lib/error.c: Add a couple #includes, merging from GNU libc version.
123145 2000-11-10  Jim Meyering  <meyering@lucent.com>
123147         * lib/obstack.h: Update from GNU libc.
123148         * lib/obstack.c: Likewise.
123150 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
123152         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
123154 2000-11-06  Paul Eggert  <eggert@twinsun.com>
123156         * lib/getusershell.c (setusershell): Use rewind rather than
123157         fseek/fseeko, to avoid configuration hassles with fseeko.
123158         Don't bother opening SHELLS_FILE if shellstream is NULL;
123159         it's not necessary.
123161 2000-11-05  Jim Meyering  <meyering@lucent.com>
123163         * lib/makepath.h (make_dir): Declare.
123164         * lib/makepath.c (make_dir): Remove `static' attribute.
123165         Tweak a comment.
123167 2000-11-04  Jim Meyering  <meyering@lucent.com>
123169         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
123171 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
123173         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
123174         last one in a bucket, advance to the next bucket.
123176 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
123178         * lib/fnmatch.c: Do not comment out all the code if we are using
123179         the GNU C library, because in some cases we are replacing buggy
123180         code in the GNU C library itself.
123182 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
123184         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
123185         (regex_compile): Catch bogus \(\1\).
123187 2000-10-30  Paul Eggert  <eggert@twinsun.com>
123189         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
123190         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
123191         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
123193 2000-10-30  Paul Eggert  <eggert@twinsun.com>
123195         * lib/error.h, getline.h, modechange.h:
123196         Remove "2000" from Copyright line, as the file hasn't been
123197         changed this year other than in the copyright notice.
123199         * lib/xalloc.h: Add "2000" to Copyright line, as this file
123200         was changed this year.
123202 2000-10-29  Jim Meyering  <meyering@lucent.com>
123204         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
123205         renaming.
123206         * m4/ls-mntd-fs.m4: Likewise
123208 2000-10-29  Jim Meyering  <meyering@lucent.com>
123210         * lib/xstat.in: Fix grammar in comment.
123212 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
123214         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
123215         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
123216         doesn't define __restrict_arr.
123218 2000-10-28  Jim Meyering  <meyering@lucent.com>
123220         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
123221         (jm_PREREQ_MEMCHR): New function.
123223 2000-10-28  Jim Meyering  <meyering@lucent.com>
123225         * lib/memchr.c: Update from libc.
123226         Adjust for portability:
123227         [HAVE_STDLIB_H]: Include stdlib.h.
123228         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
123229         Undef __memchr, too.
123230         [!weak_alias]: Define __memchr to memchr.
123232         * lib/regex.c: Update from libc.
123233         * lib/regex.h: Likewise.
123234         * lib/getopt1.c: Likewise.
123235         * lib/memcmp.c: Likewise.
123237         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
123238         Avoid using fseek, when possible -- it's broken by design.
123239         Patch by Ulrich Drepper.
123241 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
123243         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
123244         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
123245         Giving in to popular pressure to shut up the compiler with casts.
123247 2000-10-26  Jim Meyering  <meyering@lucent.com>
123249         * lib/strftime.c: Update from libc.
123251 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
123253         * regex.c: More `unsigned char' -> `re_char' changes.
123254         Also change several `int' into `re_wchar_t'.
123255         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
123256         (PUSH_FAILURE_POINTER): Don't cast any more.
123257         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
123258         We want GCC to complain, since this piece of code makes
123259         re_match non-reentrant, which *should* be fixed.
123260         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
123261         (EXTEND_BUFFER): Use RETALLOC.
123262         (SET_LIST_BIT): Don't cast.
123263         (re_wchar_t): New type.
123264         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
123265         that those two functions will always properly return.
123266         (IMMEDIATE_QUIT_CHECK): Cast to void.
123267         (analyse_first): Use recursion rather than an explicit stack.
123268         (re_compile_fastmap): Can't fail anymore.
123269         (re_search_2): Don't check re_compile_fastmap for failure.
123270         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
123271         Now also sets the new value (passed in a new argument).
123272         (re_match_2_internal): Use it.
123273         Also, use a new var `reg' of type size_t when looping through regs
123274         rather than reuse the inappropriate `mcnt'.
123276 2000-10-25  Jim Meyering  <meyering@lucent.com>
123278         * lib/obstack.c: Update from libc.
123280 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
123282         * regex.c (regex_compile): Change the way of handling a range from
123283         a char less than 256 to a char not less than 256.
123285 2000-10-24  Andrew Innes  <andrewi@gnu.org>
123287         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
123288         NT-Emacs only.
123289         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
123290         so that re_search functions only quit when callers expect them to.
123292 2000-10-23  Jim Meyering  <meyering@lucent.com>
123294         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
123295         wrong.  That set_locale call must not have any side effects.
123296         From Paul Eggert.
123298 2000-10-22  Jim Meyering  <meyering@lucent.com>
123300         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
123301         [CYCLIC]: Remove now-unused definition.
123303         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
123304         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
123305         Suggestion from Ulrich Drepper.
123307 2000-10-21  Jim Meyering  <meyering@lucent.com>
123309         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
123310         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
123311         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
123313 2000-10-21  Jim Meyering  <meyering@lucent.com>
123315         * lib/dirname.c (memrchr): Declare if necessary.
123316         (dir_name): Remove the restriction that there be no
123317         trailing slashes.  Now, this code skips past them, effectively
123318         ignoring them.
123319         [TEST_DIRNAME] (main): New unit tests.
123321         * lib/memrchr.c: New file from GNU libc.
123322         Undef __memrchr, too.
123323         [!weak_alias]: Define __memrchr to memrchr.
123324         Guard weak_alias use with `#ifdef weak_alias'.
123326 2000-10-21  Jim Meyering  <meyering@lucent.com>
123328         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
123329         (dir_name): Use dir_name_r.
123330         * lib/dirname.h (dir_name_r): Declare it.
123332 2000-10-17  Jim Meyering  <meyering@lucent.com>
123334         * lib/quote.h (PARAMS): Define and use.
123335         Reported by Akim Demaille.
123337         * lib/getopt.c: Update from libc.
123339 2000-10-16  Jim Meyering  <meyering@lucent.com>
123341         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
123342         setlocale.
123343         From Jan Fedak.
123345 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
123347         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
123349 2000-09-25  Jim Meyering  <meyering@lucent.com>
123351         * lib/md5.h (rol): Define (from GnuPG).
123353         * lib/sha.c: Give credit (GnuPG) where due.
123354         (M): Use rol rather than open-coding it.
123355         Add a FIXME comment.
123357 2000-09-21  Jim Meyering  <meyering@lucent.com>
123359         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
123360         Reported by Michael Stone.
123362 2000-09-20  Jim Meyering  <meyering@lucent.com>
123364         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
123365         (noinst_HEADERS): Add sha.h.
123366         Based on code from Scott G. Miller and from GnuPG.
123368 2000-09-18  Jim Meyering  <meyering@lucent.com>
123370         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
123371         LIBS. Otherwise, everyone ends up linking with -lelf for some
123372         configurations.
123373         Reported by Mike Stone.
123375 2000-09-15  Jim Meyering  <meyering@lucent.com>
123377         * lib/regex.c: Update from libc.
123379 2000-09-10  Jim Meyering  <meyering@lucent.com>
123381         * lib/getopt.c (_getopt_internal): Update from glibc.
123383 2000-09-09  Jim Meyering  <meyering@lucent.com>
123385         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
123386         think it should be used as a general replacement for isascii.
123387         * lib/fnmatch.c: Likewise.
123388         * lib/mbswidth.c: Likewise
123389         * lib/regex.c: Likewise.
123391         Don't use atoi.
123392         * lib/userspec.c: Include sys/param.h and limits.h.
123393         Include xstrtol.h.
123394         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
123395         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
123396         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
123397         UID, GID.  Check range.
123399 2000-09-06  Jim Meyering  <meyering@lucent.com>
123401         * lib/getopt.c (_getopt_internal): Update from glibc.
123403 2000-08-30  Jim Meyering  <meyering@lucent.com>
123405         * lib/strftime.c: Merge in changes from GNU libc.
123407 2000-08-26  Jim Meyering  <meyering@lucent.com>
123409         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
123410         * m4/fpending.m4: New file.
123412 2000-08-26  Jim Meyering  <meyering@lucent.com>
123414         * lib/closeout.c: Include "__fpending.h".
123415         (close_stdout_status): Return right away if there's nothing to flush.
123417         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
123418         * lib/__fpending.c: New file.
123419         * lib/__fpending.h: New file.
123421 2000-08-20  Jim Meyering  <meyering@lucent.com>
123423         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
123424         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
123425         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
123427 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
123429         Improve fileutils installation on systems where running
123430         programs (like install) can't be unlinked.
123431         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
123432         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
123434 2000-08-07  Paul Eggert  <eggert@twinsun.com>
123436         Standardize on "memory exhausted" instead of "Memory exhausted"
123437         or "virtual memory exhausted".
123438         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
123439         "virtual memory exhausted".
123440         * lib/same.c (same_name): Invoke xalloc_die instead of printing
123441         our own message.
123442         * lib/userspec.c (parse_user_spec): Likewise.
123443         * lib/bumpalloc.h: comment fix
123444         * lib/same.c, userspec.c: Include xalloc.h.
123446         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
123447         not char *const and pointing to a constant array.
123448         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
123449         (xrealloc): Comment fix.
123451         * lib/userspec.c (parse_user_spec):
123452         Don't translate a message until just before returning,
123453         to avoid unnecessary translation.
123455 2000-08-07  Jim Meyering  <meyering@lucent.com>
123457         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
123458         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
123459         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
123460         getgroups.c, gethostname.c, getopt.h, group-member.c,
123461         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
123462         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
123463         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
123464         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
123465         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
123466         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
123467         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
123468         yesno.c: Back out Copyright date changes for each file with no change
123469         this year.  This eases coordination with other programs using the same
123470         source code modules.  From Paul Eggert.
123472 2000-08-06  Paul Eggert  <eggert@twinsun.com>
123474         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
123475         not char, for compatibility with glibc 2.1.3 strftime.c.
123477 2000-08-03  Greg McGary  <greg@mcgary.org>
123479         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
123480         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
123481         (EXTEND_BUFFER): Use them.
123483 2000-08-01  Jim Meyering  <meyering@lucent.com>
123485         * lib/dirname.c (ISSLASH): Define.
123486         (BACKSLASH_IS_PATH_SEPARATOR): Define.
123487         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
123488         both `\' and `/' may be use as path separators.
123489         Based on a patch from Prashant TR.
123491 2000-07-31  Paul Eggert  <eggert@twinsun.com>
123493         * lib/quotearg.c (quotearg_n_options): Don't make the initial
123494         slot vector a constant, since it might get modified.
123496 2000-07-31  Jim Meyering  <meyering@lucent.com>
123498         * lib/xmalloc.c: Use `virtual memory exhausted', not
123499         `Memory exhausted'.
123500         * lib/obstack.c (print_and_abort): Likewise.
123502 2000-07-30  Paul Eggert  <eggert@twinsun.com>
123504         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
123505         buffer, so that the caller can always quote one small
123506         component of a "memory exhausted" message in slot 0.
123507         From a suggestion by Jim Meyering.
123509 2000-07-30  Jim Meyering  <meyering@lucent.com>
123511         * lib/makepath.c (make_path): Quote the other instance, too.
123513         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
123514         (STATIC_BUF_SIZE): Define.
123515         (quotearg_n_options): Use only statically allocated storage when
123516         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
123517         than STATIC_BUF_SIZE.
123519 2000-07-29  Jim Meyering  <meyering@lucent.com>
123521         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
123522         * lib/dirname.c (dir_name): Likewise.
123524         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
123525         `/'.
123527         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
123528         (dir_name): Assert that there are no trailing slashes.
123530 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
123532         * lib/mbswidth.h (mbswidth): Add a flags argument.
123533         (mbswidth): New declaration.
123534         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
123535         * lib/mbswidth.c (mbswidth): Add a flags argument.
123536         (mbsnwidth): New function.
123538 2000-07-24  Jim Meyering  <meyering@lucent.com>
123540         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
123542 2000-07-23  Paul Eggert  <eggert@twinsun.com>
123544         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
123546 2000-07-23  Paul Eggert  <eggert@twinsun.com>
123548         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
123549         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
123550         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
123551         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
123552         invoke multibyte primitives.
123554 2000-07-23  Paul Eggert  <eggert@twinsun.com>
123556         * lib/quotearg.c:
123557         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
123558         so that mbstate_t is always defined.
123560         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
123561         be 1 in at least one GCC installation, and this configuration
123562         error is likely to be common.  Ignoring MB_LEN_MAX hurts
123563         performance on hosts that have mbrtowc but have only unibyte
123564         locales, but I assume these hosts are rare.
123566 2000-07-23  Paul Eggert  <eggert@twinsun.com>
123568         * lib/mbswidth.c (_XOPEN_SOURCE):
123569         Don't define; this causes problems on Solaris 7.
123570         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
123572 2000-07-23  Jim Meyering  <meyering@lucent.com>
123574         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
123575         too: getgrgid, getpwuid, getuid.
123577 2000-07-23  Jim Meyering  <meyering@lucent.com>
123579         * lib/basename.c (base_name): Add an assertion.
123581 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
123583         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
123584         shadow its mbsinit function.
123586 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
123588         * lib/mbswidth.h: New file.
123589         * lib/mbswidth.c: New file.
123590         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
123591         (noinst_HEADERS): Add mbswidth.h.
123593 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
123595         * lib/config.charset: Add support for FreeBSD. Improve support for
123596         HP-UX and IRIX 6.
123598 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
123600         * m4/mbswidth.m4: New file.
123601         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
123603 2000-07-15  Jim Meyering  <meyering@lucent.com>
123605         * lib/makepath.c: Include quote.h.
123606         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
123607         corresponding argument in a `quote (...)' call.
123608         Give better diagnostics.
123610         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
123611         (noinst_HEADERS): Add quote.h.
123613         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
123614         from tar's src/misc.c.
123615         * lib/quote.h: New file.  Prototypes for same.
123617 2000-07-14  Paul Eggert  <eggert@twinsun.com>
123619         From a suggestion by Bruno Haible.
123620         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
123621         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
123622         to decide whether to define the BeOS workaround macro;
123623         this adjusts to the change to AC_MBSTATE_T.
123625 2000-07-14  Jim Meyering  <meyering@lucent.com>
123627         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
123628         jm_AC_TYPE_UINTMAX_T.
123630 2000-07-13  Paul Eggert  <eggert@twinsun.com>
123632         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
123634         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
123635         quotearg_buffer_restyled): Add support for
123636         clocale_quoting_style.  Undo previous change to
123637         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
123638         and "{RIGHT QUOTATION MARK}" msgids.
123640 2000-07-10  Paul Eggert  <eggert@twinsun.com>
123642         From a suggestion by Bruno Haible.
123643         * m4/mbstate_t.m4 (AC_MBSTATE_T):
123644         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
123645         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
123646         and mbstate_t, to a single-part test that simply defines mbstate_t.
123647         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
123648         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
123650 2000-07-10  Jim Meyering  <meyering@lucent.com>
123652         * m4/strerror_r.m4: Mirror the correction made in autoconf.
123654         * m4/gnu-source.m4: Output to confdefs.h directly.
123655         Suggestion from Akim Demaille.
123657 2000-07-09  Paul Eggert  <eggert@twinsun.com>
123659         The old behavior of quoting `like this' doesn't look good with
123660         newer, ISO-style fonts.  See:
123661         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
123663         Instead, quote "like this" by default.  Let the translator
123664         tailor the locale-specific quoting behavior by providing
123665         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
123667         * lib/quotearg.c (N_): New macro.
123668         (gettext_default): New function.
123669         (quotearg_buffer_restyled): Use
123670         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
123671         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
123673 2000-07-09  Jim Meyering  <meyering@lucent.com>
123675         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
123676         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
123678         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
123679         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
123681 2000-07-09  Jim Meyering  <meyering@lucent.com>
123683         * lib/Most files: Update copyright dates to include 2000.
123685 2000-07-08  Jim Meyering  <meyering@lucent.com>
123687         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
123688         if not defined.
123689         (xgethostname): Remove now-unnecessary #ifdef.
123690         Move declaration of `err' into loop where it's used.
123692 2000-07-05  Paul Eggert  <eggert@twinsun.com>
123693         and Bruno Haible  <haible@clisp.cons.org>
123695         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
123696         only if the test for an object-type mbstate_t fails.  This
123697         prevents us from mistakenly reporting that mbstate_t is a
123698         system object type after we "#define mbstate_t int" to work
123699         around its lack.
123701 2000-07-05  Paul Eggert  <eggert@twinsun.com>
123702         and Bruno Haible  <haible@clisp.cons.org>
123704         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
123706 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
123708         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
123709         to strerror_r.
123710         Include <ctype.h> for use of isalpha.
123712 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
123714         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
123715         by allocating a larger buffer. Test the gethostname return value for
123716         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
123717         returns an error and ENAMETOOLONG isn't defined.
123719 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
123721         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
123722         dimension.
123724 2000-07-04  Jim Meyering  <meyering@lucent.com>
123726         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
123727         of the deprecated AC_CHECKING.
123729 2000-07-04  Jim Meyering  <meyering@lucent.com>
123731         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
123732         Reported by Bruno Haible.
123734 2000-07-04  Jim Meyering  <meyering@lucent.com>
123736         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
123737         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
123738         lacks mbrtowc.
123740 2000-07-03  Paul Eggert  <eggert@twinsun.com>
123742         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
123743         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
123745 2000-07-03  Paul Eggert  <eggert@twinsun.com>
123746         and Bruno Haible  <haible@clisp.cons.org>
123748         * lib/quotearg.c (mbrtowc):
123749         Assign to *pwc, and return 1 only if result is nonzero.
123750         (iswprint): Use ISPRINT when substituting our own mbrtowc.
123752 2000-07-03  Jim Meyering  <meyering@lucent.com>
123754         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
123756 2000-07-03  Jim Meyering  <meyering@lucent.com>
123758         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
123759         This is necessary to get a definition of e.g., UTMP_FILE on
123760         HP-UX 10.20.
123761         From Bob Proulx.
123763 2000-07-02  Jim Meyering  <meyering@lucent.com>
123765         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
123767         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
123768         AC_LIBOBJ(function_name).
123769         * m4/chown.m4: Likewise.
123770         * m4/fnmatch.m4: Likewise.
123771         * m4/ftruncate.m4: Likewise.
123772         * m4/getgroups.m4: Likewise.
123773         * m4/getline.m4: Likewise.
123774         * m4/group-member.m4: Likewise.
123775         * m4/jm-macros.m4: Likewise.
123776         * m4/lstat.m4: Likewise.
123777         * m4/malloc.m4: Likewise.
123778         * m4/memcmp.m4: Likewise.
123779         * m4/nanosleep.m4: Likewise.
123780         * m4/putenv.m4: Likewise.
123781         * m4/realloc.m4: Likewise.
123782         * m4/regex.m4: Likewise.
123783         * m4/stat.m4: Likewise.
123784         * m4/strftime.m4: Likewise.
123786 2000-07-02  Jim Meyering  <meyering@lucent.com>
123788         * lib/quotearg.c (mbstate_t): Don't define here.
123790 2000-07-02  Jim Meyering  <meyering@lucent.com>
123792         * lib/nanosleep.c (SIGCONT): Define if not already defined.
123794 2000-07-01  Jim Meyering  <meyering@lucent.com>
123796         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
123798 2000-07-01  Jim Meyering  <meyering@lucent.com>
123800         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
123801         problem.
123803 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
123805         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
123806         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
123808 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
123810         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
123811         per change in ../m4/ls-mntd-fs.m4.
123812         (read_filesystem_list): Ignore symbolic links.
123814 2000-06-29  Jim Meyering  <meyering@lucent.com>
123816         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
123817         for declaration of strcmp.
123819         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
123821         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
123822         Avoid warning by casting result to `char *' to remove `const'.
123824 2000-06-28  Jim Meyering  <meyering@lucent.com>
123826         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
123827         included by quotearg.c, for which we perform this test.  From
123828         Bruno Haible.
123830 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
123832         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
123833         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
123834         <utmpx.h> exists, put readutmp.o into LIBOBJS.
123836 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
123838         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
123840 2000-06-26  Paul Eggert  <eggert@twinsun.com>
123842         savedir now sets errno on failure and invokes xmalloc to get memory.
123843         Fix a couple of other minor bugs while we're at it.
123845         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
123846         (NAMLEN): Remove macro.
123847         (malloc, realloc): Remove decls.
123848         (stpcpy): Likewise.
123849         ("xalloc.h"): Include.
123850         (NAME_SIZE_DEFAULT): New macro.
123851         (savedir): Use xmalloc / xrealloc to allocate memory.
123852         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
123853         Skip "" directory entries.
123854         Use strlen to calculate directory entry length, since the old method
123855         is rarely used these days and isn't worth supporting.
123856         Don't use a pointer after freeing it.
123857         Check for integer overflow when calculating allocation size.
123858         Use memcpy to copy entries, instead of stpcpy.
123859         Set errno properly when returning NULL.
123860         Check for readdir error.
123862 2000-06-26  Jim Meyering  <meyering@lucent.com>
123864         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
123866 2000-06-25  Jim Meyering  <meyering@lucent.com>
123868         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
123869         Linux header bug when _XOPEN_SOURCE is defined to 500.
123871 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
123873         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
123874         deficiency.
123876 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
123878         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
123879         Include xalloc.h.
123880         Don't include <stdlib.h>.  Don't declare malloc, realloc.
123882 2000-06-24  Jim Meyering  <meyering@lucent.com>
123884         * m4/strerror_r.m4: Revive this file -- to try out an experimental
123885         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
123886         for which strerror does return char*, but which lacks a conveniently
123887         accessible declaration of the function.  If the compile-test says
123888         strerror_r doesn't work, then resort to a `run'-test that works on
123889         BeOS and segfaults on DEC Unix.
123891 2000-06-24  Jim Meyering  <meyering@lucent.com>
123893         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
123895 2000-06-23  Paul Eggert  <eggert@twinsun.com>
123897         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
123898         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
123900 2000-06-23  Paul Eggert  <eggert@twinsun.com>
123902         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
123903         (mbrtowc, mbstate_t): Define substitutes if
123904         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
123905         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
123906         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
123908 2000-06-23  Jim Meyering  <meyering@lucent.com>
123910         * m4/afs.m4: Add missing AC_MSG_RESULT.
123911         Reported by Bruno Haible.
123913         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
123914         Suggestion from Bruno Haible.
123916 2000-06-23  Jim Meyering  <meyering@lucent.com>
123918         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
123920 2000-06-21  Jim Meyering  <meyering@lucent.com>
123922         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
123924 2000-06-21  Jim Meyering  <meyering@lucent.com>
123926         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
123927         (noinst_HEADERS): Add getstr.h.
123929         * lib/getline.c (getstr): Move into a separate file.
123930         * lib/getstr.c (getstr): New file, extracted from getline.c, with
123931         the following changes: new parameter, delim2; both delim[12]
123932         parameters have type `int', not `char'.  The latter would lose
123933         with 8-bit delimiters.
123934         * lib/getstr.h: New file.
123936 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
123938         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
123939         than 1024, return a memory chunk of least possible size, instead
123940         of size PATH_MAX + 2. In the loop, increment the size proportionally.
123941         Use free/xmalloc instead of xrealloc to avoid copying for very long
123942         paths.
123944 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
123946         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
123947         the empty string.
123949 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
123951         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
123952         address, not strdup.  Include <stdlib.h> and don't declare free().
123954 2000-06-19  Jim Meyering  <meyering@lucent.com>
123956         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
123958 2000-06-18  Jim Meyering  <meyering@lucent.com>
123960         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
123962         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
123963         `checking whether...' message to be consistent with that of the
123964         lstat test.
123966 2000-06-18  Jim Meyering  <meyering@lucent.com>
123968         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
123969         Besides, these days every porting target provides a mkdir function.
123971         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
123972         needed. (this snippet comes from src/system.h).
123974 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
123976         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
123978 2000-06-15  Paul Eggert  <eggert@twinsun.com>
123980         * lib/human.c (adjust_value): New function.
123981         (human_readable_inexact): Apply rounding style even when
123982         printing approximate values.
123984 2000-06-14  Paul Eggert  <eggert@twinsun.com>
123986         * lib/human.c (human_readable_inexact): Allow an input block
123987         size that is not a multiple of the output block size, and vice versa.
123988         Reported by Piergiorgio Sartor.
123990 2000-06-14  Paul Eggert  <eggert@twinsun.com>
123992         * lib/getdate.y (get_date): Apply relative times after time
123993         zone indicator, not before.  Reported by Todd A. Jacobs.
123995 2000-06-13  Jim Meyering  <meyering@lucent.com>
123997         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
123999         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
124001 2000-06-12  Paul Eggert  <eggert@twinsun.com>
124003         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
124005 2000-06-12  Jim Meyering  <meyering@lucent.com>
124007         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
124008         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
124009         optional argument.
124010         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
124011         the optional argument, `lib'.
124013 2000-06-08  Jim Meyering  <meyering@lucent.com>
124015         * m4/largefile.m4: Remove file (now that it's part of autoconf).
124017 2000-06-04  Paul Eggert  <eggert@twinsun.com>
124019         Rewrite largefile configuration so that we don't need to run
124020         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
124021         AC_CANONICAL_HOST in configure.in -- jmm]
124023         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
124024         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
124025         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
124026         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
124027         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
124028         All uses changed.
124029         Instead of inspecting the output of getconf, try to compile the
124030         test program without and with the macro definition.
124031         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
124032         for getconf.  Instead, check for the needed flags by compiling
124033         test programs.
124035 2000-06-04  Paul Eggert  <eggert@twinsun.com>
124037         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
124039 2000-06-04  Jim Meyering  <meyering@lucent.com>
124041         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
124042         SunOS 4.1.4 for which gid_t is an unsigned type.
124044 2000-06-03  Jim Meyering  <meyering@lucent.com>
124046         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
124047         now that autoconf requires that.
124049         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
124050         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
124051         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
124053 2000-06-03  Jim Meyering  <meyering@lucent.com>
124055         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
124057 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
124059         * m4/glibc21.m4: New file.
124060         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
124062 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
124064         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
124065         newer, don't install charset.alias.
124066         * lib/config.charset: Change the Linux/glibc rules so they become empty
124067         on glibc-2.1 or newer.
124069 2000-06-02  Jim Meyering  <meyering@lucent.com>
124071         * lib/mountlist.c: Back out last change.  Instead, do this...
124072         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
124073         me_dummy member using the same `ignore'-testing code.
124074         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
124075         fs_type strings.
124076         From Mark D. Roth.
124078 2000-05-29  Jim Meyering  <meyering@lucent.com>
124080         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
124081         mounts with the `ignore' attribute.  Based on a patch from
124082         Mark D. Roth.
124084 2000-05-28  Jim Meyering  <meyering@lucent.com>
124086         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
124087         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
124088         * m4/stat.m4: Likewise.
124089         * m4/lstat.m4: Likewise.
124090         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
124092         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
124093         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
124095 2000-05-26  Jim Meyering  <meyering@lucent.com>
124097         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
124099 2000-05-24  Jim Meyering  <meyering@lucent.com>
124101         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
124102         autoconf requires that.
124103         * m4/lib-check.m4: Likewise.
124104         * m4/jm-macros.m4: Likewise.
124105         * m4/strftime.m4: Likewise.
124107         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
124108         AC_CHECK_DECLS, now that autoconf requires that.
124110 2000-05-22  Jim Meyering  <meyering@lucent.com>
124112         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
124113         * m4/lstat.m4: Likewise.
124115 2000-05-22  Jim Meyering  <meyering@lucent.com>
124117         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
124119 2000-05-20  Jim Meyering  <meyering@lucent.com>
124121         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
124122         (jm_PREREQ): Use it.
124124 2000-05-18  Jim Meyering  <meyering@lucent.com>
124126         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
124127         back, too, since it may have been modified by allocate_entry.
124128         (hash_delete): Rewrite to use neither the assignment operator
124129         nor the comma operator in an if-expression.
124131 2000-05-15  Paul Eggert  <eggert@twinsun.com>
124133         * lib/closeout.c:
124134         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
124135         Remove; no longer needed.
124136         "quotearg.h": Add include.
124137         (file_name): Do not bother to explicitly initialize to NULL; it's less
124138         efficient on some hosts.
124139         (close_stdout_status): Remove test as to whether stdout was already
124140         closed; it breaks for the case "echo x | sort >&-".
124141         Quote file name colons.
124142         Do not assume that _("write error") lacks format strings.
124144 2000-05-15  Jim Meyering  <meyering@lucent.com>
124146         * lib/version-etc.c (version_etc_copyright): Update the copyright
124147         string used in all --version output.
124149 2000-05-14  Jim Meyering  <meyering@lucent.com>
124151         * lib/closeout.c (close_stdout_set_file_name): New function.
124152         (close_stdout_status): Use new file-scoped global.
124153         Return right away if fstat says the stdout file descriptor is invalid.
124154         * lib/closeout.h (close_stdout_set_file_name): Declare.
124156 2000-05-10  Jim Meyering  <meyering@lucent.com>
124158         * lib/closeout.c [default_exit_status]: New file-scoped variable.
124159         (close_stdout_set_status): New function.
124160         * lib/closeout.h (close_stdout_set_status): Declare.
124162 2000-05-09  Jim Meyering  <meyering@lucent.com>
124164         * m4/gettext.m4: Rename this...
124165         * m4/libintl.m4: ...to this.
124167 2000-05-08  Jim Meyering  <meyering@lucent.com>
124169         * lib/long-options.c: Don't include closeout.h.
124170         (parse_long_options): Don't call close_stdout for --version.
124172 2000-05-06  Paul Eggert  <eggert@twinsun.com>
124174         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
124175         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
124176         2.1.3 bug.  This avoids a clash when files like regex.c define
124177         _GNU_SOURCE.
124179 2000-05-06  Jim Meyering  <meyering@lucent.com>
124181         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
124182         (AC_REPLACE_FUNCS): Add strnlen.
124184         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
124185         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
124187         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
124188         AC_SEARCH_LIBS call for nanosleep.
124189         (LIB_NANOSLEEP): Set and AC_SUBST.
124191 2000-05-06  Jim Meyering  <meyering@lucent.com>
124193         * lib/strnlen.c: Undefine __strnlen and strnlen.
124194         [!weak_alias]: Define __strnlen to strnlen.
124196         * lib/atexit.c: New file, from libiberty.
124198 2000-05-06  Jim Meyering  <meyering@lucent.com>
124200         * lib/closeout.c (close_stdout_status): Also check for errors on the
124201         stderr stream.
124203 2000-05-05  Jim Meyering  <meyering@lucent.com>
124205         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
124206         AC_SEARCH_LIBS call for clock_gettime.
124207         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
124209         * m4/search-libs.m4: Update from autoconf.
124211         su doesn't work on Solaris 2.6.
124212         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
124213         <shadow.h>.  Reported by Dragos Harabor.
124215 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
124217         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
124218         memcpy instead of xmalloc, xrealloc, path_concat.
124219         (locale_charset): Treat empty environment variables as absent.
124220         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
124222 2000-05-04  Jim Meyering  <meyering@lucent.com>
124224         * lib/getopt.c: Update from glibc.
124225         * lib/obstack.c: Likewise.
124226         * lib/obstack.h: Likewise.
124227         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
124228         file
124230         * lib/regex.h: Likewise.
124231         * lib/strndup.c: Likewise.
124232         * lib/strnlen.c: New file, from glibc.
124234 2000-05-03  Jim Meyering  <meyering@lucent.com>
124236         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
124238 2000-05-02  Paul Eggert  <eggert@twinsun.com>
124240         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
124241         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
124242         compile-time test, rather than inspecting host and OS, to
124243         decide whether to define _LARGEFILE_SOURCE.
124245 2000-05-01  Jim Meyering  <meyering@lucent.com>
124247         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
124249         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
124250         Based on a patch from Bruno Haible.
124252 2000-05-01  Jim Meyering  <meyering@lucent.com>
124254         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
124256 2000-04-29  Jim Meyering  <meyering@lucent.com>
124258         * lib/path-concat.c: Declare strdup only if it's not defined.
124259         * lib/canon-host.c: Likewise.
124261 2000-04-28  Jim Meyering  <meyering@lucent.com>
124263         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
124264         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
124265         is included first, then limits.h is included by locale.h by libintl.h.
124266         From John David Anglin.
124268 2000-04-25  Jim Meyering  <meyering@lucent.com>
124270         * lib/makepath.c (S_IRWXUGO): Define.
124271         (make_path): Always perform explicit chmod if MODE specifies any
124272         of the `special' permission bits.  Prompted by a bug report against
124273         install from Mate Wierdl and Joost van Baal.
124275 2000-04-18  Jim Meyering  <meyering@lucent.com>
124277         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
124278         (jm_PREREQ): Use it.
124280 2000-04-18  Jim Meyering  <meyering@lucent.com>
124282         * lib/README: New file.
124284         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
124285         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
124287 2000-04-17  Jim Meyering  <meyering@lucent.com>
124289         Get it right :-)
124290         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
124291         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
124292         Suggestion from Akim Demaille.
124294 2000-04-17  Jim Meyering  <meyering@lucent.com>
124296         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
124297         the definition of it to rpl_strftime also defined-away the system's
124298         declaration.
124300 2000-04-15  Jim Meyering  <meyering@lucent.com>
124302         Use `C' to denote so-called `contiguous' files, the same way
124303         that tar does.
124304         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
124305         (ftypelet): Use S_ISCTG.
124306         From Michael Deutschmann.
124308 2000-04-14  Jim Meyering  <meyering@lucent.com>
124310         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
124311         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
124312         clobbered.
124314 2000-04-14  Jim Meyering  <meyering@lucent.com>
124316         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
124318 2000-04-13  Jim Meyering  <meyering@lucent.com>
124320         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
124321         AH_VERBATIM to insert required #ifndef into config.h.in.
124322         Suggestion from Akim Demaille.
124324 2000-04-12  Jim Meyering  <meyering@lucent.com>
124326         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
124327         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
124328         Christian Krackowizer.
124330         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
124331         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
124332         (AC_SYS_LARGEFILE): Require.
124333         (AM_C_PROTOTYPES): Require.
124335 2000-04-08  Jim Meyering  <meyering@lucent.com>
124337         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
124338         names don't conflict.  Reported by Eli Zaretskii.
124340 2000-04-07  Jim Meyering  <meyering@lucent.com>
124342         * lib/putenv.c: Move inclusion of errno.h so it follows that of
124343         sys/types.h, to work around system header problems on AIX 3.2.5.
124344         From Bruno Haible.
124346 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
124348         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
124349         bug.  Deal with the different error behavior of Irix iconv.
124351 2000-04-05  Paul Eggert  <eggert@twinsun.com>
124353         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
124354         IRIX if the installer said otherwise.
124356 2000-04-05  Jim Meyering  <meyering@lucent.com>
124358         Portability tweaks required for ultrix4.3.
124359         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
124360         (jm_CHECK_DECLS): Add getutent to the list of functions.
124361         (_jm_DECL_HEADERS): Add utmpx.h.
124362         From John David Anglin.
124364         * m4/strftime.m4: Back out the 2000-04-02 change.
124365         Instead of that change, simply undefine putenv in the test program.
124367 2000-04-05  Jim Meyering  <meyering@lucent.com>
124369         Portability tweaks required for ultrix4.3.
124370         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
124371         getutent.
124372         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
124373         * lib/canon-host.c: Declare strdup.
124374         * lib/path-concat.c: Likewise.
124375         From John David Anglin.
124377 2000-04-04  Jim Meyering  <meyering@lucent.com>
124379         Be more DOS 8.3-friendly.
124380         * lib/ref-add.sin: Renamed from ref-add.sed.in.
124381         * lib/ref-del.sin: Renamed from ref-del.sed.in.
124382         * lib/Makefile.am: Reflect renaming.
124383         Reported by Eli Zaretskii.
124385         Use a temporary file name that won't clash with `charset.alias'
124386         in the DOS 8.3 name space.
124387         * lib/Makefile.am (charset_tmp): Define.
124388         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
124389         (uninstall-local): Likewise.
124390         Reported by Eli Zaretskii.
124392 2000-04-03  Jim Meyering  <meyering@lucent.com>
124394         * m4/gettext.m4: Fix typo in comment.
124396         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
124397         textutils/configure.in).  Suggestion from Paul Eggert.
124398         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
124400 2000-04-02  Paul Eggert  <eggert@twinsun.com>
124402         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
124403         variable in the shell rather than using putenv, which isn't
124404         portable.  This avoids the configure-time inter-test dependency
124405         on the potentially-renamed putenv function.
124407 2000-03-30  Paul Eggert  <eggert@twinsun.com>
124409         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
124410         before checking struct stat.st_blksize, so that
124411         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
124413 2000-03-29  Paul Eggert  <eggert@twinsun.com>
124415         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
124416         since strftime.c uses HAVE_STRFTIME to decide whether to use
124417         the underlying strftime.
124419 2000-03-29  Paul Eggert  <eggert@twinsun.com>
124421         * lib/time/strftime.c (my_strftime): Make sure we call the system
124422         strftime, not ourselves, when invoking the underlying strftime.
124424 2000-03-24  Jim Meyering  <meyering@lucent.com>
124426         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
124427         (charset_alias): Define.
124428         (install-exec-local): Factor out common code.
124429         (uninstall-local): Split lines longer than 80.
124430         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
124431         (SUFFIXES): Define.
124432         (.sed.in.sed): New rule.  Don't redirect directly to $@.
124433         (CLEANFILES): Add ref-add.sed and ref-del.sed.
124435 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
124437         * lib/config.charset: Output a line containing "Packages using this
124438         file".
124439         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
124440         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
124441         ref-del.sed): New rules.
124443 2000-03-17  Jim Meyering  <meyering@lucent.com>
124445         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
124446         Otherwise, include <strings.h>
124448 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
124450         * lib/unicodeio.c (utf8_wctomb): New function.
124451         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
124452         format instead of in UCS-4 with platform dependent endianness.
124454 2000-03-10  Jim Meyering  <meyering@lucent.com>
124456         * m4/lib-check.m4: Look for getspnam in -lgen, too.
124457         From Marco Franzen.
124459 2000-03-07  Paul Eggert  <eggert@twinsun.com>
124461         * lib/savedir.c (savedir): Work even if directory size is
124462         negative; this can happen with some screwy NFS configurations.
124464 2000-03-06  Jim Meyering  <meyering@lucent.com>
124466         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
124467         if it's NULL (because we ran out of memory).  From Bruno Haible.
124469 2000-03-05  Jim Meyering  <meyering@lucent.com>
124471         * lib/localcharset.c ("path-concat.h"): Include.
124472         (get_charset_aliases): Use path_concat instead of ANSI string
124473         concatenation.
124475         * lib/unicodeio.h (PARAMS): Define.
124476         Use it to guard prototype.
124478 2000-03-04  Jim Meyering  <meyering@lucent.com>
124480         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
124481         for lib/localcharset.c.
124483 2000-03-04  Jim Meyering  <meyering@lucent.com>
124485         * lib/Makefile.am (install-exec-local): Create $(libdir) before
124486         installing into it.
124487         (uninstall-local): Uncomment this rule so `make distcheck' works
124488         once again.
124490         * lib/unicodeio.c (<errno.h>): Include it.
124491         (errno): Declare if not defined.
124493         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
124495         * lib/config.charset: New version, incorporating remarks from a linux
124496         i18n mailing list.  From Bruno Haible.
124498 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
124500         * m4/codeset.m4: New file.
124501         * m4/iconv.m4: New file.
124502         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
124504 2000-03-03  Jim Meyering  <meyering@lucent.com>
124506         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
124508 2000-03-02  Jim Meyering  <meyering@lucent.com>
124510         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
124511         the messages come out on separate lines.
124513         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
124514         rather than jm_CHECK_DECLARATIONS.
124515         * m4/decl.m4: Remove now-unused file.
124517         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
124518         geteuid.
124520 2000-03-02  Jim Meyering  <meyering@lucent.com>
124522         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
124524 2000-03-01  Jim Meyering  <meyering@lucent.com>
124526         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
124527         * lib/unicodeio.c: Likewise.
124529 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
124531         * lib/config.charset: New file.
124532         * lib/localcharset.c: New file.
124533         * lib/unicodeio.h, lib/unicodeio.c: New files.
124534         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
124535         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
124536         (noinst_HEADERS): Add unicodeio.h.
124537         (all-local, install-exec-local, charset.alias): New targets.
124539 2000-02-28  Paul Eggert  <eggert@twinsun.com>
124541         * lib/quotearg.c (ALERT_CHAR): New macro.
124542         (quotearg_buffer_restyled): Use it.
124544 2000-02-27  Jim Meyering  <meyering@lucent.com>
124546         * m4/check-decl.m4: Add getenv to the list.
124548 2000-02-27  Jim Meyering  <meyering@lucent.com>
124550         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
124551         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
124553         * lib/backupfile.c: Guard inclusion of stdlib.h with
124554         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
124555         Declare malloc if needed.
124557         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
124558         `#ifndef HAVE_DECL..'
124559         now that autoconf always defines the HAVE_DECL_ symbols.
124560         * lib/human.c: Likewise.
124561         * lib/same.c: Likewise.
124562         * lib/strtoumax.c: Likewise.
124564         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
124565         declaration check was not run.
124566         * lib/hash.c: Likewise.
124567         * lib/human.c: Likewise.
124568         * lib/same.c: Likewise.
124569         * lib/strtoumax.c: Likewise.
124571         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
124572         `.', then first look up the entire `.'-containing string as a login
124573         name.
124575 2000-02-23  Jim Meyering  <meyering@lucent.com>
124577         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
124578         in place of my hack.
124580 2000-02-18  Paul Eggert  <eggert@twinsun.com>
124582         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
124583         (textint): New typedef.
124584         (parser_control): Member year changed from int to textint.
124585         All uses changed.
124586         (YYSTYPE): Removed; replaced by %union with int and textint members.
124587         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
124588         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
124589         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
124590         (tSNUMBER, tUNUMBER): Now of type <textintval>.
124591         (date, number, to_year): Use width of number in digits, not its value,
124592         to determine whether it's a 2-digit year, or a 2-digit time.
124593         (yylex): Store number of digits of numeric tokens.
124594         Reported by John Kendall.
124596         (parser_control): Changed from struct parser_control to typedef (for
124597         consistency).  All uses changed.
124599         (tID): Removed; not used.
124600         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
124602 2000-02-14  Paul Eggert  <eggert@twinsun.com>
124604         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
124605         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
124607 2000-02-12  Jim Meyering  <meyering@lucent.com>
124609         * lib/userspec.c (ISDIGIT): Define it.
124610         (isdigit): Remove definition.
124611         (is_number): Use ISDIGIT, not isdigit.
124612         <libintl.h>: Include.
124613         (_ and N_): Define.
124614         (parse_user_spec): Mark translatable strings.
124616 2000-02-10  Jim Meyering  <meyering@lucent.com>
124618         With these changes, nanosleep.[ch] are finally enough like the other
124619         lib/* replacement files to compile on a few more losing systems.
124621         * lib/nanosleep.h: Don't include config.h.
124622         Remove prototype from declaration of nanosleep.
124623         (PARAMS): Remove now-unneeded definition.
124624         * lib/nanosleep.c: #undef nanosleep.
124625         (rpl_nanosleep): Rename from nanosleep.
124627 2000-02-10  Jim Meyering  <meyering@lucent.com>
124629         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
124630         gnu_nanosleep to rpl_nanosleep.
124632 2000-02-09  Jim Meyering  <meyering@lucent.com>
124634         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
124635         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
124637 2000-02-08  Akim Demaille  <akim@epita.fr>
124639         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
124640         `[' and `]' and remove uses of `changequote'.
124641         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
124642         (AC_SYS_LARGEFILE): Likewise.
124643         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
124644         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
124645         of changequote.
124646         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
124647         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
124648         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
124649         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
124651 2000-02-05  Jim Meyering  <meyering@lucent.com>
124653         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
124654         Remove explicit use of AC_HEADER_TIME.  It is required by
124655         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
124656         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
124657         in autoconf whereby the expansion of the latter ended up preceding
124658         the expansion of its prerequisite, AC_HEADER_TIME.
124659         Reported by Volker Borchert.
124661 2000-02-03  Jim Meyering  <meyering@lucent.com>
124663         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
124665 2000-02-03  Jim Meyering  <meyering@lucent.com>
124667         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
124668         rather than with `#if HAVE_UTMPNAME'.
124670 2000-02-02  Jim Meyering  <meyering@lucent.com>
124672         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
124673         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
124674         Reported by Eli Zaretskii.
124676 2000-02-01  Jim Meyering  <meyering@lucent.com>
124678         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
124680 2000-01-31  Jim Meyering  <meyering@lucent.com>
124682         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
124683         functions.  Add the time.h and sys/time.h headers along with the
124684         AC_REQUIRE'ment of AC_HEADER_TIME.
124686 2000-01-31  Jim Meyering  <meyering@lucent.com>
124688         * lib/nanosleep.h (nanosleep): Guard declaration with
124689         `#if ! HAVE_DECL_NANOSLEEP'.
124690         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
124691         the declaration in that vendor's sys/timers.h.
124692         Reported by Christian Krackowizer.
124694         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
124695         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
124696         (ISPRINT): Likewise.
124697         Reported by Tom Tromey.
124699 2000-01-30  Jim Meyering  <meyering@lucent.com>
124701         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
124703         * m4/prereq.m4 (utmp_includes): Define.
124704         Check for ut_user and ut_name members in both struct utmpx
124705         and struct utmp.
124707 2000-01-30  Jim Meyering  <meyering@lucent.com>
124709         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
124710         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
124711         header files where only utmpx.ut_user is declared.
124713         * lib/readutmp.h (UT_USER): Define.
124715 2000-01-29  Jim Meyering  <meyering@lucent.com>
124717         * m4/lib-check.m4: New file containing library-related checks from
124718         fileutils and sh-utils (textutils had none).
124720 2000-01-28  Jim Meyering  <meyering@lucent.com>
124722         * m4/perl.m4: Change format of warning message to look more like that
124723         from the missing script.  Suggestion from François Pinard.
124725 2000-01-25  Jim Meyering  <meyering@lucent.com>
124727         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
124728         well as time.h in the compile check.
124729         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
124730         Fix typo in cross-compiling case: s/yes/no/.
124732 2000-01-23  Jim Meyering  <meyering@lucent.com>
124734         * m4/jm-macros.m4: Move df-related tests here from
124735         fileutils/configure.in
124737         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
124738         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
124740         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
124741         s/space/ac_fsusage_space/.
124742         (jm_FILE_SYSTEM_USAGE): Take two parameters.
124744         * m4/ftruncate.m4: New file (derived from part of
124745         fileutils/configure.in).
124746         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
124747         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
124749         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
124750         AC_SUBST these here, rather than just in sh-util/configure.in, so
124751         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
124752         all the same.
124753         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
124754         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
124755         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
124756         (AC_SUBST(POW_LIBM)): Likewise.
124757         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
124759 2000-01-23  Jim Meyering  <meyering@lucent.com>
124761         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
124762         obstack.c.
124764 2000-01-22  Jim Meyering  <meyering@lucent.com>
124766         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
124768         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
124770         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
124771         configure.in
124772         (AC_CHECK_HEADERS): Likewise for sh-utils.
124773         (AC_CHECK_HEADERS): Likewise for textutils.
124774         Merge the three lists of headers.
124776         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
124777         from fileutils' configure.in.
124779         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
124780         code. Moved tests into their own function (_jm_DECL_HEADERS) in
124781         check-decl.m4.
124783         * m4/check-decl.m4: Use #if rather than #ifdef.
124784         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
124785         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
124786         (_jm_DECL_HEADERS): Define new function.
124787         (jm_CHECK_DECLARATIONS): Require it.
124789 2000-01-22  Jim Meyering  <meyering@lucent.com>
124791         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
124792         [! HAVE_DECL_STRTOULL]: Declare strtoull.
124793         Required for some AIX systems.  Reported by Christian Krackowizer.
124794         [TESTING] (main): New function.
124796         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
124797         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
124798         letters.
124800         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
124801         iswprint.
124803         * lib/strverscmp.c (ISDIGIT): Define.
124804         (strverscmp): Use ISDIGIT, not isdigit.
124806 2000-01-19  Jim Meyering  <meyering@lucent.com>
124808         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
124809         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
124810         defines `struct timespec' in <sys/time.h>
124812         * m4/c-bs-a.m4: Remove uses of changequote altogether.
124813         Thanks to Akim for explaining.
124815 2000-01-17  Paul Eggert  <eggert@twinsun.com>
124817         * lib/nanosleep.c (nanosleep):
124818         Don't use SA_INTERRUPT to decide whether to call sigaction, as
124819         POSIX.1 doesn't require SA_INTERRUPT and some systems
124820         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
124821         it's been part of POSIX.1 since day 1 (in 1988).
124823 2000-01-17  Jim Meyering  <meyering@lucent.com>
124825         * lib/interlock: Remove unused file.  Reported by François Pinard.
124827 2000-01-16  Paul Eggert  <eggert@twinsun.com>
124829         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
124830         alert, backslash, formfeed, and vertical tab unnecessarily in
124831         shell quoting style.
124833 2000-01-16  Jim Meyering  <meyering@lucent.com>
124835         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
124836         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
124837         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
124838         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
124840 2000-01-16  Jim Meyering  <meyering@lucent.com>
124842         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
124843         because the latter didn't work.
124845 2000-01-15  Jim Meyering  <meyering@lucent.com>
124847         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
124848         (AC_REPLACE_FUNCS): Add memcpy and memset.
124849         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
124850         Add strpbrk.
124851         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
124853 2000-01-12  Jim Meyering  <meyering@lucent.com>
124855         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
124856         (jm_PREREQ): Use it.
124857         (jm_PREREQ_READUTMP): New macro.
124858         (jm_PREREQ): Use it.
124860 2000-01-11  Paul Eggert  <eggert@twinsun.com>
124862         Quote multibyte characters correctly.
124863         * m4/c-bs-a.m4: New file.
124864         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
124865         (jm_PREREQ): Use it.
124867 2000-01-11  Paul Eggert  <eggert@twinsun.com>
124869         * m4/uintmax_t.m4: Port to autoconf 2.13.
124871 2000-01-08  Jim Meyering  <meyering@ascend.com>
124873         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
124874         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
124876 2000-01-04  Jim Meyering  <meyering@ascend.com>
124878         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
124879         jm_STRUCT_DIRENT_D_TYPE.
124880         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
124881         jm_STRUCT_DIRENT_D_INO.
124882         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
124883         jm_STRUCT_UTIMBUF.
124884         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
124885         renamings.
124886         * m4/utime.m4: Likewise.
124888         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
124889         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
124891 2000-01-03  Paul Eggert  <eggert@twinsun.com>
124893         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
124894         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
124896 2000-01-02  Jim Meyering  <meyering@ascend.com>
124898         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
124899         remember if this is necessary.
124901 1999-12-26  Jim Meyering  <meyering@ascend.com>
124903         * m4/jm-macros.m4: Use it here.
124904         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
124906 1999-12-23  Jim Meyering  <meyering@ascend.com>
124908         * m4/jm-macros.m4: Check for clock_gettime (moved from
124909         fileutils/configure.in)
124910         Check for gettimeofday.
124912 1999-12-20  Jim Meyering  <meyering@ascend.com>
124914         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
124915         autoconf-2.14a-1999-12-20.
124917 1999-12-19  Jim Meyering  <meyering@ascend.com>
124919         * m4/lstat-slash.m4: New file.
124920         * m4/jm-macros.m4: Use the new macro:
124921         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
124923 1999-12-07  Jim Meyering  <meyering@ascend.com>
124925         * m4/perl.m4: Require that File::Compare be available, too.
124926         Too many systems seem to lack it.
124928         * m4/strftime.m4: Add checks for most of the cpp macros tested in
124929         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
124931 1999-11-18  Paul Eggert  <eggert@twinsun.com>
124933         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
124934         problem with the QNX 4.25 shell, which doesn't propagate exit
124935         status of failed commands inside shell assignments.
124937 1999-11-17  Jim Meyering  <meyering@ascend.com>
124939         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
124941 1999-11-07  Jim Meyering  <meyering@ascend.com>
124943         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
124945 1999-11-06  Jim Meyering  <meyering@ascend.com>
124947         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
124948         * m4/jm-macros.m4 (jm_MACROS): Use it here.
124950 1999-11-05  Jim Meyering  <meyering@ascend.com>
124952         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
124953         configure.in of textutils, fileutils, and sh-utils into this one
124954         (shared between those packages) file.
124955         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
124956         AC_STRUCT_ST_BLKSIZE.
124958 1999-11-03  Jim Meyering  <meyering@ascend.com>
124960         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
124961         of AC_CHECK_TYPE checks includes unistd.h.
124962         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
124963         Suggestion from Akim Demaille.
124965 1999-10-30  Jim Meyering  <meyering@ascend.com>
124967         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
124968         m4-quoted string.
124969         * m4/ls-mntd-fs.m4: Likewise.
124970         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
124971         * m4/jm-winsz1.m4: Likewise.
124973         * m4/const.m4: Remove file, since the fix made it into the experimental
124974         version of autoconf.
124975         * m4/mktime.m4: Likewise.
124977         * m4/check-type.m4: Remove file, now that the latest version of
124978         AC_CHECK_TYPE takes a third arg to specify additional #includes.
124980         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
124981         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
124982         AC_CHECK_TYPE.
124984 1999-10-04  Jim Meyering  <meyering@ascend.com>
124986         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
124988 1999-09-22  Paul Eggert  <eggert@twinsun.com>
124990         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
124991         2.95.1 bug with HP-UX 10.20.
124993 1999-09-17  Jim Meyering  <meyering@ascend.com>
124995         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
124996         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
124997         due to missing strdup (against sh-utils-2.0).
124999 1999-08-29  Jim Meyering  <meyering@ascend.com>
125001         * m4/jm-macros.m4: Require jm_BISON.
125002         * m4/bison.m4: New file.
125004 1999-08-17  Paul Eggert  <eggert@twinsun.com>
125006         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
125007         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
125009 1999-08-05  Jim Meyering  <meyering@ascend.com>
125011         * m4/getline.m4: Rename test file from conftestdata to conftest.data
125012         to avoid conflicts with `conftest' on 8+3 filesystems.
125013         Suggestion from Eli Zaretskii.
125015 1999-08-04  Jim Meyering  <meyering@ascend.com>
125017         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
125018         fileutils and sh-utils (textutils's getline test was inadequate).
125019         (AM_FUNC_GETLINE): Run this test.
125020         (AC_CHECK_FUNCS): Check for getdelim.
125021         Reported by Bob Proulx.
125023 1999-08-02  Jim Meyering  <meyering@ascend.com>
125025         * m4/jm-macros.m4: Add a comment.
125027 1999-08-01  Paul Eggert  <eggert@twinsun.com>
125029         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
125030         <inttypes.h> defines strtoumax as a macro (and not as a
125031         function).
125033 1999-08-01  Paul Eggert  <eggert@twinsun.com>
125035         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
125036         that we can shift, multiply and divide unsigned long long
125037         values; Ultrix cc can't do it.
125039 1999-08-01  Paul Eggert  <eggert@twinsun.com>
125041         * m4/mktime.m4: New file, which is a preview of what should appear
125042         in the next public autoconf release.
125044 1999-08-01  Paul Eggert  <eggert@twinsun.com>
125046         * m4/lfs.m4: Remove this file.
125047         * m4/largefile.m4: New file.  It contains the old contents of
125048         lfs.m4, except that all names with prefix AC_LFS have been
125049         changed to use the prefix AC_SYS_LARGEFILE instead, to be
125050         compatible with future autoconf versions.  Also, some minor m4
125051         quoting problems have been fixed.
125053 1999-08-01  Paul Eggert  <eggert@twinsun.com>
125055         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
125056         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
125057         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
125058         and simplify the shell code.
125060 1999-08-01  Jim Meyering  <meyering@ascend.com>
125062         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
125063         m4.
125065 1999-07-20  Jim Meyering  <meyering@ascend.com>
125067         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
125069 1999-07-15  Jim Meyering  <meyering@ascend.com>
125071         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
125073 1999-05-22  Jim Meyering  <meyering@ascend.com>
125075         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
125077 1999-05-20  Jim Meyering  <meyering@ascend.com>
125079         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
125080         Add a colon after each `then' in case $4 is empty.
125082 1999-05-16  Jim Meyering  <meyering@ascend.com>
125084         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
125086 1999-05-10  Jim Meyering  <meyering@ascend.com>
125088         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
125090         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
125091         AC_FUNC_MKTIME.
125093 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
125095         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
125097 1999-05-04  Paul Eggert  <eggert@twinsun.com>
125099         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
125100         not CPPFLAGS, so that linking works correctly in IRIX.
125102 1999-04-30  Paul Eggert  <eggert@twinsun.com>
125104         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
125106 1999-04-20  Paul Eggert  <eggert@twinsun.com>
125108         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
125109         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
125110         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
125111         jm_AC_TYPE_UNSIGNED_LONG_LONG.
125112         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
125114         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
125116 1999-04-20  Jim Meyering  <meyering@ascend.com>
125118         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
125119         AC_REPLACE xstroull if necessary.  From Paul Eggert.
125120         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
125122 1999-04-18  Jim Meyering  <meyering@ascend.com>
125124         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
125125         * m4/jm-macros.m4: Use it.
125127 1999-04-06  Jim Meyering  <meyering@ascend.com>
125129         * m4/strftime.m4: Remove test for %f.
125131 1999-03-29  Jim Meyering  <meyering@ascend.com>
125133         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
125134         superset of the AC_TYPE_* checks in the textutils, fileutils,
125135         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
125136         AC_TYPE_PID_T.
125138 1999-03-28  Jim Meyering  <meyering@ascend.com>
125140         * m4/jm-macros.m4: Define GNU_PACKAGE here.
125141         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
125142         replaced e.g., in the *.sh files of the sh-utils.
125144 1999-03-20  Jim Meyering  <meyering@ascend.com>
125146         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
125147         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
125148         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
125150 1999-03-19  Jim Meyering  <meyering@ascend.com>
125152         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
125154 1999-03-12  Jim Meyering  <meyering@ascend.com>
125156         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
125158 1999-03-07  Jim Meyering  <meyering@ascend.com>
125160         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
125161         declared.
125163 1999-02-17  Jim Meyering  <meyering@ascend.com>
125165         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
125166         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
125168 1999-02-07  Jim Meyering  <meyering@ascend.com>
125170         * m4/group-member.m4: New file -- extracted from sh-utils'
125171         configure.in.
125173         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
125174         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
125176 1999-02-06  Jim Meyering  <meyering@ascend.com>
125178         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
125179         * m4/fnmatch.m4: Likewise.
125180         * m4/getgroups.m4: Likewise.
125181         * m4/lstat.m4: Likewise.
125182         * m4/malloc.m4: Likewise.
125183         * m4/putenv.m4: Likewise.
125184         * m4/realloc.m4: Likewise.
125185         * m4/regex.m4: Likewise.
125186         * m4/stat.m4: Likewise.
125187         * m4/strftime.m4: Likewise.
125188         Suggestion from Alain Magloire.
125190         * m4/chown.m4: Use `.$ac_objext', not `.o'.
125191         * m4/fnmatch.m4: Likewise.
125192         * m4/getgroups.m4: Likewise.
125193         * m4/getline.m4: Likewise.
125194         * m4/lstat.m4: Likewise.
125195         * m4/malloc.m4: Likewise.
125196         * m4/memcmp.m4: Likewise.
125197         * m4/putenv.m4: Likewise.
125198         * m4/realloc.m4: Likewise.
125199         * m4/regex.m4: Likewise.
125200         * m4/stat.m4: Likewise.
125201         * m4/strftime.m4: Likewise.
125202         Suggestion from Alain Magloire.
125204         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
125205         an argument.
125207         * m4/regex.m4: Add a run-time Test for proper operation of
125208         re_compile_pattern.
125210 1999-01-31  Jim Meyering  <meyering@ascend.com>
125212         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
125214 1999-01-30  Jim Meyering  <meyering@ascend.com>
125216         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
125218         * m4/jm-mktime.m4: Make this a wrapper around the official
125219         AM_FUNC_MKTIME rather than my private copy, now that the official one
125220         is up to date.
125221         * m4/mktime.m4: Remove file.
125223         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
125224         * m4/uptime.m4: Likewise.
125225         * m4/uintmax_t.m4: Likewise.
125227 1999-01-28  Jim Meyering  <meyering@ascend.com>
125229         * m4/jm-macros.m4: Use jm_AFS.
125230         * m4/afs.m4: New file (from fileutils' configure.in).
125232         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
125233         * m4/chown.m4: Likewise.
125234         * m4/d-ino.m4: Likewise.
125235         * m4/d-type.m4: Likewise.
125236         * m4/fnmatch.m4: Likewise.
125237         * m4/getgroups.m4: Likewise.
125238         * m4/gettext.m4: Likewise.
125239         * m4/jm-mktime.m4: Likewise.
125240         * m4/jm-winsz2.m4: Likewise.
125241         * m4/lcmessage.m4: Likewise.
125242         * m4/ls-mntd-fs.m4: Likewise.
125243         * m4/malloc.m4: Likewise.
125244         * m4/memcmp.m4: Likewise.
125245         * m4/putenv.m4: Likewise.
125246         * m4/realloc.m4: Likewise.
125247         * m4/st_mtim.m4: Likewise.
125248         * m4/strftime.m4: Likewise.
125250 1999-01-16  Jim Meyering  <meyering@ascend.com>
125252         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
125253         (ARGMATCH_DIE_DECL): Define.
125255 1999-01-12  Jim Meyering  <meyering@ascend.com>
125257         * m4/Makefile.am.in: Rewrite to avoid using fmt.
125258         Reported by Lars Hecking.
125260 1999-01-10  Jim Meyering  <meyering@ascend.com>
125262         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
125263         gross kludge.
125264         * m4/inttypes_h.m4: Likewise.
125265         * m4/lstat.m4: Likewise.
125266         * m4/malloc.m4: Likewise.
125267         * m4/readdir.m4: Likewise.
125268         * m4/realloc.m4: Likewise.
125269         * m4/st_dm_mode.m4: Likewise.
125270         * m4/stat.m4: Likewise.
125271         * m4/utimbuf.m4: Likewise.
125272         * m4/utimes.m4: Likewise.
125274         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
125275         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
125276         comments in config.h.in are meaningful.
125278         * m4/jm-macros.m4: Require autoconf-2.13 here.
125280         * m4/regex.m4: By default, don't use the included regex.c on systems
125281         with glibc 2.  Suggestion from Uli Drepper.
125283 1999-01-02  Jim Meyering  <meyering@ascend.com>
125285         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
125287 1998-12-18  Jim Meyering  <meyering@ascend.com>
125289         * m4/Makefile.am.in (Makefile.am): Simplify rule.
125290         Based on a suggestion from Lars Hecking.
125292 1998-11-16  Paul Eggert  <eggert@twinsun.com>
125294         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
125296 1998-11-16  Jim Meyering  <meyering@ascend.com>
125298         * m4/lfs.m4: Double-quote the `uname...` expression.
125300 1998-11-14  Jim Meyering  <meyering@ascend.com>
125302         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
125303         * m4/stat.m4: Likewise.
125305 1998-11-03  Jim Meyering  <meyering@ascend.com>
125307         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
125308         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
125310 1998-10-18  Jim Meyering  <meyering@ascend.com>
125312         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
125314 1998-10-17  Jim Meyering  <meyering@ascend.com>
125316         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
125317         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
125318         calls for those previously hard-coded headers.  Instead, take a new
125319         parameter.
125320         (jm_CHECK_DECLARATIONS): Reflect interface change.
125321         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
125322         (jm_CHECK_DECL_LOCALTIME_R): New macro.
125324         * m4/mktime.m4: Test for spring-forward gap before long-running test.
125326 1998-10-14  Jim Meyering  <meyering@ascend.com>
125328         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
125329         instead of "TZ=America/Vancouver".  From Paul Eggert.
125331 1998-10-11  Jim Meyering  <meyering@ascend.com>
125333         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
125334         This adds a test for a recently added compatibility fix for mktime.c.
125335         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
125337 1998-09-27  Jim Meyering  <meyering@ascend.com>
125339         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
125341         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
125342         ../configure.in, including a change from Gordon Matzigkeit to allow
125343         cross-compiling for the Hurd.
125345         * m4/glibc.m4: New file/macro to test for the GNU C Library
125346         versions 1 and 2.  From Gordon Matzigkeit.
125347         Indent.
125349 1998-09-21  Jim Meyering  <meyering@ascend.com>
125351         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
125353 1998-08-18  Paul Eggert  <eggert@twinsun.com>
125355         Port nanosecond-resolution times to UnixWare 2.1.2 and
125356         pedantic Solaris 2.6.
125358         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
125359         AC_STRUCT_ST_MTIM.
125360         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
125361         Generate name of ns member, instead of just 1 or undef.
125362         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
125364 1998-08-15  Jim Meyering  <meyering@ascend.com>
125366         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
125367         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
125368         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
125369         instead of jm_TYPE_SSIZE_T.
125371 1998-08-12  Jim Meyering  <meyering@ascend.com>
125373         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
125375 1998-08-02  Jim Meyering  <meyering@ascend.com>
125377         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
125378         in acconfig.h manually.
125380 1998-07-31  Paul Eggert  <eggert@twinsun.com>
125382         * m4/st_mtim.m4: New file.
125384 1998-07-28  Jim Meyering  <meyering@ascend.com>
125386         * m4/utimes.m4: Undef stat.
125388 1998-07-25  Jim Meyering  <meyering@ascend.com>
125390         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
125391         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
125393 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
125395         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
125396         uid and gid actually remain unchanged.
125398 1998-07-07  Jim Meyering  <meyering@ascend.com>
125400         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
125402 1998-07-04  Jim Meyering  <meyering@ascend.com>
125404         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
125405         to prove that this macro can be used in packages without regex.c.
125407 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
125409         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
125410         is to be used.
125412 1998-07-03  Jim Meyering  <meyering@ascend.com>
125414         * m4/gettext.m4: Add -lintl if it's found to be necessary.
125416         * m4/gettext.m4: New file -- from gettext-0.10.35.
125417         * m4/lcmessage.m4: Likewise.
125418         * m4/progtest.m4: Likewise.
125420         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
125421         * m4/jm-macros.m4: Require the new macro.
125423 1998-06-29  Jim Meyering  <meyering@ascend.com>
125425         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
125426         for the definition of NGROUPS (used in a system header included
125427         by sys/mount.h).
125429 1998-06-28  Jim Meyering  <meyering@ascend.com>
125431         * m4/ls-mntd-fs.m4: New file.
125432         * m4/fstypename.m4: New file.
125434         * m4/jm-macros.m4: Require the new macro.
125435         * m4/jm-glibc-io.m4: New file.
125437 1998-05-19  Jim Meyering  <meyering@ascend.com>
125439         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
125440         * m4/lchown.m4: New file.
125442         * m4/Makefile.am.in: New file.
125443         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
125445 1998-05-14  Jim Meyering  <meyering@ascend.com>
125447         * m4/Makefile.am (EXTRA_DIST): Add them.
125448         * m4/jm-macros.m4: New file.
125449         * m4/utimbuf.m4: New file.
125451 1998-05-12  Jim Meyering  <meyering@ascend.com>
125453         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
125455 1998-05-11  Jim Meyering  <meyering@ascend.com>
125457         * m4/isc-posix.m4: New file.
125459 1998-05-10  Jim Meyering  <meyering@ascend.com>
125461         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
125463 1998-05-09  Jim Meyering  <meyering@ascend.com>
125465         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
125466         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
125467         with automake.
125469         * m4/ssize_t.m4: New file.
125470         * m4/mktime.m4: Remove file -- the new automake has this now.
125472 1998-04-26  Jim Meyering  <meyering@ascend.com>
125474         * m4/assert.m4: New file.
125475         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
125477 1998-04-05  Jim Meyering  <meyering@ascend.com>
125479         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
125480         (jm_PREREQ): Use it here.
125482 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
125484         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
125485         in acconfig.h.
125487 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
125489         * m4/prereq.m4: New file.
125490         * m4/error.m4: New file.
125491         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
125493 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
125495         * m4/getline.m4: Don't set am_cv_func_working_getline before the
125496         cache-check for the same variable -- that defeated the purpose of
125497         the test; the test program was never run.  This was a problem only
125498         on systems with losing getline functions -- HP-UX 10.20 is one.
125499         Reported by Bjorn Helgaas.
125501 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
125503         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
125505 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
125507         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
125509         * m4/const.m4: New file.  Use an initializer in this declaration
125510         typedef int charset[2]; const charset x;
125511         Reported by Bob Glickstein.
125513 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
125515         * m4/chown.m4: Fix reversed types on -1 args to chown.
125516         From Kaveh Ghazi.
125518 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
125520         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
125521         Add lseek and memchr.
125523         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
125524         T.E.Dickey <dickey@clark.net> said that some older preprocessors
125525         have a 20-character limit on names.
125527 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
125529         * m4/inttypes_h.m4: New file.
125530         * m4/uintmax_t.m4: New file.
125531         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
125534         -----
125536         Local Variables:
125537         coding: utf-8
125538         End:
125540         Copyright (C) 1997-2020 Free Software Foundation, Inc.
125542         Copying and distribution of this file, with or without
125543         modification, are permitted provided the copyright notice
125544         and this notice are preserved.